From 1c066f23e412a67f8f958447b80eb83f75557bdb Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 1 Sep 2005 15:43:12 +0200 Subject: [PATCH] [PATCH] Sync inter processor time Calibrate the time offsets of each processor in an SMP system on boot time to attempt to keep the timestamps offsets in check. --- CHANGELOG | 2 + ...-2.6.13-mm1-A0 => blk-trace-2.6.13-mm1-B0} | 71 ++++++++----------- 2 files changed, 32 insertions(+), 41 deletions(-) rename kernel/{blk-trace-2.6.13-mm1-A0 => blk-trace-2.6.13-mm1-B0} (78%) diff --git a/CHANGELOG b/CHANGELOG index 377369c..6fc87f4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +20050901: + - Update kernel patch 20050830: - Added argument parsing - Added action mask set up diff --git a/kernel/blk-trace-2.6.13-mm1-A0 b/kernel/blk-trace-2.6.13-mm1-B0 similarity index 78% rename from kernel/blk-trace-2.6.13-mm1-A0 rename to kernel/blk-trace-2.6.13-mm1-B0 index 70e7356..4d00ba7 100644 --- a/kernel/blk-trace-2.6.13-mm1-A0 +++ b/kernel/blk-trace-2.6.13-mm1-B0 @@ -1,7 +1,7 @@ -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/blktrace.c linux-2.6.13-rc6-mm2/drivers/block/blktrace.c ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/blktrace.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.13-rc6-mm2/drivers/block/blktrace.c 2005-08-30 20:56:43.000000000 +0200 -@@ -0,0 +1,184 @@ +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/blktrace.c linux-2.6.13-mm1/drivers/block/blktrace.c +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/blktrace.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.13-mm1/drivers/block/blktrace.c 2005-09-01 14:54:51.000000000 +0200 +@@ -0,0 +1,173 @@ +#include +#include +#include @@ -158,24 +158,13 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. + +static int blk_trace_calibrate_offsets(void) +{ -+ int cpus = num_online_cpus(); + unsigned long flags; -+ long long *time_offset; + -+ time_offset = kmalloc(cpus * sizeof(long long), GFP_KERNEL); -+ if (!time_offset) { -+ printk(KERN_ERR "blktrace: time offsets will be unreliable\n"); -+ return -ENOMEM; -+ } -+ -+ memset(time_offset, 0, cpus * sizeof(long long)); -+ -+ smp_call_function(blk_trace_check_cpu_time, time_offset, 1, 1); ++ smp_call_function(blk_trace_check_cpu_time, NULL, 1, 1); + local_irq_save(flags); -+ blk_trace_check_cpu_time(time_offset); ++ blk_trace_check_cpu_time(NULL); + local_irq_restore(flags); + -+ kfree(time_offset); + return 0; +} + @@ -186,9 +175,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. + +module_init(blk_trace_init); + -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/elevator.c linux-2.6.13-rc6-mm2/drivers/block/elevator.c ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/elevator.c 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/drivers/block/elevator.c 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/elevator.c linux-2.6.13-mm1/drivers/block/elevator.c +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/elevator.c 2005-09-01 13:07:30.000000000 +0200 ++++ linux-2.6.13-mm1/drivers/block/elevator.c 2005-09-01 13:08:42.000000000 +0200 @@ -34,6 +34,7 @@ #include #include @@ -207,9 +196,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. /* * just mark as started even if we don't start it, a request * that has been delayed should not be passed by new incoming -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/ioctl.c linux-2.6.13-rc6-mm2/drivers/block/ioctl.c ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/ioctl.c 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/drivers/block/ioctl.c 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/ioctl.c linux-2.6.13-mm1/drivers/block/ioctl.c +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/ioctl.c 2005-09-01 13:07:30.000000000 +0200 ++++ linux-2.6.13-mm1/drivers/block/ioctl.c 2005-09-01 13:08:42.000000000 +0200 @@ -4,6 +4,7 @@ #include #include @@ -229,9 +218,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. } return -ENOIOCTLCMD; } -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/Kconfig linux-2.6.13-rc6-mm2/drivers/block/Kconfig ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/Kconfig 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/drivers/block/Kconfig 2005-08-29 08:00:42.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/Kconfig linux-2.6.13-mm1/drivers/block/Kconfig +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/Kconfig 2005-09-01 13:07:30.000000000 +0200 ++++ linux-2.6.13-mm1/drivers/block/Kconfig 2005-09-01 13:08:42.000000000 +0200 @@ -419,6 +419,14 @@ config LBD your machine, or if you want to have a raid or loopback device bigger than 2TB. Otherwise say N. @@ -247,9 +236,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. config CDROM_PKTCDVD tristate "Packet writing on CD/DVD media" depends on !UML -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/ll_rw_blk.c linux-2.6.13-rc6-mm2/drivers/block/ll_rw_blk.c ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/ll_rw_blk.c 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/drivers/block/ll_rw_blk.c 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/ll_rw_blk.c linux-2.6.13-mm1/drivers/block/ll_rw_blk.c +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/ll_rw_blk.c 2005-09-01 13:07:30.000000000 +0200 ++++ linux-2.6.13-mm1/drivers/block/ll_rw_blk.c 2005-09-01 13:08:42.000000000 +0200 @@ -29,6 +29,7 @@ #include #include @@ -345,18 +334,18 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. /* * extend uptodate bool to allow < 0 value to be direct io error */ -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/Makefile linux-2.6.13-rc6-mm2/drivers/block/Makefile ---- /opt/kernel/linux-2.6.13-rc6-mm2/drivers/block/Makefile 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/drivers/block/Makefile 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/drivers/block/Makefile linux-2.6.13-mm1/drivers/block/Makefile +--- /opt/kernel/linux-2.6.13-mm1/drivers/block/Makefile 2005-09-01 13:07:30.000000000 +0200 ++++ linux-2.6.13-mm1/drivers/block/Makefile 2005-09-01 13:08:42.000000000 +0200 @@ -45,3 +45,5 @@ obj-$(CONFIG_VIODASD) += viodasd.o obj-$(CONFIG_BLK_DEV_SX8) += sx8.o obj-$(CONFIG_BLK_DEV_UB) += ub.o +obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o + -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/blkdev.h linux-2.6.13-rc6-mm2/include/linux/blkdev.h ---- /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/blkdev.h 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/include/linux/blkdev.h 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/include/linux/blkdev.h linux-2.6.13-mm1/include/linux/blkdev.h +--- /opt/kernel/linux-2.6.13-mm1/include/linux/blkdev.h 2005-09-01 13:07:53.000000000 +0200 ++++ linux-2.6.13-mm1/include/linux/blkdev.h 2005-09-01 13:08:42.000000000 +0200 @@ -22,6 +22,7 @@ typedef struct request_queue request_que struct elevator_queue; typedef struct elevator_queue elevator_t; @@ -374,9 +363,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. }; enum { -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/blktrace.h linux-2.6.13-rc6-mm2/include/linux/blktrace.h ---- /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/blktrace.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.13-rc6-mm2/include/linux/blktrace.h 2005-08-30 09:57:59.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/include/linux/blktrace.h linux-2.6.13-mm1/include/linux/blktrace.h +--- /opt/kernel/linux-2.6.13-mm1/include/linux/blktrace.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.13-mm1/include/linux/blktrace.h 2005-09-01 13:08:42.000000000 +0200 @@ -0,0 +1,145 @@ +#ifndef BLKTRACE_H +#define BLKTRACE_H @@ -523,9 +512,9 @@ diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6. +#endif /* CONFIG_BLK_DEV_IO_TRACE */ + +#endif -diff -urpN -X linux-2.6.13-rc6-mm2/Documentation/dontdiff /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/fs.h linux-2.6.13-rc6-mm2/include/linux/fs.h ---- /opt/kernel/linux-2.6.13-rc6-mm2/include/linux/fs.h 2005-08-30 20:55:03.000000000 +0200 -+++ linux-2.6.13-rc6-mm2/include/linux/fs.h 2005-08-26 11:03:38.000000000 +0200 +diff -urpN -X linux-2.6.13-mm1/Documentation/dontdiff /opt/kernel/linux-2.6.13-mm1/include/linux/fs.h linux-2.6.13-mm1/include/linux/fs.h +--- /opt/kernel/linux-2.6.13-mm1/include/linux/fs.h 2005-09-01 13:07:53.000000000 +0200 ++++ linux-2.6.13-mm1/include/linux/fs.h 2005-09-01 13:08:42.000000000 +0200 @@ -196,6 +196,8 @@ extern int dir_notify_enable; #define BLKBSZGET _IOR(0x12,112,size_t) #define BLKBSZSET _IOW(0x12,113,size_t) -- 2.25.1