* [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
@ 2009-08-14 13:47 Martin Schwidefsky
2009-08-14 13:47 ` [patch 01/15] introduce timekeeping_leap_insert Martin Schwidefsky
` (17 more replies)
0 siblings, 18 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Thomas Gleixner, john stultz
Greetings,
version 4 of the clocksource / timekeeping cleanup patches. If you
wonder why version 3 did not show up on the mailing list: I had a
hiccup with quilt which did strange things to the message ids and
the post to lkml got rejected. Sorry for the spamming of the people
on Cc.
John pointed out a subtle bug in v3 of the patch set with the reset of
the cycle_last value in timekeeping_resume. Fixed in v4.
The latest additions are:
1) Change read_persistent_clock to return a struct timespec instead of
an unsigned long with the number of seconds.
2) Introduce read_boot_clock to initialize wall_to_monotonic.
3) Move the reset of cycle_last to zero from the timekeeping code to
the TSC code.
The patch set is based on todays upstream tree plus the patches from
the tip tree, if anyone wants to try them you need to pull from the
master branch of
git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
Keeping the fingers crossed that this is now really done.
John already gave his thumbs up for the patch series, so the next
logical question is who is going to sit on the patches until the merge
window is opened? I can certainly create a git branch on git390 for
them, but the patches depend on some patches in the x86-tip tree.
Thomas, any thoughts?
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 01/15] introduce timekeeping_leap_insert
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Introduce timekeeping_leap_insert tip-bot for John Stultz
2009-08-14 13:47 ` [patch 02/15] remove clocksource inline functions Martin Schwidefsky
` (16 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Martin Schwidefsky
[-- Attachment #1: leap_insert.diff --]
[-- Type: text/plain, Size: 2321 bytes --]
From: john stultz <johnstul@us.ibm.com>
Signed-off-by: john stultz <johnstul@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
include/linux/time.h | 1 +
kernel/time/ntp.c | 7 ++-----
kernel/time/timekeeping.c | 7 +++++++
3 files changed, 10 insertions(+), 5 deletions(-)
Index: linux-2.6/include/linux/time.h
===================================================================
--- linux-2.6.orig/include/linux/time.h
+++ linux-2.6/include/linux/time.h
@@ -147,6 +147,7 @@ extern struct timespec timespec_trunc(st
extern int timekeeping_valid_for_hres(void);
extern void update_wall_time(void);
extern void update_xtime_cache(u64 nsec);
+extern void timekeeping_leap_insert(int leapsecond);
struct tms;
extern void do_sys_times(struct tms *);
Index: linux-2.6/kernel/time/ntp.c
===================================================================
--- linux-2.6.orig/kernel/time/ntp.c
+++ linux-2.6/kernel/time/ntp.c
@@ -194,8 +194,7 @@ static enum hrtimer_restart ntp_leap_sec
case TIME_OK:
break;
case TIME_INS:
- xtime.tv_sec--;
- wall_to_monotonic.tv_sec++;
+ timekeeping_leap_insert(-1);
time_state = TIME_OOP;
printk(KERN_NOTICE
"Clock: inserting leap second 23:59:60 UTC\n");
@@ -203,9 +202,8 @@ static enum hrtimer_restart ntp_leap_sec
res = HRTIMER_RESTART;
break;
case TIME_DEL:
- xtime.tv_sec++;
+ timekeeping_leap_insert(1);
time_tai--;
- wall_to_monotonic.tv_sec--;
time_state = TIME_WAIT;
printk(KERN_NOTICE
"Clock: deleting leap second 23:59:59 UTC\n");
@@ -219,7 +217,6 @@ static enum hrtimer_restart ntp_leap_sec
time_state = TIME_OK;
break;
}
- update_vsyscall(&xtime, clock);
write_sequnlock(&xtime_lock);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -58,6 +58,13 @@ void update_xtime_cache(u64 nsec)
struct clocksource *clock;
+/* must hold xtime_lock */
+void timekeeping_leap_insert(int leapsecond)
+{
+ xtime.tv_sec += leapsecond;
+ wall_to_monotonic.tv_sec -= leapsecond;
+ update_vsyscall(&xtime, clock);
+}
#ifdef CONFIG_GENERIC_TIME
/**
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 02/15] remove clocksource inline functions
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
2009-08-14 13:47 ` [patch 01/15] introduce timekeeping_leap_insert Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Remove " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 03/15] reset of cycle_last for tsc clocksource Martin Schwidefsky
` (15 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: clocksource-inline.diff --]
[-- Type: text/plain, Size: 6575 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The three inline functions clocksource_read, clocksource_enable
and clocksource_disable are simple wrappers of an indirect call
plus the copy from and to the mult_orig value. The functions
are exclusively used by the timekeeping code which has intimate
knowledge of the clocksource anyway. Therefore remove the inline
functions. No functional change.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Walker <dwalker@fifo99.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
include/linux/clocksource.h | 58 --------------------------------------------
kernel/time/timekeeping.c | 41 +++++++++++++++++++++----------
2 files changed, 28 insertions(+), 71 deletions(-)
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -79,7 +79,7 @@ static void clocksource_forward_now(void
cycle_t cycle_now, cycle_delta;
s64 nsec;
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
@@ -114,7 +114,7 @@ void getnstimeofday(struct timespec *ts)
*ts = xtime;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -146,7 +146,7 @@ ktime_t ktime_get(void)
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -186,7 +186,7 @@ void ktime_get_ts(struct timespec *ts)
tomono = wall_to_monotonic;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -274,16 +274,29 @@ static void change_clocksource(void)
clocksource_forward_now();
- if (clocksource_enable(new))
+ if (new->enable && ! new->enable(new))
return;
+ /*
+ * The frequency may have changed while the clocksource
+ * was disabled. If so the code in ->enable() must update
+ * the mult value to reflect the new frequency. Make sure
+ * mult_orig follows this change.
+ */
+ new->mult_orig = new->mult;
new->raw_time = clock->raw_time;
old = clock;
clock = new;
- clocksource_disable(old);
+ /*
+ * Save mult_orig in mult so that the value can be restored
+ * regardless if ->enable() updates the value of mult or not.
+ */
+ old->mult = old->mult_orig;
+ if (old->disable)
+ old->disable(old);
clock->cycle_last = 0;
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
clock->error = 0;
clock->xtime_nsec = 0;
clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
@@ -373,7 +386,7 @@ void getrawmonotonic(struct timespec *ts
seq = read_seqbegin(&xtime_lock);
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -435,9 +448,12 @@ void __init timekeeping_init(void)
ntp_init();
clock = clocksource_get_next();
- clocksource_enable(clock);
+ if (clock->enable)
+ clock->enable(clock);
+ /* set mult_orig on enable */
+ clock->mult_orig = clock->mult;
clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
@@ -477,8 +493,7 @@ static int timekeeping_resume(struct sys
}
update_xtime_cache(0);
/* re-base the last cycle value */
- clock->cycle_last = 0;
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
clock->error = 0;
timekeeping_suspended = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -630,7 +645,7 @@ void update_wall_time(void)
return;
#ifdef CONFIG_GENERIC_TIME
- offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask;
+ offset = (clock->read(clock) - clock->cycle_last) & clock->mask;
#else
offset = clock->cycle_interval;
#endif
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -268,64 +268,6 @@ static inline u32 clocksource_hz2mult(u3
}
/**
- * clocksource_read: - Access the clocksource's current cycle value
- * @cs: pointer to clocksource being read
- *
- * Uses the clocksource to return the current cycle_t value
- */
-static inline cycle_t clocksource_read(struct clocksource *cs)
-{
- return cs->read(cs);
-}
-
-/**
- * clocksource_enable: - enable clocksource
- * @cs: pointer to clocksource
- *
- * Enables the specified clocksource. The clocksource callback
- * function should start up the hardware and setup mult and field
- * members of struct clocksource to reflect hardware capabilities.
- */
-static inline int clocksource_enable(struct clocksource *cs)
-{
- int ret = 0;
-
- if (cs->enable)
- ret = cs->enable(cs);
-
- /*
- * The frequency may have changed while the clocksource
- * was disabled. If so the code in ->enable() must update
- * the mult value to reflect the new frequency. Make sure
- * mult_orig follows this change.
- */
- cs->mult_orig = cs->mult;
-
- return ret;
-}
-
-/**
- * clocksource_disable: - disable clocksource
- * @cs: pointer to clocksource
- *
- * Disables the specified clocksource. The clocksource callback
- * function should power down the now unused hardware block to
- * save power.
- */
-static inline void clocksource_disable(struct clocksource *cs)
-{
- /*
- * Save mult_orig in mult so clocksource_enable() can
- * restore the value regardless if ->enable() updates
- * the value of mult or not.
- */
- cs->mult = cs->mult_orig;
-
- if (cs->disable)
- cs->disable(cs);
-}
-
-/**
* cyc2ns - converts clocksource cycles to nanoseconds
* @cs: Pointer to clocksource
* @cycles: Cycles
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 03/15] reset of cycle_last for tsc clocksource
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
2009-08-14 13:47 ` [patch 01/15] introduce timekeeping_leap_insert Martin Schwidefsky
2009-08-14 13:47 ` [patch 02/15] remove clocksource inline functions Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Move reset of cycle_last for tsc clocksource to tsc tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 04/15] cleanup clocksource selection Martin Schwidefsky
` (14 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: clocksource-resume-tsc.diff --]
[-- Type: text/plain, Size: 1819 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
change_clocksource resets the cycle_last value to zero then sets
it to a value read from the clocksource. The reset to zero is
required only for the TSC clocksource to make the read_tsc function
work. This is subtle and surprising. Move the reset to a resume
function in the tsc code.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: John Stultz <johnstul@us.ibm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/x86/kernel/tsc.c | 6 ++++++
kernel/time/timekeeping.c | 1 -
2 files changed, 6 insertions(+), 1 deletion(-)
Index: linux-2.6/arch/x86/kernel/tsc.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/tsc.c
+++ linux-2.6/arch/x86/kernel/tsc.c
@@ -744,10 +744,16 @@ static cycle_t __vsyscall_fn vread_tsc(v
}
#endif
+static void resume_tsc(void)
+{
+ clocksource_tsc.cycle_last = 0;
+}
+
static struct clocksource clocksource_tsc = {
.name = "tsc",
.rating = 300,
.read = read_tsc,
+ .resume = resume_tsc,
.mask = CLOCKSOURCE_MASK(64),
.shift = 22,
.flags = CLOCK_SOURCE_IS_CONTINUOUS |
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -295,7 +295,6 @@ static void change_clocksource(void)
if (old->disable)
old->disable(old);
- clock->cycle_last = 0;
clock->cycle_last = clock->read(clock);
clock->error = 0;
clock->xtime_nsec = 0;
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 04/15] cleanup clocksource selection
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (2 preceding siblings ...)
2009-08-14 13:47 ` [patch 03/15] reset of cycle_last for tsc clocksource Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 1:42 ` john stultz
2009-08-15 9:02 ` [tip:timers/core] clocksource: Cleanup " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 05/15] clocksource watchdog highres enablement Martin Schwidefsky
` (13 subsequent siblings)
17 siblings, 2 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: clocksource-select.diff --]
[-- Type: text/plain, Size: 10654 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
If a non high-resolution clocksource is first set as override clock
and then registered it becomes active even if the system is in
on-shot mode. Move the override check from sysfs_override_clocksource
to the clocksource selection. That fixes the bug and simplifies the
code. The check in clocksource_register for double registration of
the same clocksource is removed without replacement.
To find the initial clocksource a new weak function in jiffies.c is
defined that returns the jiffies clocksource. The architecture code
can then override the weak function with a more suitable clocksource,
e.g. the TOD clock on s390.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/s390/kernel/time.c | 4 +
include/linux/clocksource.h | 2
kernel/time/clocksource.c | 138 ++++++++++++++++----------------------------
kernel/time/jiffies.c | 6 +
kernel/time/timekeeping.c | 4 -
5 files changed, 65 insertions(+), 89 deletions(-)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -21,7 +21,6 @@
*
* TODO WishList:
* o Allow clocksource drivers to be unregistered
- * o get rid of clocksource_jiffies extern
*/
#include <linux/clocksource.h>
@@ -107,12 +106,9 @@ u64 timecounter_cyc2time(struct timecoun
}
EXPORT_SYMBOL(timecounter_cyc2time);
-/* XXX - Would like a better way for initializing curr_clocksource */
-extern struct clocksource clocksource_jiffies;
-
/*[Clocksource internal variables]---------
* curr_clocksource:
- * currently selected clocksource. Initialized to clocksource_jiffies.
+ * currently selected clocksource.
* next_clocksource:
* pending next selected clocksource.
* clocksource_list:
@@ -123,9 +119,8 @@ extern struct clocksource clocksource_ji
* override_name:
* Name of the user-specified clocksource.
*/
-static struct clocksource *curr_clocksource = &clocksource_jiffies;
+static struct clocksource *curr_clocksource;
static struct clocksource *next_clocksource;
-static struct clocksource *clocksource_override;
static LIST_HEAD(clocksource_list);
static DEFINE_SPINLOCK(clocksource_lock);
static char override_name[32];
@@ -320,6 +315,7 @@ void clocksource_touch_watchdog(void)
clocksource_resume_watchdog();
}
+#ifdef CONFIG_GENERIC_TIME
/**
* clocksource_get_next - Returns the selected clocksource
*
@@ -339,56 +335,65 @@ struct clocksource *clocksource_get_next
}
/**
- * select_clocksource - Selects the best registered clocksource.
+ * clocksource_select - Select the best clocksource available
*
* Private function. Must hold clocksource_lock when called.
*
* Select the clocksource with the best rating, or the clocksource,
* which is selected by userspace override.
*/
-static struct clocksource *select_clocksource(void)
+static void clocksource_select(void)
{
- struct clocksource *next;
+ struct clocksource *best, *cs;
if (list_empty(&clocksource_list))
- return NULL;
+ return;
+ /* First clocksource on the list has the best rating. */
+ best = list_first_entry(&clocksource_list, struct clocksource, list);
+ /* Check for the override clocksource. */
+ list_for_each_entry(cs, &clocksource_list, list) {
+ if (strcmp(cs->name, override_name) != 0)
+ continue;
+ /*
+ * Check to make sure we don't switch to a non-highres
+ * capable clocksource if the tick code is in oneshot
+ * mode (highres or nohz)
+ */
+ if (!(cs->flags & CLOCK_SOURCE_VALID_FOR_HRES) &&
+ tick_oneshot_mode_active()) {
+ /* Override clocksource cannot be used. */
+ printk(KERN_WARNING "Override clocksource %s is not "
+ "HRT compatible. Cannot switch while in "
+ "HRT/NOHZ mode\n", cs->name);
+ override_name[0] = 0;
+ } else
+ /* Override clocksource can be used. */
+ best = cs;
+ break;
+ }
+ if (curr_clocksource != best)
+ next_clocksource = best;
+}
- if (clocksource_override)
- next = clocksource_override;
- else
- next = list_entry(clocksource_list.next, struct clocksource,
- list);
+#else /* CONFIG_GENERIC_TIME */
- if (next == curr_clocksource)
- return NULL;
+static void clocksource_select(void) { }
- return next;
-}
+#endif
/*
* Enqueue the clocksource sorted by rating
*/
-static int clocksource_enqueue(struct clocksource *c)
+static void clocksource_enqueue(struct clocksource *cs)
{
- struct list_head *tmp, *entry = &clocksource_list;
-
- list_for_each(tmp, &clocksource_list) {
- struct clocksource *cs;
+ struct list_head *entry = &clocksource_list;
+ struct clocksource *tmp;
- cs = list_entry(tmp, struct clocksource, list);
- if (cs == c)
- return -EBUSY;
+ list_for_each_entry(tmp, &clocksource_list, list)
/* Keep track of the place, where to insert */
- if (cs->rating >= c->rating)
- entry = tmp;
- }
- list_add(&c->list, entry);
-
- if (strlen(c->name) == strlen(override_name) &&
- !strcmp(c->name, override_name))
- clocksource_override = c;
-
- return 0;
+ if (tmp->rating >= cs->rating)
+ entry = &tmp->list;
+ list_add(&cs->list, entry);
}
/**
@@ -397,19 +402,16 @@ static int clocksource_enqueue(struct cl
*
* Returns -EBUSY if registration fails, zero otherwise.
*/
-int clocksource_register(struct clocksource *c)
+int clocksource_register(struct clocksource *cs)
{
unsigned long flags;
- int ret;
spin_lock_irqsave(&clocksource_lock, flags);
- ret = clocksource_enqueue(c);
- if (!ret)
- next_clocksource = select_clocksource();
+ clocksource_enqueue(cs);
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
- if (!ret)
- clocksource_check_watchdog(c);
- return ret;
+ clocksource_check_watchdog(cs);
+ return 0;
}
EXPORT_SYMBOL(clocksource_register);
@@ -425,7 +427,7 @@ void clocksource_change_rating(struct cl
list_del(&cs->list);
cs->rating = rating;
clocksource_enqueue(cs);
- next_clocksource = select_clocksource();
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
@@ -438,9 +440,7 @@ void clocksource_unregister(struct clock
spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
- if (clocksource_override == cs)
- clocksource_override = NULL;
- next_clocksource = select_clocksource();
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
@@ -478,10 +478,6 @@ static ssize_t sysfs_override_clocksourc
struct sysdev_attribute *attr,
const char *buf, size_t count)
{
- struct clocksource *ovr = NULL;
- size_t ret = count;
- int len;
-
/* strings from sysfs write are not 0 terminated! */
if (count >= sizeof(override_name))
return -EINVAL;
@@ -495,41 +491,11 @@ static ssize_t sysfs_override_clocksourc
if (count > 0)
memcpy(override_name, buf, count);
override_name[count] = 0;
-
- len = strlen(override_name);
- if (len) {
- struct clocksource *cs;
-
- ovr = clocksource_override;
- /* try to select it: */
- list_for_each_entry(cs, &clocksource_list, list) {
- if (strlen(cs->name) == len &&
- !strcmp(cs->name, override_name))
- ovr = cs;
- }
- }
-
- /*
- * Check to make sure we don't switch to a non-highres capable
- * clocksource if the tick code is in oneshot mode (highres or nohz)
- */
- if (tick_oneshot_mode_active() && ovr &&
- !(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) {
- printk(KERN_WARNING "%s clocksource is not HRT compatible. "
- "Cannot switch while in HRT/NOHZ mode\n", ovr->name);
- ovr = NULL;
- override_name[0] = 0;
- }
-
- /* Reselect, when the override name has changed */
- if (ovr != clocksource_override) {
- clocksource_override = ovr;
- next_clocksource = select_clocksource();
- }
+ clocksource_select();
spin_unlock_irq(&clocksource_lock);
- return ret;
+ return count;
}
/**
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -14,6 +14,7 @@
#include <linux/list.h>
#include <linux/cache.h>
#include <linux/timer.h>
+#include <linux/init.h>
#include <asm/div64.h>
#include <asm/io.h>
@@ -322,6 +323,7 @@ extern void clocksource_touch_watchdog(v
extern struct clocksource* clocksource_get_next(void);
extern void clocksource_change_rating(struct clocksource *cs, int rating);
extern void clocksource_resume(void);
+extern struct clocksource * __init __weak clocksource_default_clock(void);
#ifdef CONFIG_GENERIC_TIME_VSYSCALL
extern void update_vsyscall(struct timespec *ts, struct clocksource *c);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -269,7 +269,7 @@ static void change_clocksource(void)
new = clocksource_get_next();
- if (clock == new)
+ if (!new || clock == new)
return;
clocksource_forward_now();
@@ -446,7 +446,7 @@ void __init timekeeping_init(void)
ntp_init();
- clock = clocksource_get_next();
+ clock = clocksource_default_clock();
if (clock->enable)
clock->enable(clock);
/* set mult_orig on enable */
Index: linux-2.6/kernel/time/jiffies.c
===================================================================
--- linux-2.6.orig/kernel/time/jiffies.c
+++ linux-2.6/kernel/time/jiffies.c
@@ -61,7 +61,6 @@ struct clocksource clocksource_jiffies =
.read = jiffies_read,
.mask = 0xffffffff, /*32bits*/
.mult = NSEC_PER_JIFFY << JIFFIES_SHIFT, /* details above */
- .mult_orig = NSEC_PER_JIFFY << JIFFIES_SHIFT,
.shift = JIFFIES_SHIFT,
};
@@ -71,3 +70,8 @@ static int __init init_jiffies_clocksour
}
core_initcall(init_jiffies_clocksource);
+
+struct clocksource * __init __weak clocksource_default_clock(void)
+{
+ return &clocksource_jiffies;
+}
Index: linux-2.6/arch/s390/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/s390/kernel/time.c
+++ linux-2.6/arch/s390/kernel/time.c
@@ -205,6 +205,10 @@ static struct clocksource clocksource_to
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};
+struct clocksource * __init clocksource_default_clock(void)
+{
+ return &clocksource_tod;
+}
void update_vsyscall(struct timespec *wall_time, struct clocksource *clock)
{
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 05/15] clocksource watchdog highres enablement
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (3 preceding siblings ...)
2009-08-14 13:47 ` [patch 04/15] cleanup clocksource selection Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Delay " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 06/15] clocksource watchdog resume logic Martin Schwidefsky
` (12 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: watchdog-highres.diff --]
[-- Type: text/plain, Size: 3178 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The clocksource watchdog marks a clock as highres capable before it
checked the deviation from the watchdog clocksource even for a single
time. Make sure that the deviation is at least checked once before
doing the switch to highres mode.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/clocksource.c | 47 +++++++++++++++++++++-------------------------
1 file changed, 22 insertions(+), 25 deletions(-)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -153,11 +153,8 @@ static unsigned long watchdog_resumed;
#define WATCHDOG_INTERVAL (HZ >> 1)
#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 4)
-static void clocksource_ratewd(struct clocksource *cs, int64_t delta)
+static void clocksource_unstable(struct clocksource *cs, int64_t delta)
{
- if (delta > -WATCHDOG_THRESHOLD && delta < WATCHDOG_THRESHOLD)
- return;
-
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
cs->name, delta);
cs->flags &= ~(CLOCK_SOURCE_VALID_FOR_HRES | CLOCK_SOURCE_WATCHDOG);
@@ -183,31 +180,31 @@ static void clocksource_watchdog(unsigne
list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list) {
csnow = cs->read(cs);
- if (unlikely(resumed)) {
+ /* Clocksource initialized ? */
+ if (!(cs->flags & CLOCK_SOURCE_WATCHDOG)) {
+ cs->flags |= CLOCK_SOURCE_WATCHDOG;
cs->wd_last = csnow;
continue;
}
- /* Initialized ? */
- if (!(cs->flags & CLOCK_SOURCE_WATCHDOG)) {
- if ((cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) &&
- (watchdog->flags & CLOCK_SOURCE_IS_CONTINUOUS)) {
- cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
- /*
- * We just marked the clocksource as
- * highres-capable, notify the rest of the
- * system as well so that we transition
- * into high-res mode:
- */
- tick_clock_notify();
- }
- cs->flags |= CLOCK_SOURCE_WATCHDOG;
- cs->wd_last = csnow;
- } else {
- cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
- cs->wd_last = csnow;
- /* Check the delta. Might remove from the list ! */
- clocksource_ratewd(cs, cs_nsec - wd_nsec);
+ /* Check the deviation from the watchdog clocksource. */
+ cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
+ cs->wd_last = csnow;
+ if (abs(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD) {
+ clocksource_unstable(cs, cs_nsec - wd_nsec);
+ continue;
+ }
+
+ if (!(cs->flags & CLOCK_SOURCE_VALID_FOR_HRES) &&
+ (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) &&
+ (watchdog->flags & CLOCK_SOURCE_IS_CONTINUOUS)) {
+ cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
+ /*
+ * We just marked the clocksource as highres-capable,
+ * notify the rest of the system as well so that we
+ * transition into high-res mode:
+ */
+ tick_clock_notify();
}
}
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 06/15] clocksource watchdog resume logic
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (4 preceding siblings ...)
2009-08-14 13:47 ` [patch 05/15] clocksource watchdog highres enablement Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Simplify " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 07/15] clocksource watchdog refactoring Martin Schwidefsky
` (11 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: watchdog-resume.diff --]
[-- Type: text/plain, Size: 2478 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
To resume the clocksource watchdog just remove the CLOCK_SOURCE_WATCHDOG
bit from the watched clocksource.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/clocksource.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -145,7 +145,6 @@ static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
-static unsigned long watchdog_resumed;
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -167,12 +166,9 @@ static void clocksource_watchdog(unsigne
struct clocksource *cs, *tmp;
cycle_t csnow, wdnow;
int64_t wd_nsec, cs_nsec;
- int resumed;
spin_lock(&watchdog_lock);
- resumed = test_and_clear_bit(0, &watchdog_resumed);
-
wdnow = watchdog->read(watchdog);
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
watchdog_last = wdnow;
@@ -223,14 +219,26 @@ static void clocksource_watchdog(unsigne
}
spin_unlock(&watchdog_lock);
}
+
+static inline void clocksource_reset_watchdog(void)
+{
+ struct clocksource *cs;
+
+ list_for_each_entry(cs, &watchdog_list, wd_list)
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
+}
+
static void clocksource_resume_watchdog(void)
{
- set_bit(0, &watchdog_resumed);
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ clocksource_reset_watchdog();
+ spin_unlock_irqrestore(&watchdog_lock, flags);
}
static void clocksource_check_watchdog(struct clocksource *cs)
{
- struct clocksource *cse;
unsigned long flags;
spin_lock_irqsave(&watchdog_lock, flags);
@@ -256,8 +264,7 @@ static void clocksource_check_watchdog(s
watchdog_timer.function = clocksource_watchdog;
/* Reset watchdog cycles */
- list_for_each_entry(cse, &watchdog_list, wd_list)
- cse->flags &= ~CLOCK_SOURCE_WATCHDOG;
+ clocksource_reset_watchdog();
/* Start if list is not empty */
if (!list_empty(&watchdog_list)) {
watchdog_last = watchdog->read(watchdog);
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 07/15] clocksource watchdog refactoring
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (5 preceding siblings ...)
2009-08-14 13:47 ` [patch 06/15] clocksource watchdog resume logic Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Refactor clocksource watchdog tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 08/15] clocksource watchdog work Martin Schwidefsky
` (10 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: watchdog-refactor.diff --]
[-- Type: text/plain, Size: 6283 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Refactor clocksource watchdog code to make it more readable. Add
clocksource_dequeue_watchdog to remove a clocksource from the
watckdog list when it is unregistered.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/clocksource.c | 97 ++++++++++++++++++++++++++++++++--------------
1 file changed, 69 insertions(+), 28 deletions(-)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -145,6 +145,7 @@ static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
+static int watchdog_running;
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -168,6 +169,8 @@ static void clocksource_watchdog(unsigne
int64_t wd_nsec, cs_nsec;
spin_lock(&watchdog_lock);
+ if (!watchdog_running)
+ goto out;
wdnow = watchdog->read(watchdog);
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
@@ -217,9 +220,30 @@ static void clocksource_watchdog(unsigne
watchdog_timer.expires += WATCHDOG_INTERVAL;
add_timer_on(&watchdog_timer, next_cpu);
}
+out:
spin_unlock(&watchdog_lock);
}
+static inline void clocksource_start_watchdog(void)
+{
+ if (watchdog_running || !watchdog || list_empty(&watchdog_list))
+ return;
+ init_timer(&watchdog_timer);
+ watchdog_timer.function = clocksource_watchdog;
+ watchdog_last = watchdog->read(watchdog);
+ watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL;
+ add_timer_on(&watchdog_timer, cpumask_first(cpu_online_mask));
+ watchdog_running = 1;
+}
+
+static inline void clocksource_stop_watchdog(void)
+{
+ if (!watchdog_running || (watchdog && !list_empty(&watchdog_list)))
+ return;
+ del_timer(&watchdog_timer);
+ watchdog_running = 0;
+}
+
static inline void clocksource_reset_watchdog(void)
{
struct clocksource *cs;
@@ -237,55 +261,70 @@ static void clocksource_resume_watchdog(
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-static void clocksource_check_watchdog(struct clocksource *cs)
+static void clocksource_enqueue_watchdog(struct clocksource *cs)
{
unsigned long flags;
spin_lock_irqsave(&watchdog_lock, flags);
if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
- int started = !list_empty(&watchdog_list);
-
+ /* cs is a clocksource to be watched. */
list_add(&cs->wd_list, &watchdog_list);
- if (!started && watchdog) {
- watchdog_last = watchdog->read(watchdog);
- watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer,
- cpumask_first(cpu_online_mask));
- }
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
} else {
+ /* cs is a watchdog. */
if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
-
+ /* Pick the best watchdog. */
if (!watchdog || cs->rating > watchdog->rating) {
- if (watchdog)
- del_timer(&watchdog_timer);
watchdog = cs;
- init_timer(&watchdog_timer);
- watchdog_timer.function = clocksource_watchdog;
-
/* Reset watchdog cycles */
clocksource_reset_watchdog();
- /* Start if list is not empty */
- if (!list_empty(&watchdog_list)) {
- watchdog_last = watchdog->read(watchdog);
- watchdog_timer.expires =
- jiffies + WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer,
- cpumask_first(cpu_online_mask));
- }
}
}
+ /* Check if the watchdog timer needs to be started. */
+ clocksource_start_watchdog();
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-#else
-static void clocksource_check_watchdog(struct clocksource *cs)
+
+static void clocksource_dequeue_watchdog(struct clocksource *cs)
+{
+ struct clocksource *tmp;
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
+ /* cs is a watched clocksource. */
+ list_del_init(&cs->wd_list);
+ } else if (cs == watchdog) {
+ /* Reset watchdog cycles */
+ clocksource_reset_watchdog();
+ /* Current watchdog is removed. Find an alternative. */
+ watchdog = NULL;
+ list_for_each_entry(tmp, &clocksource_list, list) {
+ if (tmp == cs || tmp->flags & CLOCK_SOURCE_MUST_VERIFY)
+ continue;
+ if (!watchdog || tmp->rating > watchdog->rating)
+ watchdog = tmp;
+ }
+ }
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
+ /* Check if the watchdog timer needs to be stopped. */
+ clocksource_stop_watchdog();
+ spin_unlock_irqrestore(&watchdog_lock, flags);
+}
+
+#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
+
+static void clocksource_enqueue_watchdog(struct clocksource *cs)
{
if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
}
+static inline void clocksource_dequeue_watchdog(struct clocksource *cs) { }
static inline void clocksource_resume_watchdog(void) { }
-#endif
+
+#endif /* CONFIG_CLOCKSOURCE_WATCHDOG */
/**
* clocksource_resume - resume the clocksource(s)
@@ -414,14 +453,13 @@ int clocksource_register(struct clocksou
clocksource_enqueue(cs);
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
- clocksource_check_watchdog(cs);
+ clocksource_enqueue_watchdog(cs);
return 0;
}
EXPORT_SYMBOL(clocksource_register);
/**
* clocksource_change_rating - Change the rating of a registered clocksource
- *
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
@@ -434,6 +472,7 @@ void clocksource_change_rating(struct cl
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
+EXPORT_SYMBOL(clocksource_change_rating);
/**
* clocksource_unregister - remove a registered clocksource
@@ -442,11 +481,13 @@ void clocksource_unregister(struct clock
{
unsigned long flags;
+ clocksource_dequeue_watchdog(cs);
spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
+EXPORT_SYMBOL(clocksource_unregister);
#ifdef CONFIG_SYSFS
/**
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 08/15] clocksource watchdog work
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (6 preceding siblings ...)
2009-08-14 13:47 ` [patch 07/15] clocksource watchdog refactoring Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] clocksource: Move watchdog downgrade to a work queue thread tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 09/15] introduce struct timekeeper Martin Schwidefsky
` (9 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: watchdog-work.diff --]
[-- Type: text/plain, Size: 4769 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Move the downgrade of an unstable clocksource from the timer interrupt
context into the process context of a work queue thread. This is needed
to be able to do the clocksource switch with stop_machine.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
include/linux/clocksource.h | 1
kernel/time/clocksource.c | 56 ++++++++++++++++++++++++++++++--------------
2 files changed, 40 insertions(+), 17 deletions(-)
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -213,6 +213,7 @@ extern struct clocksource *clock; /* cur
#define CLOCK_SOURCE_WATCHDOG 0x10
#define CLOCK_SOURCE_VALID_FOR_HRES 0x20
+#define CLOCK_SOURCE_UNSTABLE 0x40
/* simplify initialization of mask field */
#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -143,10 +143,13 @@ fs_initcall(clocksource_done_booting);
static LIST_HEAD(watchdog_list);
static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
+static struct work_struct watchdog_work;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
static int watchdog_running;
+static void clocksource_watchdog_work(struct work_struct *work);
+
/*
* Interval: 0.5sec Threshold: 0.0625s
*/
@@ -158,15 +161,16 @@ static void clocksource_unstable(struct
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
cs->name, delta);
cs->flags &= ~(CLOCK_SOURCE_VALID_FOR_HRES | CLOCK_SOURCE_WATCHDOG);
- clocksource_change_rating(cs, 0);
- list_del(&cs->wd_list);
+ cs->flags |= CLOCK_SOURCE_UNSTABLE;
+ schedule_work(&watchdog_work);
}
static void clocksource_watchdog(unsigned long data)
{
- struct clocksource *cs, *tmp;
+ struct clocksource *cs;
cycle_t csnow, wdnow;
int64_t wd_nsec, cs_nsec;
+ int next_cpu;
spin_lock(&watchdog_lock);
if (!watchdog_running)
@@ -176,7 +180,12 @@ static void clocksource_watchdog(unsigne
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
watchdog_last = wdnow;
- list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list) {
+ list_for_each_entry(cs, &watchdog_list, wd_list) {
+
+ /* Clocksource already marked unstable? */
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE)
+ continue;
+
csnow = cs->read(cs);
/* Clocksource initialized ? */
@@ -207,19 +216,15 @@ static void clocksource_watchdog(unsigne
}
}
- if (!list_empty(&watchdog_list)) {
- /*
- * Cycle through CPUs to check if the CPUs stay
- * synchronized to each other.
- */
- int next_cpu = cpumask_next(raw_smp_processor_id(),
- cpu_online_mask);
-
- if (next_cpu >= nr_cpu_ids)
- next_cpu = cpumask_first(cpu_online_mask);
- watchdog_timer.expires += WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer, next_cpu);
- }
+ /*
+ * Cycle through CPUs to check if the CPUs stay synchronized
+ * to each other.
+ */
+ next_cpu = cpumask_next(raw_smp_processor_id(), cpu_online_mask);
+ if (next_cpu >= nr_cpu_ids)
+ next_cpu = cpumask_first(cpu_online_mask);
+ watchdog_timer.expires += WATCHDOG_INTERVAL;
+ add_timer_on(&watchdog_timer, next_cpu);
out:
spin_unlock(&watchdog_lock);
}
@@ -228,6 +233,7 @@ static inline void clocksource_start_wat
{
if (watchdog_running || !watchdog || list_empty(&watchdog_list))
return;
+ INIT_WORK(&watchdog_work, clocksource_watchdog_work);
init_timer(&watchdog_timer);
watchdog_timer.function = clocksource_watchdog;
watchdog_last = watchdog->read(watchdog);
@@ -313,6 +319,22 @@ static void clocksource_dequeue_watchdog
spin_unlock_irqrestore(&watchdog_lock, flags);
}
+static void clocksource_watchdog_work(struct work_struct *work)
+{
+ struct clocksource *cs, *tmp;
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
+ list_del_init(&cs->wd_list);
+ clocksource_change_rating(cs, 0);
+ }
+ /* Check if the watchdog timer needs to be stopped. */
+ clocksource_stop_watchdog();
+ spin_unlock(&watchdog_lock);
+}
+
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
static void clocksource_enqueue_watchdog(struct clocksource *cs)
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 09/15] introduce struct timekeeper
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (7 preceding siblings ...)
2009-08-14 13:47 ` [patch 08/15] clocksource watchdog work Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Introduce " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 10/15] add xtime_shift and ntp_error_shift to " Martin Schwidefsky
` (8 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: timekeeper-struct.diff --]
[-- Type: text/plain, Size: 22717 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Add struct timekeeper to keep the internal values timekeeping.c needs
in regard to the currently selected clock source. This moves the
timekeeping intervals, xtime_nsec and the ntp error value from
struct clocksource to struct timekeeper. The raw_time is removed from
the clocksource as well. It gets treated like xtime as a global variable.
Eventually xtime raw_time should be moved to struct timekeeper.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/s390/kernel/time.c | 1
include/linux/clocksource.h | 54 ----------
kernel/time/clocksource.c | 6 -
kernel/time/timekeeping.c | 233 +++++++++++++++++++++++++++++---------------
4 files changed, 162 insertions(+), 132 deletions(-)
Index: linux-2.6/arch/s390/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/s390/kernel/time.c
+++ linux-2.6/arch/s390/kernel/time.c
@@ -280,7 +280,6 @@ void __init time_init(void)
now = get_clock();
tod_to_timeval(now - TOD_UNIX_EPOCH, &xtime);
clocksource_tod.cycle_last = now;
- clocksource_tod.raw_time = xtime;
tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
write_sequnlock_irqrestore(&xtime_lock, flags);
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -155,8 +155,6 @@ extern u64 timecounter_cyc2time(struct t
* @flags: flags describing special properties
* @vread: vsyscall based read
* @resume: resume function for the clocksource, if necessary
- * @cycle_interval: Used internally by timekeeping core, please ignore.
- * @xtime_interval: Used internally by timekeeping core, please ignore.
*/
struct clocksource {
/*
@@ -182,19 +180,12 @@ struct clocksource {
#define CLKSRC_FSYS_MMIO_SET(mmio, addr) do { } while (0)
#endif
- /* timekeeping specific data, ignore */
- cycle_t cycle_interval;
- u64 xtime_interval;
- u32 raw_interval;
/*
* Second part is written at each timer interrupt
* Keep it in a different cache line to dirty no
* more than one cache line.
*/
cycle_t cycle_last ____cacheline_aligned_in_smp;
- u64 xtime_nsec;
- s64 error;
- struct timespec raw_time;
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
/* Watchdog related data, used by the framework */
@@ -203,8 +194,6 @@ struct clocksource {
#endif
};
-extern struct clocksource *clock; /* current clocksource */
-
/*
* Clock source flags bits::
*/
@@ -270,50 +259,15 @@ static inline u32 clocksource_hz2mult(u3
}
/**
- * cyc2ns - converts clocksource cycles to nanoseconds
- * @cs: Pointer to clocksource
- * @cycles: Cycles
+ * clocksource_cyc2ns - converts clocksource cycles to nanoseconds
*
- * Uses the clocksource and ntp ajdustment to convert cycle_ts to nanoseconds.
+ * Converts cycles to nanoseconds, using the given mult and shift.
*
* XXX - This could use some mult_lxl_ll() asm optimization
*/
-static inline s64 cyc2ns(struct clocksource *cs, cycle_t cycles)
-{
- u64 ret = (u64)cycles;
- ret = (ret * cs->mult) >> cs->shift;
- return ret;
-}
-
-/**
- * clocksource_calculate_interval - Calculates a clocksource interval struct
- *
- * @c: Pointer to clocksource.
- * @length_nsec: Desired interval length in nanoseconds.
- *
- * Calculates a fixed cycle/nsec interval for a given clocksource/adjustment
- * pair and interval request.
- *
- * Unless you're the timekeeping code, you should not be using this!
- */
-static inline void clocksource_calculate_interval(struct clocksource *c,
- unsigned long length_nsec)
+static inline s64 clocksource_cyc2ns(cycle_t cycles, u32 mult, u32 shift)
{
- u64 tmp;
-
- /* Do the ns -> cycle conversion first, using original mult */
- tmp = length_nsec;
- tmp <<= c->shift;
- tmp += c->mult_orig/2;
- do_div(tmp, c->mult_orig);
-
- c->cycle_interval = (cycle_t)tmp;
- if (c->cycle_interval == 0)
- c->cycle_interval = 1;
-
- /* Go back from cycles -> shifted ns, this time use ntp adjused mult */
- c->xtime_interval = (u64)c->cycle_interval * c->mult;
- c->raw_interval = ((u64)c->cycle_interval * c->mult_orig) >> c->shift;
+ return ((u64) cycles * mult) >> shift;
}
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -177,7 +177,8 @@ static void clocksource_watchdog(unsigne
goto out;
wdnow = watchdog->read(watchdog);
- wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
+ wd_nsec = clocksource_cyc2ns((wdnow - watchdog_last) & watchdog->mask,
+ watchdog->mult, watchdog->shift);
watchdog_last = wdnow;
list_for_each_entry(cs, &watchdog_list, wd_list) {
@@ -196,7 +197,8 @@ static void clocksource_watchdog(unsigne
}
/* Check the deviation from the watchdog clocksource. */
- cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
+ cs_nsec = clocksource_cyc2ns((csnow - cs->wd_last) &
+ cs->mask, cs->mult, cs->shift);
cs->wd_last = csnow;
if (abs(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD) {
clocksource_unstable(cs, cs_nsec - wd_nsec);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -19,6 +19,65 @@
#include <linux/time.h>
#include <linux/tick.h>
+/* Structure holding internal timekeeping values. */
+struct timekeeper {
+ /* Current clocksource used for timekeeping. */
+ struct clocksource *clock;
+
+ /* Number of clock cycles in one NTP interval. */
+ cycle_t cycle_interval;
+ /* Number of clock shifted nano seconds in one NTP interval. */
+ u64 xtime_interval;
+ /* Raw nano seconds accumulated per NTP interval. */
+ u32 raw_interval;
+
+ /* Clock shifted nano seconds remainder not stored in xtime.tv_nsec. */
+ u64 xtime_nsec;
+ /* Difference between accumulated time and NTP time in ntp
+ * shifted nano seconds. */
+ s64 ntp_error;
+};
+
+struct timekeeper timekeeper;
+
+/**
+ * timekeeper_setup_internals - Set up internals to use clocksource clock.
+ *
+ * @clock: Pointer to clocksource.
+ *
+ * Calculates a fixed cycle/nsec interval for a given clocksource/adjustment
+ * pair and interval request.
+ *
+ * Unless you're the timekeeping code, you should not be using this!
+ */
+static void timekeeper_setup_internals(struct clocksource *clock)
+{
+ cycle_t interval;
+ u64 tmp;
+
+ timekeeper.clock = clock;
+ clock->cycle_last = clock->read(clock);
+
+ /* Do the ns -> cycle conversion first, using original mult */
+ tmp = NTP_INTERVAL_LENGTH;
+ tmp <<= clock->shift;
+ tmp += clock->mult_orig/2;
+ do_div(tmp, clock->mult_orig);
+ if (tmp == 0)
+ tmp = 1;
+
+ interval = (cycle_t) tmp;
+ timekeeper.cycle_interval = interval;
+
+ /* Go back from cycles -> shifted ns */
+ timekeeper.xtime_interval = (u64) interval * clock->mult;
+ timekeeper.raw_interval =
+ ((u64) interval * clock->mult_orig) >> clock->shift;
+
+ timekeeper.xtime_nsec = 0;
+
+ timekeeper.ntp_error = 0;
+}
/*
* This read-write spinlock protects us from races in SMP while
@@ -46,6 +105,11 @@ struct timespec xtime __attribute__ ((al
struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
static unsigned long total_sleep_time; /* seconds */
+/*
+ * The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock.
+ */
+struct timespec raw_time;
+
/* flag for if timekeeping is suspended */
int __read_mostly timekeeping_suspended;
@@ -56,42 +120,42 @@ void update_xtime_cache(u64 nsec)
timespec_add_ns(&xtime_cache, nsec);
}
-struct clocksource *clock;
-
/* must hold xtime_lock */
void timekeeping_leap_insert(int leapsecond)
{
xtime.tv_sec += leapsecond;
wall_to_monotonic.tv_sec -= leapsecond;
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
}
#ifdef CONFIG_GENERIC_TIME
/**
- * clocksource_forward_now - update clock to the current time
+ * timekeeping_forward_now - update clock to the current time
*
* Forward the current clock to update its state since the last call to
* update_wall_time(). This is useful before significant clock changes,
* as it avoids having to deal with this time offset explicitly.
*/
-static void clocksource_forward_now(void)
+static void timekeeping_forward_now(void)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
s64 nsec;
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
- nsec = cyc2ns(clock, cycle_delta);
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
/* If arch requires, add in gettimeoffset() */
nsec += arch_gettimeoffset();
timespec_add_ns(&xtime, nsec);
- nsec = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
- clock->raw_time.tv_nsec += nsec;
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult_orig, clock->shift);
+ timespec_add_ns(&raw_time, nsec);
}
/**
@@ -103,6 +167,7 @@ static void clocksource_forward_now(void
void getnstimeofday(struct timespec *ts)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
unsigned long seq;
s64 nsecs;
@@ -114,13 +179,15 @@ void getnstimeofday(struct timespec *ts)
*ts = xtime;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = cyc2ns(clock, cycle_delta);
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -135,6 +202,7 @@ EXPORT_SYMBOL(getnstimeofday);
ktime_t ktime_get(void)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
unsigned int seq;
s64 secs, nsecs;
@@ -146,13 +214,15 @@ ktime_t ktime_get(void)
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs += cyc2ns(clock, cycle_delta);
+ nsecs += clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -174,6 +244,7 @@ EXPORT_SYMBOL_GPL(ktime_get);
void ktime_get_ts(struct timespec *ts)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
struct timespec tomono;
unsigned int seq;
s64 nsecs;
@@ -186,13 +257,15 @@ void ktime_get_ts(struct timespec *ts)
tomono = wall_to_monotonic;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = cyc2ns(clock, cycle_delta);
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
} while (read_seqretry(&xtime_lock, seq));
@@ -233,7 +306,7 @@ int do_settimeofday(struct timespec *tv)
write_seqlock_irqsave(&xtime_lock, flags);
- clocksource_forward_now();
+ timekeeping_forward_now();
ts_delta.tv_sec = tv->tv_sec - xtime.tv_sec;
ts_delta.tv_nsec = tv->tv_nsec - xtime.tv_nsec;
@@ -243,10 +316,10 @@ int do_settimeofday(struct timespec *tv)
update_xtime_cache(0);
- clock->error = 0;
+ timekeeper.ntp_error = 0;
ntp_clear();
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -269,10 +342,10 @@ static void change_clocksource(void)
new = clocksource_get_next();
- if (!new || clock == new)
+ if (!new || timekeeper.clock == new)
return;
- clocksource_forward_now();
+ timekeeping_forward_now();
if (new->enable && ! new->enable(new))
return;
@@ -284,9 +357,9 @@ static void change_clocksource(void)
*/
new->mult_orig = new->mult;
- new->raw_time = clock->raw_time;
- old = clock;
- clock = new;
+ old = timekeeper.clock;
+ timekeeper_setup_internals(new);
+
/*
* Save mult_orig in mult so that the value can be restored
* regardless if ->enable() updates the value of mult or not.
@@ -295,22 +368,10 @@ static void change_clocksource(void)
if (old->disable)
old->disable(old);
- clock->cycle_last = clock->read(clock);
- clock->error = 0;
- clock->xtime_nsec = 0;
- clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
-
tick_clock_notify();
-
- /*
- * We're holding xtime lock and waking up klogd would deadlock
- * us on enqueue. So no printing!
- printk(KERN_INFO "Time: %s clocksource has been installed.\n",
- clock->name);
- */
}
#else /* GENERIC_TIME */
-static inline void clocksource_forward_now(void) { }
+static inline void timekeeping_forward_now(void) { }
static inline void change_clocksource(void) { }
/**
@@ -380,20 +441,23 @@ void getrawmonotonic(struct timespec *ts
unsigned long seq;
s64 nsecs;
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
do {
seq = read_seqbegin(&xtime_lock);
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult_orig,
+ clock->shift);
- *ts = clock->raw_time;
+ *ts = raw_time;
} while (read_seqretry(&xtime_lock, seq));
@@ -413,7 +477,7 @@ int timekeeping_valid_for_hres(void)
do {
seq = read_seqbegin(&xtime_lock);
- ret = clock->flags & CLOCK_SOURCE_VALID_FOR_HRES;
+ ret = timekeeper.clock->flags & CLOCK_SOURCE_VALID_FOR_HRES;
} while (read_seqretry(&xtime_lock, seq));
@@ -439,6 +503,7 @@ unsigned long __attribute__((weak)) read
*/
void __init timekeeping_init(void)
{
+ struct clocksource *clock;
unsigned long flags;
unsigned long sec = read_persistent_clock();
@@ -451,11 +516,13 @@ void __init timekeeping_init(void)
clock->enable(clock);
/* set mult_orig on enable */
clock->mult_orig = clock->mult;
- clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
- clock->cycle_last = clock->read(clock);
+
+ timekeeper_setup_internals(clock);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
+ raw_time.tv_sec = 0;
+ raw_time.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
update_xtime_cache(0);
@@ -492,8 +559,8 @@ static int timekeeping_resume(struct sys
}
update_xtime_cache(0);
/* re-base the last cycle value */
- clock->cycle_last = clock->read(clock);
- clock->error = 0;
+ timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
+ timekeeper.ntp_error = 0;
timekeeping_suspended = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -514,7 +581,7 @@ static int timekeeping_suspend(struct sy
timekeeping_suspend_time = read_persistent_clock();
write_seqlock_irqsave(&xtime_lock, flags);
- clocksource_forward_now();
+ timekeeping_forward_now();
timekeeping_suspended = 1;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -549,7 +616,7 @@ device_initcall(timekeeping_init_device)
* If the error is already larger, we look ahead even further
* to compensate for late or lost adjustments.
*/
-static __always_inline int clocksource_bigadjust(s64 error, s64 *interval,
+static __always_inline int timekeeping_bigadjust(s64 error, s64 *interval,
s64 *offset)
{
s64 tick_error, i;
@@ -565,7 +632,7 @@ static __always_inline int clocksource_b
* here. This is tuned so that an error of about 1 msec is adjusted
* within about 1 sec (or 2^20 nsec in 2^SHIFT_HZ ticks).
*/
- error2 = clock->error >> (NTP_SCALE_SHIFT + 22 - 2 * SHIFT_HZ);
+ error2 = timekeeper.ntp_error >> (NTP_SCALE_SHIFT + 22 - 2 * SHIFT_HZ);
error2 = abs(error2);
for (look_ahead = 0; error2 > 0; look_ahead++)
error2 >>= 2;
@@ -574,8 +641,9 @@ static __always_inline int clocksource_b
* Now calculate the error in (1 << look_ahead) ticks, but first
* remove the single look ahead already included in the error.
*/
- tick_error = tick_length >> (NTP_SCALE_SHIFT - clock->shift + 1);
- tick_error -= clock->xtime_interval >> 1;
+ tick_error = tick_length >>
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift + 1);
+ tick_error -= timekeeper.xtime_interval >> 1;
error = ((error - tick_error) >> look_ahead) + tick_error;
/* Finally calculate the adjustment shift value. */
@@ -600,18 +668,19 @@ static __always_inline int clocksource_b
* this is optimized for the most common adjustments of -1,0,1,
* for other values we can do a bit more work.
*/
-static void clocksource_adjust(s64 offset)
+static void timekeeping_adjust(s64 offset)
{
- s64 error, interval = clock->cycle_interval;
+ s64 error, interval = timekeeper.cycle_interval;
int adj;
- error = clock->error >> (NTP_SCALE_SHIFT - clock->shift - 1);
+ error = timekeeper.ntp_error >>
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift - 1);
if (error > interval) {
error >>= 2;
if (likely(error <= interval))
adj = 1;
else
- adj = clocksource_bigadjust(error, &interval, &offset);
+ adj = timekeeping_bigadjust(error, &interval, &offset);
} else if (error < -interval) {
error >>= 2;
if (likely(error >= -interval)) {
@@ -619,15 +688,15 @@ static void clocksource_adjust(s64 offse
interval = -interval;
offset = -offset;
} else
- adj = clocksource_bigadjust(error, &interval, &offset);
+ adj = timekeeping_bigadjust(error, &interval, &offset);
} else
return;
- clock->mult += adj;
- clock->xtime_interval += interval;
- clock->xtime_nsec -= offset;
- clock->error -= (interval - offset) <<
- (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.clock->mult += adj;
+ timekeeper.xtime_interval += interval;
+ timekeeper.xtime_nsec -= offset;
+ timekeeper.ntp_error -= (interval - offset) <<
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift);
}
/**
@@ -637,53 +706,57 @@ static void clocksource_adjust(s64 offse
*/
void update_wall_time(void)
{
+ struct clocksource *clock;
cycle_t offset;
+ s64 nsecs;
/* Make sure we're fully resumed: */
if (unlikely(timekeeping_suspended))
return;
+ clock = timekeeper.clock;
#ifdef CONFIG_GENERIC_TIME
offset = (clock->read(clock) - clock->cycle_last) & clock->mask;
#else
- offset = clock->cycle_interval;
+ offset = timekeeper.cycle_interval;
#endif
- clock->xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
/* normally this loop will run just once, however in the
* case of lost or late ticks, it will accumulate correctly.
*/
- while (offset >= clock->cycle_interval) {
+ while (offset >= timekeeper.cycle_interval) {
/* accumulate one interval */
- offset -= clock->cycle_interval;
- clock->cycle_last += clock->cycle_interval;
+ offset -= timekeeper.cycle_interval;
+ clock->cycle_last += timekeeper.cycle_interval;
- clock->xtime_nsec += clock->xtime_interval;
- if (clock->xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
- clock->xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
+ timekeeper.xtime_nsec += timekeeper.xtime_interval;
+ if (timekeeper.xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
+ timekeeper.xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
xtime.tv_sec++;
second_overflow();
}
- clock->raw_time.tv_nsec += clock->raw_interval;
- if (clock->raw_time.tv_nsec >= NSEC_PER_SEC) {
- clock->raw_time.tv_nsec -= NSEC_PER_SEC;
- clock->raw_time.tv_sec++;
+ raw_time.tv_nsec += timekeeper.raw_interval;
+ if (raw_time.tv_nsec >= NSEC_PER_SEC) {
+ raw_time.tv_nsec -= NSEC_PER_SEC;
+ raw_time.tv_sec++;
}
/* accumulate error between NTP and clock interval */
- clock->error += tick_length;
- clock->error -= clock->xtime_interval << (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error += tick_length;
+ timekeeper.ntp_error -= timekeeper.xtime_interval <<
+ (NTP_SCALE_SHIFT - clock->shift);
}
/* correct the clock when NTP error is too big */
- clocksource_adjust(offset);
+ timekeeping_adjust(offset);
/*
* Since in the loop above, we accumulate any amount of time
* in xtime_nsec over a second into xtime.tv_sec, its possible for
* xtime_nsec to be fairly small after the loop. Further, if we're
- * slightly speeding the clocksource up in clocksource_adjust(),
+ * slightly speeding the clocksource up in timekeeping_adjust(),
* its possible the required corrective factor to xtime_nsec could
* cause it to underflow.
*
@@ -695,24 +768,26 @@ void update_wall_time(void)
* We'll correct this error next time through this function, when
* xtime_nsec is not as small.
*/
- if (unlikely((s64)clock->xtime_nsec < 0)) {
- s64 neg = -(s64)clock->xtime_nsec;
- clock->xtime_nsec = 0;
- clock->error += neg << (NTP_SCALE_SHIFT - clock->shift);
+ if (unlikely((s64)timekeeper.xtime_nsec < 0)) {
+ s64 neg = -(s64)timekeeper.xtime_nsec;
+ timekeeper.xtime_nsec = 0;
+ timekeeper.ntp_error += neg << (NTP_SCALE_SHIFT - clock->shift);
}
/* store full nanoseconds into xtime after rounding it up and
* add the remainder to the error difference.
*/
- xtime.tv_nsec = ((s64)clock->xtime_nsec >> clock->shift) + 1;
- clock->xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
- clock->error += clock->xtime_nsec << (NTP_SCALE_SHIFT - clock->shift);
+ xtime.tv_nsec = ((s64)timekeeper.xtime_nsec >> clock->shift) + 1;
+ timekeeper.xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.ntp_error += timekeeper.xtime_nsec <<
+ (NTP_SCALE_SHIFT - clock->shift);
- update_xtime_cache(cyc2ns(clock, offset));
+ nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
+ update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
change_clocksource();
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
}
/**
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 10/15] add xtime_shift and ntp_error_shift to struct timekeeper
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (8 preceding siblings ...)
2009-08-14 13:47 ` [patch 09/15] introduce struct timekeeper Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Add " tip-bot for Martin Schwidefsky
2009-08-15 9:04 ` [patch 10/15] add " Thomas Gleixner
2009-08-14 13:47 ` [patch 11/15] move NTP adjusted clock multiplier " Martin Schwidefsky
` (7 subsequent siblings)
17 siblings, 2 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: timekeeper-shift.diff --]
[-- Type: text/plain, Size: 5262 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The xtime_nsec value in the timekeeper structure is shifted by a few
bits to improve precision. This happens to be the same value as the
clock->shift. To improve readability add xtime_shift to the timekeeper
and use it instead of the clock->shift. Likewise add ntp_error_shift
and replace all (NTP_SCALE_SHIFT - clock->shift) expressions.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/timekeeping.c | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -23,6 +23,8 @@
struct timekeeper {
/* Current clocksource used for timekeeping. */
struct clocksource *clock;
+ /* The shift value of the current clocksource. */
+ int shift;
/* Number of clock cycles in one NTP interval. */
cycle_t cycle_interval;
@@ -36,6 +38,9 @@ struct timekeeper {
/* Difference between accumulated time and NTP time in ntp
* shifted nano seconds. */
s64 ntp_error;
+ /* Shift conversion between clock shifted nano seconds and
+ * ntp shifted nano seconds. */
+ int ntp_error_shift;
};
struct timekeeper timekeeper;
@@ -75,8 +80,10 @@ static void timekeeper_setup_internals(s
((u64) interval * clock->mult_orig) >> clock->shift;
timekeeper.xtime_nsec = 0;
+ timekeeper.shift = clock->shift;
timekeeper.ntp_error = 0;
+ timekeeper.ntp_error_shift = NTP_SCALE_SHIFT - clock->shift;
}
/*
@@ -641,8 +648,7 @@ static __always_inline int timekeeping_b
* Now calculate the error in (1 << look_ahead) ticks, but first
* remove the single look ahead already included in the error.
*/
- tick_error = tick_length >>
- (NTP_SCALE_SHIFT - timekeeper.clock->shift + 1);
+ tick_error = tick_length >> (timekeeper.ntp_error_shift + 1);
tick_error -= timekeeper.xtime_interval >> 1;
error = ((error - tick_error) >> look_ahead) + tick_error;
@@ -673,8 +679,7 @@ static void timekeeping_adjust(s64 offse
s64 error, interval = timekeeper.cycle_interval;
int adj;
- error = timekeeper.ntp_error >>
- (NTP_SCALE_SHIFT - timekeeper.clock->shift - 1);
+ error = timekeeper.ntp_error >> (timekeeper.ntp_error_shift - 1);
if (error > interval) {
error >>= 2;
if (likely(error <= interval))
@@ -696,7 +701,7 @@ static void timekeeping_adjust(s64 offse
timekeeper.xtime_interval += interval;
timekeeper.xtime_nsec -= offset;
timekeeper.ntp_error -= (interval - offset) <<
- (NTP_SCALE_SHIFT - timekeeper.clock->shift);
+ timekeeper.ntp_error_shift;
}
/**
@@ -708,7 +713,7 @@ void update_wall_time(void)
{
struct clocksource *clock;
cycle_t offset;
- s64 nsecs;
+ u64 nsecs;
/* Make sure we're fully resumed: */
if (unlikely(timekeeping_suspended))
@@ -720,7 +725,7 @@ void update_wall_time(void)
#else
offset = timekeeper.cycle_interval;
#endif
- timekeeper.xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.xtime_nsec = (s64)xtime.tv_nsec << timekeeper.shift;
/* normally this loop will run just once, however in the
* case of lost or late ticks, it will accumulate correctly.
@@ -731,8 +736,9 @@ void update_wall_time(void)
clock->cycle_last += timekeeper.cycle_interval;
timekeeper.xtime_nsec += timekeeper.xtime_interval;
- if (timekeeper.xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
- timekeeper.xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
+ nsecs = (u64) NSEC_PER_SEC << timekeeper.shift;
+ if (timekeeper.xtime_nsec >= nsecs) {
+ timekeeper.xtime_nsec -= nsecs;
xtime.tv_sec++;
second_overflow();
}
@@ -746,7 +752,7 @@ void update_wall_time(void)
/* accumulate error between NTP and clock interval */
timekeeper.ntp_error += tick_length;
timekeeper.ntp_error -= timekeeper.xtime_interval <<
- (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error_shift;
}
/* correct the clock when NTP error is too big */
@@ -771,16 +777,16 @@ void update_wall_time(void)
if (unlikely((s64)timekeeper.xtime_nsec < 0)) {
s64 neg = -(s64)timekeeper.xtime_nsec;
timekeeper.xtime_nsec = 0;
- timekeeper.ntp_error += neg << (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error += neg << timekeeper.ntp_error_shift;
}
/* store full nanoseconds into xtime after rounding it up and
* add the remainder to the error difference.
*/
- xtime.tv_nsec = ((s64)timekeeper.xtime_nsec >> clock->shift) + 1;
- timekeeper.xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
- timekeeper.ntp_error += timekeeper.xtime_nsec <<
- (NTP_SCALE_SHIFT - clock->shift);
+ xtime.tv_nsec = ((s64) timekeeper.xtime_nsec >> timekeeper.shift) + 1;
+ timekeeper.xtime_nsec -= (s64) xtime.tv_nsec << timekeeper.shift;
+ timekeeper.ntp_error += timekeeper.xtime_nsec <<
+ timekeeper.ntp_error_shift;
nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
update_xtime_cache(nsecs);
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 11/15] move NTP adjusted clock multiplier to struct timekeeper
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (9 preceding siblings ...)
2009-08-14 13:47 ` [patch 10/15] add xtime_shift and ntp_error_shift to " Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Move " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 12/15] timekeeper read clock helper functions Martin Schwidefsky
` (6 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: timekeeper-mult.diff --]
[-- Type: text/plain, Size: 7601 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The clocksource structure has two multipliers, the unmodified multiplier
clock->mult_orig and the NTP corrected multiplier clock->mult. The NTP
multiplier is misplaced in the struct clocksource, this is private
information of the timekeeping code. Add the mult field to the struct
timekeeper to contain the NTP corrected value, keep the unmodifed
multiplier in clock->mult and remove clock->mult_orig.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/arm/plat-omap/common.c | 7 +----
include/linux/clocksource.h | 4 ---
kernel/time/timekeeping.c | 53 +++++++++++++++++++-------------------------
3 files changed, 27 insertions(+), 37 deletions(-)
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -149,8 +149,7 @@ extern u64 timecounter_cyc2time(struct t
* @disable: optional function to disable the clocksource
* @mask: bitmask for two's complement
* subtraction of non 64 bit counters
- * @mult: cycle to nanosecond multiplier (adjusted by NTP)
- * @mult_orig: cycle to nanosecond multiplier (unadjusted by NTP)
+ * @mult: cycle to nanosecond multiplier
* @shift: cycle to nanosecond divisor (power of two)
* @flags: flags describing special properties
* @vread: vsyscall based read
@@ -168,7 +167,6 @@ struct clocksource {
void (*disable)(struct clocksource *cs);
cycle_t mask;
u32 mult;
- u32 mult_orig;
u32 shift;
unsigned long flags;
cycle_t (*vread)(void);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -41,6 +41,8 @@ struct timekeeper {
/* Shift conversion between clock shifted nano seconds and
* ntp shifted nano seconds. */
int ntp_error_shift;
+ /* NTP adjusted clock multiplier */
+ u32 mult;
};
struct timekeeper timekeeper;
@@ -66,8 +68,8 @@ static void timekeeper_setup_internals(s
/* Do the ns -> cycle conversion first, using original mult */
tmp = NTP_INTERVAL_LENGTH;
tmp <<= clock->shift;
- tmp += clock->mult_orig/2;
- do_div(tmp, clock->mult_orig);
+ tmp += clock->mult/2;
+ do_div(tmp, clock->mult);
if (tmp == 0)
tmp = 1;
@@ -77,13 +79,20 @@ static void timekeeper_setup_internals(s
/* Go back from cycles -> shifted ns */
timekeeper.xtime_interval = (u64) interval * clock->mult;
timekeeper.raw_interval =
- ((u64) interval * clock->mult_orig) >> clock->shift;
+ ((u64) interval * clock->mult) >> clock->shift;
timekeeper.xtime_nsec = 0;
timekeeper.shift = clock->shift;
timekeeper.ntp_error = 0;
timekeeper.ntp_error_shift = NTP_SCALE_SHIFT - clock->shift;
+
+ /*
+ * The timekeeper keeps its own mult values for the currently
+ * active clocksource. These value will be adjusted via NTP
+ * to counteract clock drifting.
+ */
+ timekeeper.mult = clock->mult;
}
/*
@@ -154,14 +163,15 @@ static void timekeeping_forward_now(void
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
- nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
+ nsec = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
/* If arch requires, add in gettimeoffset() */
nsec += arch_gettimeoffset();
timespec_add_ns(&xtime, nsec);
- nsec = clocksource_cyc2ns(cycle_delta, clock->mult_orig, clock->shift);
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
timespec_add_ns(&raw_time, nsec);
}
@@ -193,8 +203,8 @@ void getnstimeofday(struct timespec *ts)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -228,8 +238,8 @@ ktime_t ktime_get(void)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs += clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs += clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -271,8 +281,8 @@ void ktime_get_ts(struct timespec *ts)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
} while (read_seqretry(&xtime_lock, seq));
@@ -356,22 +366,10 @@ static void change_clocksource(void)
if (new->enable && ! new->enable(new))
return;
- /*
- * The frequency may have changed while the clocksource
- * was disabled. If so the code in ->enable() must update
- * the mult value to reflect the new frequency. Make sure
- * mult_orig follows this change.
- */
- new->mult_orig = new->mult;
old = timekeeper.clock;
timekeeper_setup_internals(new);
- /*
- * Save mult_orig in mult so that the value can be restored
- * regardless if ->enable() updates the value of mult or not.
- */
- old->mult = old->mult_orig;
if (old->disable)
old->disable(old);
@@ -461,7 +459,7 @@ void getrawmonotonic(struct timespec *ts
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult_orig,
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
clock->shift);
*ts = raw_time;
@@ -521,9 +519,6 @@ void __init timekeeping_init(void)
clock = clocksource_default_clock();
if (clock->enable)
clock->enable(clock);
- /* set mult_orig on enable */
- clock->mult_orig = clock->mult;
-
timekeeper_setup_internals(clock);
xtime.tv_sec = sec;
@@ -697,7 +692,7 @@ static void timekeeping_adjust(s64 offse
} else
return;
- timekeeper.clock->mult += adj;
+ timekeeper.mult += adj;
timekeeper.xtime_interval += interval;
timekeeper.xtime_nsec -= offset;
timekeeper.ntp_error -= (interval - offset) <<
@@ -788,7 +783,7 @@ void update_wall_time(void)
timekeeper.ntp_error += timekeeper.xtime_nsec <<
timekeeper.ntp_error_shift;
- nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
+ nsecs = clocksource_cyc2ns(offset, timekeeper.mult, timekeeper.shift);
update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
Index: linux-2.6/arch/arm/plat-omap/common.c
===================================================================
--- linux-2.6.orig/arch/arm/plat-omap/common.c
+++ linux-2.6/arch/arm/plat-omap/common.c
@@ -253,11 +253,8 @@ static struct clocksource clocksource_32
*/
unsigned long long sched_clock(void)
{
- unsigned long long ret;
-
- ret = (unsigned long long)clocksource_32k.read(&clocksource_32k);
- ret = (ret * clocksource_32k.mult_orig) >> clocksource_32k.shift;
- return ret;
+ return clocksource_cyc2ns(clocksource_32k.read(&clocksource_32k),
+ clocksource_32k.mult, clocksource_32k.shift);
}
static int __init omap_init_clocksource_32k(void)
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 12/15] timekeeper read clock helper functions
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (10 preceding siblings ...)
2009-08-14 13:47 ` [patch 11/15] move NTP adjusted clock multiplier " Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Add timekeeper read_clock " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 13/15] update clocksource with stop_machine Martin Schwidefsky
` (5 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: timekeeper-helper.diff --]
[-- Type: text/plain, Size: 5031 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Add timekeeper_read_clock_ntp and timekeeper_read_clock_raw and use
them for getnstimeofday, ktime_get, ktime_get_ts and getrawmonotonic.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/timekeeping.c | 91 +++++++++++++++++++---------------------------
1 file changed, 38 insertions(+), 53 deletions(-)
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -95,6 +95,40 @@ static void timekeeper_setup_internals(s
timekeeper.mult = clock->mult;
}
+/* Timekeeper helper functions. */
+static inline s64 timekeeping_get_ns(void)
+{
+ cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
+
+ /* read clocksource: */
+ clock = timekeeper.clock;
+ cycle_now = clock->read(clock);
+
+ /* calculate the delta since the last update_wall_time: */
+ cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
+
+ /* return delta convert to nanoseconds using ntp adjusted mult. */
+ return clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
+}
+
+static inline s64 timekeeping_get_ns_raw(void)
+{
+ cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
+
+ /* read clocksource: */
+ clock = timekeeper.clock;
+ cycle_now = clock->read(clock);
+
+ /* calculate the delta since the last update_wall_time: */
+ cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
+
+ /* return delta convert to nanoseconds using ntp adjusted mult. */
+ return clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
+}
+
/*
* This read-write spinlock protects us from races in SMP while
* playing with xtime.
@@ -183,8 +217,6 @@ static void timekeeping_forward_now(void
*/
void getnstimeofday(struct timespec *ts)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
unsigned long seq;
s64 nsecs;
@@ -194,17 +226,7 @@ void getnstimeofday(struct timespec *ts)
seq = read_seqbegin(&xtime_lock);
*ts = xtime;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs = timekeeping_get_ns();
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -218,8 +240,6 @@ EXPORT_SYMBOL(getnstimeofday);
ktime_t ktime_get(void)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
unsigned int seq;
s64 secs, nsecs;
@@ -229,17 +249,7 @@ ktime_t ktime_get(void)
seq = read_seqbegin(&xtime_lock);
secs = xtime.tv_sec + wall_to_monotonic.tv_sec;
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs += clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs += timekeeping_get_ns();
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -260,8 +270,6 @@ EXPORT_SYMBOL_GPL(ktime_get);
*/
void ktime_get_ts(struct timespec *ts)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
struct timespec tomono;
unsigned int seq;
s64 nsecs;
@@ -272,17 +280,7 @@ void ktime_get_ts(struct timespec *ts)
seq = read_seqbegin(&xtime_lock);
*ts = xtime;
tomono = wall_to_monotonic;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs = timekeeping_get_ns();
} while (read_seqretry(&xtime_lock, seq));
@@ -445,23 +443,10 @@ void getrawmonotonic(struct timespec *ts
{
unsigned long seq;
s64 nsecs;
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
do {
seq = read_seqbegin(&xtime_lock);
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
-
+ nsecs = timekeeping_get_ns_raw();
*ts = raw_time;
} while (read_seqretry(&xtime_lock, seq));
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 13/15] update clocksource with stop_machine
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (11 preceding siblings ...)
2009-08-14 13:47 ` [patch 12/15] timekeeper read clock helper functions Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Update " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 14/15] read_persistent_clock should return a timespec Martin Schwidefsky
` (4 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: timekeeper-stop-machine.diff --]
[-- Type: text/plain, Size: 10595 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
update_wall_time calls change_clocksource HZ times per second to check
if a new clock source is available. In close to 100% of all calls there
is no new clock. Replace the tick based check by an update done with
stop_machine.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
include/linux/clocksource.h | 2
kernel/time/clocksource.c | 112 +++++++++++++++++---------------------------
kernel/time/timekeeping.c | 41 ++++++++++------
3 files changed, 72 insertions(+), 83 deletions(-)
Index: linux-2.6/include/linux/clocksource.h
===================================================================
--- linux-2.6.orig/include/linux/clocksource.h
+++ linux-2.6/include/linux/clocksource.h
@@ -291,4 +291,6 @@ static inline void update_vsyscall_tz(vo
}
#endif
+extern void timekeeping_notify(struct clocksource *clock);
+
#endif /* _LINUX_CLOCKSOURCE_H */
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -109,35 +109,17 @@ EXPORT_SYMBOL(timecounter_cyc2time);
/*[Clocksource internal variables]---------
* curr_clocksource:
* currently selected clocksource.
- * next_clocksource:
- * pending next selected clocksource.
* clocksource_list:
* linked list with the registered clocksources
- * clocksource_lock:
- * protects manipulations to curr_clocksource and next_clocksource
- * and the clocksource_list
+ * clocksource_mutex:
+ * protects manipulations to curr_clocksource and the clocksource_list
* override_name:
* Name of the user-specified clocksource.
*/
static struct clocksource *curr_clocksource;
-static struct clocksource *next_clocksource;
static LIST_HEAD(clocksource_list);
-static DEFINE_SPINLOCK(clocksource_lock);
+static DEFINE_MUTEX(clocksource_mutex);
static char override_name[32];
-static int finished_booting;
-
-/* clocksource_done_booting - Called near the end of core bootup
- *
- * Hack to avoid lots of clocksource churn at boot time.
- * We use fs_initcall because we want this to start before
- * device_initcall but after subsys_initcall.
- */
-static int __init clocksource_done_booting(void)
-{
- finished_booting = 1;
- return 0;
-}
-fs_initcall(clocksource_done_booting);
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
static LIST_HEAD(watchdog_list);
@@ -356,18 +338,16 @@ static inline void clocksource_resume_wa
void clocksource_resume(void)
{
struct clocksource *cs;
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
- list_for_each_entry(cs, &clocksource_list, list) {
+ list_for_each_entry(cs, &clocksource_list, list)
if (cs->resume)
cs->resume();
- }
clocksource_resume_watchdog();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
/**
@@ -383,28 +363,13 @@ void clocksource_touch_watchdog(void)
}
#ifdef CONFIG_GENERIC_TIME
-/**
- * clocksource_get_next - Returns the selected clocksource
- *
- */
-struct clocksource *clocksource_get_next(void)
-{
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
- if (next_clocksource && finished_booting) {
- curr_clocksource = next_clocksource;
- next_clocksource = NULL;
- }
- spin_unlock_irqrestore(&clocksource_lock, flags);
-
- return curr_clocksource;
-}
+static int finished_booting;
/**
* clocksource_select - Select the best clocksource available
*
- * Private function. Must hold clocksource_lock when called.
+ * Private function. Must hold clocksource_mutex when called.
*
* Select the clocksource with the best rating, or the clocksource,
* which is selected by userspace override.
@@ -413,7 +378,7 @@ static void clocksource_select(void)
{
struct clocksource *best, *cs;
- if (list_empty(&clocksource_list))
+ if (!finished_booting || list_empty(&clocksource_list))
return;
/* First clocksource on the list has the best rating. */
best = list_first_entry(&clocksource_list, struct clocksource, list);
@@ -438,13 +403,31 @@ static void clocksource_select(void)
best = cs;
break;
}
- if (curr_clocksource != best)
- next_clocksource = best;
+ if (curr_clocksource != best) {
+ printk(KERN_INFO "Switching to clocksource %s\n", best->name);
+ curr_clocksource = best;
+ timekeeping_notify(curr_clocksource);
+ }
}
+/*
+ * clocksource_done_booting - Called near the end of core bootup
+ *
+ * Hack to avoid lots of clocksource churn at boot time.
+ * We use fs_initcall because we want this to start before
+ * device_initcall but after subsys_initcall.
+ */
+static int __init clocksource_done_booting(void)
+{
+ finished_booting = 1;
+ clocksource_select();
+ return 0;
+}
+fs_initcall(clocksource_done_booting);
+
#else /* CONFIG_GENERIC_TIME */
-static void clocksource_select(void) { }
+static inline void clocksource_select(void) { }
#endif
@@ -471,13 +454,11 @@ static void clocksource_enqueue(struct c
*/
int clocksource_register(struct clocksource *cs)
{
- unsigned long flags;
-
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
clocksource_enqueue(cs);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
clocksource_enqueue_watchdog(cs);
+ mutex_unlock(&clocksource_mutex);
return 0;
}
EXPORT_SYMBOL(clocksource_register);
@@ -487,14 +468,12 @@ EXPORT_SYMBOL(clocksource_register);
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
- unsigned long flags;
-
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
list_del(&cs->list);
cs->rating = rating;
clocksource_enqueue(cs);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_change_rating);
@@ -503,13 +482,11 @@ EXPORT_SYMBOL(clocksource_change_rating)
*/
void clocksource_unregister(struct clocksource *cs)
{
- unsigned long flags;
-
+ mutex_lock(&clocksource_mutex);
clocksource_dequeue_watchdog(cs);
- spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_unregister);
@@ -527,9 +504,9 @@ sysfs_show_current_clocksources(struct s
{
ssize_t count = 0;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
count = snprintf(buf, PAGE_SIZE, "%s\n", curr_clocksource->name);
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
return count;
}
@@ -555,14 +532,14 @@ static ssize_t sysfs_override_clocksourc
if (buf[count-1] == '\n')
count--;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
if (count > 0)
memcpy(override_name, buf, count);
override_name[count] = 0;
clocksource_select();
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
return count;
}
@@ -582,7 +559,7 @@ sysfs_show_available_clocksources(struct
struct clocksource *src;
ssize_t count = 0;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
list_for_each_entry(src, &clocksource_list, list) {
/*
* Don't show non-HRES clocksource if the tick code is
@@ -594,7 +571,7 @@ sysfs_show_available_clocksources(struct
max((ssize_t)PAGE_SIZE - count, (ssize_t)0),
"%s ", src->name);
}
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
count += snprintf(buf + count,
max((ssize_t)PAGE_SIZE - count, (ssize_t)0), "\n");
@@ -649,11 +626,10 @@ device_initcall(init_clocksource_sysfs);
*/
static int __init boot_override_clocksource(char* str)
{
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
if (str)
strlcpy(override_name, str, sizeof(override_name));
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
return 1;
}
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -18,6 +18,7 @@
#include <linux/jiffies.h>
#include <linux/time.h>
#include <linux/tick.h>
+#include <linux/stop_machine.h>
/* Structure holding internal timekeeping values. */
struct timekeeper {
@@ -179,6 +180,7 @@ void timekeeping_leap_insert(int leapsec
}
#ifdef CONFIG_GENERIC_TIME
+
/**
* timekeeping_forward_now - update clock to the current time
*
@@ -351,31 +353,40 @@ EXPORT_SYMBOL(do_settimeofday);
*
* Accumulates current time interval and initializes new clocksource
*/
-static void change_clocksource(void)
+static int change_clocksource(void *data)
{
struct clocksource *new, *old;
- new = clocksource_get_next();
-
- if (!new || timekeeper.clock == new)
- return;
+ new = (struct clocksource *) data;
timekeeping_forward_now();
+ if (!new->enable || new->enable(new) == 0) {
+ old = timekeeper.clock;
+ timekeeper_setup_internals(new);
+ if (old->disable)
+ old->disable(old);
+ }
+ return 0;
+}
- if (new->enable && ! new->enable(new))
+/**
+ * timekeeping_notify - Install a new clock source
+ * @clock: pointer to the clock source
+ *
+ * This function is called from clocksource.c after a new, better clock
+ * source has been registered. The caller holds the clocksource_mutex.
+ */
+void timekeeping_notify(struct clocksource *clock)
+{
+ if (timekeeper.clock == clock)
return;
-
- old = timekeeper.clock;
- timekeeper_setup_internals(new);
-
- if (old->disable)
- old->disable(old);
-
+ stop_machine(change_clocksource, clock, NULL);
tick_clock_notify();
}
+
#else /* GENERIC_TIME */
+
static inline void timekeeping_forward_now(void) { }
-static inline void change_clocksource(void) { }
/**
* ktime_get - get the monotonic time in ktime_t format
@@ -416,6 +427,7 @@ void ktime_get_ts(struct timespec *ts)
ts->tv_nsec + tomono.tv_nsec);
}
EXPORT_SYMBOL_GPL(ktime_get_ts);
+
#endif /* !GENERIC_TIME */
/**
@@ -772,7 +784,6 @@ void update_wall_time(void)
update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
- change_clocksource();
update_vsyscall(&xtime, timekeeper.clock);
}
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 14/15] read_persistent_clock should return a timespec
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (12 preceding siblings ...)
2009-08-14 13:47 ` [patch 13/15] update clocksource with stop_machine Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 15/15] introduce read_boot_clock Martin Schwidefsky
` (3 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: persistent_time.diff --]
[-- Type: text/plain, Size: 16497 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The persistent clock of some architectures (e.g. s390) have a
better granularity than seconds. To reduce the delta between the
host clock and the guest clock in a virtualized system change the
read_persistent_clock function to return a struct timespec.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/m68knommu/kernel/time.c | 5 +--
arch/mips/dec/time.c | 5 +--
arch/mips/lasat/ds1603.c | 5 +--
arch/mips/lasat/sysctl.c | 8 +++--
arch/mips/lemote/lm2e/setup.c | 5 +--
arch/mips/mti-malta/malta-time.c | 5 +--
arch/mips/pmc-sierra/yosemite/setup.c | 5 +--
arch/mips/sibyte/swarm/setup.c | 15 +++++++--
arch/mips/sni/time.c | 5 +--
arch/powerpc/kernel/time.c | 7 ++--
arch/s390/kernel/time.c | 22 ++------------
arch/sh/kernel/time.c | 6 +--
arch/x86/kernel/rtc.c | 5 +--
arch/xtensa/kernel/time.c | 5 +--
include/linux/time.h | 2 -
kernel/time/timekeeping.c | 52 ++++++++++++++++++----------------
16 files changed, 83 insertions(+), 74 deletions(-)
Index: linux-2.6/arch/m68knommu/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/m68knommu/kernel/time.c
+++ linux-2.6/arch/m68knommu/kernel/time.c
@@ -72,9 +72,10 @@ static unsigned long read_rtc_mmss(void)
return mktime(year, mon, day, hour, min, sec);;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return read_rtc_mmss();
+ ts->tv_sec = read_rtc_mmss();
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/mips/dec/time.c
===================================================================
--- linux-2.6.orig/arch/mips/dec/time.c
+++ linux-2.6/arch/mips/dec/time.c
@@ -18,7 +18,7 @@
#include <asm/dec/ioasic.h>
#include <asm/dec/machtype.h>
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, mon, day, hour, min, sec, real_year;
unsigned long flags;
@@ -53,7 +53,8 @@ unsigned long read_persistent_clock(void
year += real_year - 72 + 2000;
- return mktime(year, mon, day, hour, min, sec);
+ ts->tv_sec = mktime(year, mon, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
/*
Index: linux-2.6/arch/mips/lasat/ds1603.c
===================================================================
--- linux-2.6.orig/arch/mips/lasat/ds1603.c
+++ linux-2.6/arch/mips/lasat/ds1603.c
@@ -135,7 +135,7 @@ static void rtc_end_op(void)
lasat_ndelay(1000);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long word;
unsigned long flags;
@@ -147,7 +147,8 @@ unsigned long read_persistent_clock(void
rtc_end_op();
spin_unlock_irqrestore(&rtc_lock, flags);
- return word;
+ ts->tv_sec = word;
+ ts->tv_nsec = 0;
}
int rtc_mips_set_mmss(unsigned long time)
Index: linux-2.6/arch/mips/lasat/sysctl.c
===================================================================
--- linux-2.6.orig/arch/mips/lasat/sysctl.c
+++ linux-2.6/arch/mips/lasat/sysctl.c
@@ -92,10 +92,12 @@ static int rtctmp;
int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
void *buffer, size_t *lenp, loff_t *ppos)
{
+ struct timespec ts;
int r;
if (!write) {
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
/* check for time < 0 and set to 0 */
if (rtctmp < 0)
rtctmp = 0;
@@ -134,9 +136,11 @@ int sysctl_lasat_rtc(ctl_table *table,
void *oldval, size_t *oldlenp,
void *newval, size_t newlen)
{
+ struct timespec ts;
int r;
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
if (rtctmp < 0)
rtctmp = 0;
r = sysctl_intvec(table, oldval, oldlenp, newval, newlen);
Index: linux-2.6/arch/mips/lemote/lm2e/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/lemote/lm2e/setup.c
+++ linux-2.6/arch/mips/lemote/lm2e/setup.c
@@ -54,9 +54,10 @@ void __init plat_time_init(void)
mips_hpt_frequency = cpu_clock_freq / 2;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
void (*__wbflush)(void);
Index: linux-2.6/arch/mips/mti-malta/malta-time.c
===================================================================
--- linux-2.6.orig/arch/mips/mti-malta/malta-time.c
+++ linux-2.6/arch/mips/mti-malta/malta-time.c
@@ -100,9 +100,10 @@ static unsigned int __init estimate_cpu_
return count;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
static void __init plat_perf_setup(void)
Index: linux-2.6/arch/mips/pmc-sierra/yosemite/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/pmc-sierra/yosemite/setup.c
+++ linux-2.6/arch/mips/pmc-sierra/yosemite/setup.c
@@ -70,7 +70,7 @@ void __init bus_error_init(void)
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, month, day, hour, min, sec;
unsigned long flags;
@@ -92,7 +92,8 @@ unsigned long read_persistent_clock(void
m48t37_base->control = 0x00;
spin_unlock_irqrestore(&rtc_lock, flags);
- return mktime(year, month, day, hour, min, sec);
+ ts->tv_sec = mktime(year, month, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long tim)
Index: linux-2.6/arch/mips/sibyte/swarm/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/sibyte/swarm/setup.c
+++ linux-2.6/arch/mips/sibyte/swarm/setup.c
@@ -87,19 +87,26 @@ enum swarm_rtc_type {
enum swarm_rtc_type swarm_rtc_type;
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
+ unsigned long sec;
+
switch (swarm_rtc_type) {
case RTC_XICOR:
- return xicor_get_time();
+ sec = xicor_get_time();
+ break;
case RTC_M4LT81:
- return m41t81_get_time();
+ sec = m41t81_get_time();
+ break;
case RTC_NONE:
default:
- return mktime(2000, 1, 1, 0, 0, 0);
+ sec = mktime(2000, 1, 1, 0, 0, 0);
+ break;
}
+ ts->tv_sec = sec;
+ tv->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long sec)
Index: linux-2.6/arch/mips/sni/time.c
===================================================================
--- linux-2.6.orig/arch/mips/sni/time.c
+++ linux-2.6/arch/mips/sni/time.c
@@ -182,7 +182,8 @@ void __init plat_time_init(void)
setup_pit_timer();
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return -1;
+ ts->tv_sec = -1;
+ ts->tv_nsec = 0;
}
Index: linux-2.6/arch/powerpc/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/powerpc/kernel/time.c
+++ linux-2.6/arch/powerpc/kernel/time.c
@@ -772,7 +772,7 @@ int update_persistent_clock(struct times
return ppc_md.set_rtc_time(&tm);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
struct rtc_time tm;
static int first = 1;
@@ -790,8 +790,9 @@ unsigned long read_persistent_clock(void
if (!ppc_md.get_rtc_time)
return 0;
ppc_md.get_rtc_time(&tm);
- return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
+ tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_nsec = 0;
}
/* clocksource code */
Index: linux-2.6/arch/s390/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/s390/kernel/time.c
+++ linux-2.6/arch/s390/kernel/time.c
@@ -182,12 +182,9 @@ static void timing_alert_interrupt(__u16
static void etr_reset(void);
static void stp_reset(void);
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec ts;
-
- tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, &ts);
- return ts.tv_sec;
+ tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, ts);
}
static cycle_t read_tod_clock(struct clocksource *cs)
@@ -248,7 +245,6 @@ void __init time_init(void)
{
struct timespec ts;
unsigned long flags;
- cycle_t now;
/* Reset time synchronization interfaces. */
etr_reset();
@@ -266,20 +262,10 @@ void __init time_init(void)
panic("Could not register TOD clock source");
/*
- * The TOD clock is an accurate clock. The xtime should be
- * initialized in a way that the difference between TOD and
- * xtime is reasonably small. Too bad that timekeeping_init
- * sets xtime.tv_nsec to zero. In addition the clock source
- * change from the jiffies clock source to the TOD clock
- * source add another error of up to 1/HZ second. The same
- * function sets wall_to_monotonic to a value that is too
- * small for /proc/uptime to be accurate.
- * Reset xtime and wall_to_monotonic to sane values.
+ * Reset wall_to_monotonic to the initial timestamp created
+ * in head.S to get a precise value in /proc/uptime.
*/
write_seqlock_irqsave(&xtime_lock, flags);
- now = get_clock();
- tod_to_timeval(now - TOD_UNIX_EPOCH, &xtime);
- clocksource_tod.cycle_last = now;
tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
write_sequnlock_irqrestore(&xtime_lock, flags);
Index: linux-2.6/arch/sh/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/sh/kernel/time.c
+++ linux-2.6/arch/sh/kernel/time.c
@@ -39,11 +39,9 @@ void (*rtc_sh_get_time)(struct timespec
int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time;
#ifdef CONFIG_GENERIC_CMOS_UPDATE
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec tv;
- rtc_sh_get_time(&tv);
- return tv.tv_sec;
+ rtc_sh_get_time(&ts);
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/x86/kernel/rtc.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/rtc.c
+++ linux-2.6/arch/x86/kernel/rtc.c
@@ -178,7 +178,7 @@ static int set_rtc_mmss(unsigned long no
}
/* not static: needed by APM */
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long retval, flags;
@@ -186,7 +186,8 @@ unsigned long read_persistent_clock(void
retval = get_wallclock();
spin_unlock_irqrestore(&rtc_lock, flags);
- return retval;
+ ts->tv_sec = retval;
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/xtensa/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/xtensa/kernel/time.c
+++ linux-2.6/arch/xtensa/kernel/time.c
@@ -59,9 +59,8 @@ static struct irqaction timer_irqaction
void __init time_init(void)
{
- xtime.tv_nsec = 0;
- xtime.tv_sec = read_persistent_clock();
-
+ /* FIXME: xtime&wall_to_monotonic are set in timekeeping_init. */
+ read_persistent_clock(&xtime);
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
Index: linux-2.6/include/linux/time.h
===================================================================
--- linux-2.6.orig/include/linux/time.h
+++ linux-2.6/include/linux/time.h
@@ -101,7 +101,7 @@ extern struct timespec xtime;
extern struct timespec wall_to_monotonic;
extern seqlock_t xtime_lock;
-extern unsigned long read_persistent_clock(void);
+extern void read_persistent_clock(struct timespec *ts);
extern int update_persistent_clock(struct timespec now);
extern int no_sync_cmos_clock __read_mostly;
void timekeeping_init(void);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -154,7 +154,7 @@ __cacheline_aligned_in_smp DEFINE_SEQLOC
*/
struct timespec xtime __attribute__ ((aligned (16)));
struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
-static unsigned long total_sleep_time; /* seconds */
+static struct timespec total_sleep_time;
/*
* The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock.
@@ -487,17 +487,18 @@ int timekeeping_valid_for_hres(void)
}
/**
- * read_persistent_clock - Return time in seconds from the persistent clock.
+ * read_persistent_clock - Return time from the persistent clock.
*
* Weak dummy function for arches that do not yet support it.
- * Returns seconds from epoch using the battery backed persistent clock.
- * Returns zero if unsupported.
+ * Reads the time from the battery backed persistent clock.
+ * Returns a timespec with tv_sec=0 and tv_nsec=0 if unsupported.
*
* XXX - Do be sure to remove it once all arches implement it.
*/
-unsigned long __attribute__((weak)) read_persistent_clock(void)
+void __attribute__((weak)) read_persistent_clock(struct timespec *ts)
{
- return 0;
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
}
/*
@@ -507,7 +508,9 @@ void __init timekeeping_init(void)
{
struct clocksource *clock;
unsigned long flags;
- unsigned long sec = read_persistent_clock();
+ struct timespec now;
+
+ read_persistent_clock(&now);
write_seqlock_irqsave(&xtime_lock, flags);
@@ -518,19 +521,20 @@ void __init timekeeping_init(void)
clock->enable(clock);
timekeeper_setup_internals(clock);
- xtime.tv_sec = sec;
- xtime.tv_nsec = 0;
+ xtime.tv_sec = now.tv_sec;
+ xtime.tv_nsec = now.tv_nsec;
raw_time.tv_sec = 0;
raw_time.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
update_xtime_cache(0);
- total_sleep_time = 0;
+ total_sleep_time.tv_sec = 0;
+ total_sleep_time.tv_nsec = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
}
/* time in seconds when suspend began */
-static unsigned long timekeeping_suspend_time;
+static struct timespec timekeeping_suspend_time;
/**
* timekeeping_resume - Resumes the generic timekeeping subsystem.
@@ -543,18 +547,19 @@ static unsigned long timekeeping_suspend
static int timekeeping_resume(struct sys_device *dev)
{
unsigned long flags;
- unsigned long now = read_persistent_clock();
+ struct timespec ts;
+
+ read_persistent_clock(&ts);
clocksource_resume();
write_seqlock_irqsave(&xtime_lock, flags);
- if (now && (now > timekeeping_suspend_time)) {
- unsigned long sleep_length = now - timekeeping_suspend_time;
-
- xtime.tv_sec += sleep_length;
- wall_to_monotonic.tv_sec -= sleep_length;
- total_sleep_time += sleep_length;
+ if (timespec_compare(&ts, &timekeeping_suspend_time) > 0) {
+ ts = timespec_sub(ts, timekeeping_suspend_time);
+ xtime = timespec_add_safe(xtime, ts);
+ wall_to_monotonic = timespec_sub(wall_to_monotonic, ts);
+ total_sleep_time = timespec_add_safe(total_sleep_time, ts);
}
update_xtime_cache(0);
/* re-base the last cycle value */
@@ -577,7 +582,7 @@ static int timekeeping_suspend(struct sy
{
unsigned long flags;
- timekeeping_suspend_time = read_persistent_clock();
+ read_persistent_clock(&timekeeping_suspend_time);
write_seqlock_irqsave(&xtime_lock, flags);
timekeeping_forward_now();
@@ -800,9 +805,10 @@ void update_wall_time(void)
*/
void getboottime(struct timespec *ts)
{
- set_normalized_timespec(ts,
- - (wall_to_monotonic.tv_sec + total_sleep_time),
- - wall_to_monotonic.tv_nsec);
+ struct timespec boottime;
+
+ boottime = timespec_add_safe(wall_to_monotonic, total_sleep_time);
+ set_normalized_timespec(ts, -boottime.tv_sec, -boottime.tv_nsec);
}
/**
@@ -811,7 +817,7 @@ void getboottime(struct timespec *ts)
*/
void monotonic_to_bootbased(struct timespec *ts)
{
- ts->tv_sec += total_sleep_time;
+ *ts = timespec_add_safe(*ts, total_sleep_time);
}
unsigned long get_seconds(void)
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [patch 15/15] introduce read_boot_clock
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (13 preceding siblings ...)
2009-08-14 13:47 ` [patch 14/15] read_persistent_clock should return a timespec Martin Schwidefsky
@ 2009-08-14 13:47 ` Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Introduce read_boot_clock tip-bot for Martin Schwidefsky
2009-08-14 14:08 ` [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Thomas Gleixner
` (2 subsequent siblings)
17 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 13:47 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Thomas Gleixner, john stultz, Daniel Walker,
Martin Schwidefsky
[-- Attachment #1: init_monotonic.diff --]
[-- Type: text/plain, Size: 4181 bytes --]
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Add the new function read_boot_clock to get the exact time the
system has been started. For architectures without support for
exact boot time a new weak function is added that returns 0.
Use the exact boot time to initialize wall_to_monotonic, or
xtime if the read_boot_clock returned 0.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/s390/kernel/time.c | 17 +++++------------
include/linux/time.h | 1 +
kernel/time/timekeeping.c | 24 ++++++++++++++++++++++--
3 files changed, 28 insertions(+), 14 deletions(-)
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -501,6 +501,21 @@ void __attribute__((weak)) read_persiste
ts->tv_nsec = 0;
}
+/**
+ * read_boot_clock - Return time of the system start.
+ *
+ * Weak dummy function for arches that do not yet support it.
+ * Function to read the exact time the system has been started.
+ * Returns a timespec with tv_sec=0 and tv_nsec=0 if unsupported.
+ *
+ * XXX - Do be sure to remove it once all arches implement it.
+ */
+void __attribute__((weak)) read_boot_clock(struct timespec *ts)
+{
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
+}
+
/*
* timekeeping_init - Initializes the clocksource and common timekeeping values
*/
@@ -508,9 +523,10 @@ void __init timekeeping_init(void)
{
struct clocksource *clock;
unsigned long flags;
- struct timespec now;
+ struct timespec now, boot;
read_persistent_clock(&now);
+ read_boot_clock(&boot);
write_seqlock_irqsave(&xtime_lock, flags);
@@ -525,8 +541,12 @@ void __init timekeeping_init(void)
xtime.tv_nsec = now.tv_nsec;
raw_time.tv_sec = 0;
raw_time.tv_nsec = 0;
+ if (boot.tv_sec == 0 && boot.tv_nsec == 0) {
+ boot.tv_sec = xtime.tv_sec;
+ boot.tv_nsec = xtime.tv_nsec;
+ }
set_normalized_timespec(&wall_to_monotonic,
- -xtime.tv_sec, -xtime.tv_nsec);
+ -boot.tv_sec, -boot.tv_nsec);
update_xtime_cache(0);
total_sleep_time.tv_sec = 0;
total_sleep_time.tv_nsec = 0;
Index: linux-2.6/arch/s390/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/s390/kernel/time.c
+++ linux-2.6/arch/s390/kernel/time.c
@@ -187,6 +187,11 @@ void read_persistent_clock(struct timesp
tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, ts);
}
+void read_boot_clock(struct timespec *ts)
+{
+ tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, ts);
+}
+
static cycle_t read_tod_clock(struct clocksource *cs)
{
return get_clock();
@@ -243,9 +248,6 @@ void update_vsyscall_tz(void)
*/
void __init time_init(void)
{
- struct timespec ts;
- unsigned long flags;
-
/* Reset time synchronization interfaces. */
etr_reset();
stp_reset();
@@ -261,15 +263,6 @@ void __init time_init(void)
if (clocksource_register(&clocksource_tod) != 0)
panic("Could not register TOD clock source");
- /*
- * Reset wall_to_monotonic to the initial timestamp created
- * in head.S to get a precise value in /proc/uptime.
- */
- write_seqlock_irqsave(&xtime_lock, flags);
- tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
- set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
- write_sequnlock_irqrestore(&xtime_lock, flags);
-
/* Enable TOD clock interrupts on the boot cpu. */
init_cpu_timer();
Index: linux-2.6/include/linux/time.h
===================================================================
--- linux-2.6.orig/include/linux/time.h
+++ linux-2.6/include/linux/time.h
@@ -102,6 +102,7 @@ extern struct timespec wall_to_monotonic
extern seqlock_t xtime_lock;
extern void read_persistent_clock(struct timespec *ts);
+extern void read_boot_clock(struct timespec *ts);
extern int update_persistent_clock(struct timespec now);
extern int no_sync_cmos_clock __read_mostly;
void timekeeping_init(void);
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (14 preceding siblings ...)
2009-08-14 13:47 ` [patch 15/15] introduce read_boot_clock Martin Schwidefsky
@ 2009-08-14 14:08 ` Thomas Gleixner
2009-08-14 14:22 ` Martin Schwidefsky
2009-08-14 22:56 ` john stultz
2009-08-15 1:46 ` john stultz
17 siblings, 1 reply; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-14 14:08 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: linux-kernel, Ingo Molnar, john stultz
Martin,
On Fri, 14 Aug 2009, Martin Schwidefsky wrote:
> Greetings,
> version 4 of the clocksource / timekeeping cleanup patches. If you
> wonder why version 3 did not show up on the mailing list: I had a
> hiccup with quilt which did strange things to the message ids and
> the post to lkml got rejected. Sorry for the spamming of the people
> on Cc.
>
> John pointed out a subtle bug in v3 of the patch set with the reset of
> the cycle_last value in timekeeping_resume. Fixed in v4.
>
> The latest additions are:
> 1) Change read_persistent_clock to return a struct timespec instead of
> an unsigned long with the number of seconds.
> 2) Introduce read_boot_clock to initialize wall_to_monotonic.
> 3) Move the reset of cycle_last to zero from the timekeeping code to
> the TSC code.
>
> The patch set is based on todays upstream tree plus the patches from
> the tip tree, if anyone wants to try them you need to pull from the
> master branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
>
> Keeping the fingers crossed that this is now really done.
> John already gave his thumbs up for the patch series, so the next
> logical question is who is going to sit on the patches until the merge
> window is opened? I can certainly create a git branch on git390 for
> them, but the patches depend on some patches in the x86-tip tree.
> Thomas, any thoughts?
I'm going through them and pick them up into -tip.
Thanks,
tglx
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-14 14:08 ` [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Thomas Gleixner
@ 2009-08-14 14:22 ` Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-14 14:22 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: linux-kernel, Ingo Molnar, john stultz
On Fri, 14 Aug 2009 16:08:57 +0200 (CEST)
Thomas Gleixner <tglx@linutronix.de> wrote:
> > Keeping the fingers crossed that this is now really done.
> > John already gave his thumbs up for the patch series, so the next
> > logical question is who is going to sit on the patches until the merge
> > window is opened? I can certainly create a git branch on git390 for
> > them, but the patches depend on some patches in the x86-tip tree.
> > Thomas, any thoughts?
>
> I'm going through them and pick them up into -tip.
Very good, thanks Thomas.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (15 preceding siblings ...)
2009-08-14 14:08 ` [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Thomas Gleixner
@ 2009-08-14 22:56 ` john stultz
2009-08-15 1:46 ` john stultz
17 siblings, 0 replies; 78+ messages in thread
From: john stultz @ 2009-08-14 22:56 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: linux-kernel, Ingo Molnar, Thomas Gleixner
On Fri, 2009-08-14 at 15:47 +0200, Martin Schwidefsky wrote:
> Greetings,
> version 4 of the clocksource / timekeeping cleanup patches. If you
> wonder why version 3 did not show up on the mailing list: I had a
> hiccup with quilt which did strange things to the message ids and
> the post to lkml got rejected. Sorry for the spamming of the people
> on Cc.
>
> John pointed out a subtle bug in v3 of the patch set with the reset of
> the cycle_last value in timekeeping_resume. Fixed in v4.
>
> The latest additions are:
> 1) Change read_persistent_clock to return a struct timespec instead of
> an unsigned long with the number of seconds.
> 2) Introduce read_boot_clock to initialize wall_to_monotonic.
> 3) Move the reset of cycle_last to zero from the timekeeping code to
> the TSC code.
>
> The patch set is based on todays upstream tree plus the patches from
> the tip tree, if anyone wants to try them you need to pull from the
> master branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
>
> Keeping the fingers crossed that this is now really done.
> John already gave his thumbs up for the patch series, so the next
> logical question is who is going to sit on the patches until the merge
> window is opened? I can certainly create a git branch on git390 for
> them, but the patches depend on some patches in the x86-tip tree.
> Thomas, any thoughts?
Just as a heads up to Thomas and Martin, I finally got a box with a few
clocksources (TSC, HPET, ACPI PM) and tested switching between them with
this patch set.
Unfortunately when I try to switch away form the TSC, the write to the
sysfs entry seems to hang. The dmesg shows a switch message to hpet, but
then immdiately follows with ah switch message to tsc. The box still
runs, but the shells I ran the echo command from are hung.
I'm bisecting down the issue and will get you some more info as soon as
I can.
thanks
-john
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 04/15] cleanup clocksource selection
2009-08-14 13:47 ` [patch 04/15] cleanup clocksource selection Martin Schwidefsky
@ 2009-08-15 1:42 ` john stultz
2009-08-15 1:43 ` john stultz
2009-08-17 7:34 ` Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Cleanup " tip-bot for Martin Schwidefsky
1 sibling, 2 replies; 78+ messages in thread
From: john stultz @ 2009-08-15 1:42 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: linux-kernel, Ingo Molnar, Thomas Gleixner, Daniel Walker
On Fri, 2009-08-14 at 15:47 +0200, Martin Schwidefsky wrote:
> plain text document attachment (clocksource-select.diff)
> From: Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> If a non high-resolution clocksource is first set as override clock
> and then registered it becomes active even if the system is in
> on-shot mode. Move the override check from sysfs_override_clocksource
> to the clocksource selection. That fixes the bug and simplifies the
> code. The check in clocksource_register for double registration of
> the same clocksource is removed without replacement.
>
> To find the initial clocksource a new weak function in jiffies.c is
> defined that returns the jiffies clocksource. The architecture code
> can then override the weak function with a more suitable clocksource,
> e.g. the TOD clock on s390.
Hey Martin,
So I found the issue I sent mail about earlier, this is patch breaks
sysfs clocksource overrides. The suggested fix is below:
> @@ -478,10 +478,6 @@ static ssize_t sysfs_override_clocksourc
> struct sysdev_attribute *attr,
> const char *buf, size_t count)
> {
> - struct clocksource *ovr = NULL;
> - size_t ret = count;
> - int len;
> -
> /* strings from sysfs write are not 0 terminated! */
> if (count >= sizeof(override_name))
> return -EINVAL;
> @@ -495,41 +491,11 @@ static ssize_t sysfs_override_clocksourc
> if (count > 0)
> memcpy(override_name, buf, count);
> override_name[count] = 0;
> -
> - len = strlen(override_name);
> - if (len) {
> - struct clocksource *cs;
> -
> - ovr = clocksource_override;
> - /* try to select it: */
> - list_for_each_entry(cs, &clocksource_list, list) {
> - if (strlen(cs->name) == len &&
> - !strcmp(cs->name, override_name))
> - ovr = cs;
> - }
> - }
> -
> - /*
> - * Check to make sure we don't switch to a non-highres capable
> - * clocksource if the tick code is in oneshot mode (highres or nohz)
> - */
> - if (tick_oneshot_mode_active() && ovr &&
> - !(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) {
> - printk(KERN_WARNING "%s clocksource is not HRT compatible. "
> - "Cannot switch while in HRT/NOHZ mode\n", ovr->name);
> - ovr = NULL;
> - override_name[0] = 0;
> - }
> -
> - /* Reselect, when the override name has changed */
> - if (ovr != clocksource_override) {
> - clocksource_override = ovr;
> - next_clocksource = select_clocksource();
> - }
> + clocksource_select();
>
> spin_unlock_irq(&clocksource_lock);
>
> - return ret;
> + return count;
> }
Here when you return count, count may have been decremented in the code
above, which causes the writer to get back fewer bytes then what they
passed in, causing the last char to be repeatedly sent. This is what
causes the immediate switch back to the default clocksource (override
gets set to null), and the hang of the command writing to the sysfs
file.
The fix is simply keeping the initial "size_t ret = count;" and the
final "return ret;"
Index: linux-2.6-tip/kernel/time/clocksource.c
===================================================================
--- linux-2.6-tip.orig/kernel/time/clocksource.c 2009-08-14 17:29:50.000000000 -0400
+++ linux-2.6-tip/kernel/time/clocksource.c 2009-08-14 17:30:36.000000000 -0400
@@ -478,6 +478,8 @@
struct sysdev_attribute *attr,
const char *buf, size_t count)
{
+ size_t ret = count;
+
/* strings from sysfs write are not 0 terminated! */
if (count >= sizeof(override_name))
return -EINVAL;
@@ -495,7 +497,7 @@
spin_unlock_irq(&clocksource_lock);
- return count;
+ return ret;
}
/**
thanks
-john
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 04/15] cleanup clocksource selection
2009-08-15 1:42 ` john stultz
@ 2009-08-15 1:43 ` john stultz
2009-08-17 7:34 ` Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: john stultz @ 2009-08-15 1:43 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: linux-kernel, Ingo Molnar, Thomas Gleixner, Daniel Walker
On Fri, 2009-08-14 at 18:42 -0700, john stultz wrote:
> On Fri, 2009-08-14 at 15:47 +0200, Martin Schwidefsky wrote:
> > plain text document attachment (clocksource-select.diff)
> > From: Martin Schwidefsky <schwidefsky@de.ibm.com>
> >
> > If a non high-resolution clocksource is first set as override clock
> > and then registered it becomes active even if the system is in
> > on-shot mode. Move the override check from sysfs_override_clocksource
> > to the clocksource selection. That fixes the bug and simplifies the
> > code. The check in clocksource_register for double registration of
> > the same clocksource is removed without replacement.
> >
> > To find the initial clocksource a new weak function in jiffies.c is
> > defined that returns the jiffies clocksource. The architecture code
> > can then override the weak function with a more suitable clocksource,
> > e.g. the TOD clock on s390.
>
>
> Hey Martin,
>
> So I found the issue I sent mail about earlier, this is patch breaks
> sysfs clocksource overrides. The suggested fix is below:
>
>
> > @@ -478,10 +478,6 @@ static ssize_t sysfs_override_clocksourc
> > struct sysdev_attribute *attr,
> > const char *buf, size_t count)
> > {
> > - struct clocksource *ovr = NULL;
> > - size_t ret = count;
> > - int len;
> > -
> > /* strings from sysfs write are not 0 terminated! */
> > if (count >= sizeof(override_name))
> > return -EINVAL;
> > @@ -495,41 +491,11 @@ static ssize_t sysfs_override_clocksourc
> > if (count > 0)
> > memcpy(override_name, buf, count);
> > override_name[count] = 0;
> > -
> > - len = strlen(override_name);
> > - if (len) {
> > - struct clocksource *cs;
> > -
> > - ovr = clocksource_override;
> > - /* try to select it: */
> > - list_for_each_entry(cs, &clocksource_list, list) {
> > - if (strlen(cs->name) == len &&
> > - !strcmp(cs->name, override_name))
> > - ovr = cs;
> > - }
> > - }
> > -
> > - /*
> > - * Check to make sure we don't switch to a non-highres capable
> > - * clocksource if the tick code is in oneshot mode (highres or nohz)
> > - */
> > - if (tick_oneshot_mode_active() && ovr &&
> > - !(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) {
> > - printk(KERN_WARNING "%s clocksource is not HRT compatible. "
> > - "Cannot switch while in HRT/NOHZ mode\n", ovr->name);
> > - ovr = NULL;
> > - override_name[0] = 0;
> > - }
> > -
> > - /* Reselect, when the override name has changed */
> > - if (ovr != clocksource_override) {
> > - clocksource_override = ovr;
> > - next_clocksource = select_clocksource();
> > - }
> > + clocksource_select();
> >
> > spin_unlock_irq(&clocksource_lock);
> >
> > - return ret;
> > + return count;
> > }
>
> Here when you return count, count may have been decremented in the code
> above, which causes the writer to get back fewer bytes then what they
> passed in, causing the last char to be repeatedly sent. This is what
> causes the immediate switch back to the default clocksource (override
> gets set to null), and the hang of the command writing to the sysfs
> file.
>
> The fix is simply keeping the initial "size_t ret = count;" and the
> final "return ret;"
>
Oh, and with this small fixup the entire stack seems to be working
properly.
thanks
-john
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
` (16 preceding siblings ...)
2009-08-14 22:56 ` john stultz
@ 2009-08-15 1:46 ` john stultz
2009-08-15 9:01 ` Thomas Gleixner
17 siblings, 1 reply; 78+ messages in thread
From: john stultz @ 2009-08-15 1:46 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: linux-kernel, Ingo Molnar, Thomas Gleixner
On Fri, 2009-08-14 at 15:47 +0200, Martin Schwidefsky wrote:
> Greetings,
> version 4 of the clocksource / timekeeping cleanup patches. If you
> wonder why version 3 did not show up on the mailing list: I had a
> hiccup with quilt which did strange things to the message ids and
> the post to lkml got rejected. Sorry for the spamming of the people
> on Cc.
>
> John pointed out a subtle bug in v3 of the patch set with the reset of
> the cycle_last value in timekeeping_resume. Fixed in v4.
>
> The latest additions are:
> 1) Change read_persistent_clock to return a struct timespec instead of
> an unsigned long with the number of seconds.
> 2) Introduce read_boot_clock to initialize wall_to_monotonic.
> 3) Move the reset of cycle_last to zero from the timekeeping code to
> the TSC code.
>
> The patch set is based on todays upstream tree plus the patches from
> the tip tree, if anyone wants to try them you need to pull from the
> master branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
>
> Keeping the fingers crossed that this is now really done.
> John already gave his thumbs up for the patch series, so the next
> logical question is who is going to sit on the patches until the merge
> window is opened? I can certainly create a git branch on git390 for
> them, but the patches depend on some patches in the x86-tip tree.
> Thomas, any thoughts?
So with the fix I sent out to patch #4, this set looks good to me.
So for all of them, including the fixup:
Acked-by: John Stultz <johnstul@us.ibm.com>
thanks
-john
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-15 1:46 ` john stultz
@ 2009-08-15 9:01 ` Thomas Gleixner
2009-08-15 9:52 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-15 9:01 UTC (permalink / raw)
To: john stultz; +Cc: Martin Schwidefsky, linux-kernel, Ingo Molnar
On Fri, 14 Aug 2009, john stultz wrote:
> > Keeping the fingers crossed that this is now really done.
> > John already gave his thumbs up for the patch series, so the next
> > logical question is who is going to sit on the patches until the merge
> > window is opened? I can certainly create a git branch on git390 for
> > them, but the patches depend on some patches in the x86-tip tree.
> > Thomas, any thoughts?
>
> So with the fix I sent out to patch #4, this set looks good to me.
>
> So for all of them, including the fixup:
>
> Acked-by: John Stultz <johnstul@us.ibm.com>
Thanks John for the fix. I picked up everything and pushed it into
tip/timers/core.
Martin, thanks for the nice work. FYI, I massaged the commit messages
a bit as they were missing subsystem identifiers and I added some more
explanation to some of them.
Thanks,
tglx
^ permalink raw reply [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Introduce timekeeping_leap_insert
2009-08-14 13:47 ` [patch 01/15] introduce timekeeping_leap_insert Martin Schwidefsky
@ 2009-08-15 9:01 ` tip-bot for John Stultz
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for John Stultz @ 2009-08-15 9:01 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, tglx
Commit-ID: 31089c13bcb18d2cd2a3ddfbe3a28666346f237e
Gitweb: http://git.kernel.org/tip/31089c13bcb18d2cd2a3ddfbe3a28666346f237e
Author: John Stultz <johnstul@us.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:18 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:45 +0200
timekeeping: Introduce timekeeping_leap_insert
Move the adjustment of xtime, wall_to_monotonic and the update of the
vsyscall variables to the timekeeping code.
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
LKML-Reference: <20090814134807.609730216@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/time.h | 1 +
kernel/time/ntp.c | 7 ++-----
kernel/time/timekeeping.c | 7 +++++++
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/include/linux/time.h b/include/linux/time.h
index ea16c1a..e7c8445 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -147,6 +147,7 @@ extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
extern int timekeeping_valid_for_hres(void);
extern void update_wall_time(void);
extern void update_xtime_cache(u64 nsec);
+extern void timekeeping_leap_insert(int leapsecond);
struct tms;
extern void do_sys_times(struct tms *);
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 7fc6437..4800f93 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -194,8 +194,7 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
case TIME_OK:
break;
case TIME_INS:
- xtime.tv_sec--;
- wall_to_monotonic.tv_sec++;
+ timekeeping_leap_insert(-1);
time_state = TIME_OOP;
printk(KERN_NOTICE
"Clock: inserting leap second 23:59:60 UTC\n");
@@ -203,9 +202,8 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
res = HRTIMER_RESTART;
break;
case TIME_DEL:
- xtime.tv_sec++;
+ timekeeping_leap_insert(1);
time_tai--;
- wall_to_monotonic.tv_sec--;
time_state = TIME_WAIT;
printk(KERN_NOTICE
"Clock: deleting leap second 23:59:59 UTC\n");
@@ -219,7 +217,6 @@ static enum hrtimer_restart ntp_leap_second(struct hrtimer *timer)
time_state = TIME_OK;
break;
}
- update_vsyscall(&xtime, clock);
write_sequnlock(&xtime_lock);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 02c0b2c..b8b70fb 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -58,6 +58,13 @@ void update_xtime_cache(u64 nsec)
struct clocksource *clock;
+/* must hold xtime_lock */
+void timekeeping_leap_insert(int leapsecond)
+{
+ xtime.tv_sec += leapsecond;
+ wall_to_monotonic.tv_sec -= leapsecond;
+ update_vsyscall(&xtime, clock);
+}
#ifdef CONFIG_GENERIC_TIME
/**
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Remove clocksource inline functions
2009-08-14 13:47 ` [patch 02/15] remove clocksource inline functions Martin Schwidefsky
@ 2009-08-15 9:01 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:01 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, dwalker, hpa, mingo, johnstul, schwidefsky, tglx
Commit-ID: a0f7d48bfb95a4c5172a2756dbc4b82afc8e9ae4
Gitweb: http://git.kernel.org/tip/a0f7d48bfb95a4c5172a2756dbc4b82afc8e9ae4
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:19 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:45 +0200
timekeeping: Remove clocksource inline functions
The three inline functions clocksource_read, clocksource_enable and
clocksource_disable are simple wrappers of an indirect call plus the
copy from and to the mult_orig value. The functions are exclusively
used by the timekeeping code which has intimate knowledge of the
clocksource anyway. Therefore remove the inline functions. No
functional change.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134807.903108946@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/clocksource.h | 58 -------------------------------------------
kernel/time/timekeeping.c | 41 ++++++++++++++++++++---------
2 files changed, 28 insertions(+), 71 deletions(-)
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 1219be4..a1ef46f 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -268,64 +268,6 @@ static inline u32 clocksource_hz2mult(u32 hz, u32 shift_constant)
}
/**
- * clocksource_read: - Access the clocksource's current cycle value
- * @cs: pointer to clocksource being read
- *
- * Uses the clocksource to return the current cycle_t value
- */
-static inline cycle_t clocksource_read(struct clocksource *cs)
-{
- return cs->read(cs);
-}
-
-/**
- * clocksource_enable: - enable clocksource
- * @cs: pointer to clocksource
- *
- * Enables the specified clocksource. The clocksource callback
- * function should start up the hardware and setup mult and field
- * members of struct clocksource to reflect hardware capabilities.
- */
-static inline int clocksource_enable(struct clocksource *cs)
-{
- int ret = 0;
-
- if (cs->enable)
- ret = cs->enable(cs);
-
- /*
- * The frequency may have changed while the clocksource
- * was disabled. If so the code in ->enable() must update
- * the mult value to reflect the new frequency. Make sure
- * mult_orig follows this change.
- */
- cs->mult_orig = cs->mult;
-
- return ret;
-}
-
-/**
- * clocksource_disable: - disable clocksource
- * @cs: pointer to clocksource
- *
- * Disables the specified clocksource. The clocksource callback
- * function should power down the now unused hardware block to
- * save power.
- */
-static inline void clocksource_disable(struct clocksource *cs)
-{
- /*
- * Save mult_orig in mult so clocksource_enable() can
- * restore the value regardless if ->enable() updates
- * the value of mult or not.
- */
- cs->mult = cs->mult_orig;
-
- if (cs->disable)
- cs->disable(cs);
-}
-
-/**
* cyc2ns - converts clocksource cycles to nanoseconds
* @cs: Pointer to clocksource
* @cycles: Cycles
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index b8b70fb..016a259 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -79,7 +79,7 @@ static void clocksource_forward_now(void)
cycle_t cycle_now, cycle_delta;
s64 nsec;
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
@@ -114,7 +114,7 @@ void getnstimeofday(struct timespec *ts)
*ts = xtime;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -146,7 +146,7 @@ ktime_t ktime_get(void)
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -186,7 +186,7 @@ void ktime_get_ts(struct timespec *ts)
tomono = wall_to_monotonic;
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -274,16 +274,29 @@ static void change_clocksource(void)
clocksource_forward_now();
- if (clocksource_enable(new))
+ if (new->enable && !new->enable(new))
return;
+ /*
+ * The frequency may have changed while the clocksource
+ * was disabled. If so the code in ->enable() must update
+ * the mult value to reflect the new frequency. Make sure
+ * mult_orig follows this change.
+ */
+ new->mult_orig = new->mult;
new->raw_time = clock->raw_time;
old = clock;
clock = new;
- clocksource_disable(old);
+ /*
+ * Save mult_orig in mult so that the value can be restored
+ * regardless if ->enable() updates the value of mult or not.
+ */
+ old->mult = old->mult_orig;
+ if (old->disable)
+ old->disable(old);
clock->cycle_last = 0;
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
clock->error = 0;
clock->xtime_nsec = 0;
clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
@@ -373,7 +386,7 @@ void getrawmonotonic(struct timespec *ts)
seq = read_seqbegin(&xtime_lock);
/* read clocksource: */
- cycle_now = clocksource_read(clock);
+ cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
@@ -435,9 +448,12 @@ void __init timekeeping_init(void)
ntp_init();
clock = clocksource_get_next();
- clocksource_enable(clock);
+ if (clock->enable)
+ clock->enable(clock);
+ /* set mult_orig on enable */
+ clock->mult_orig = clock->mult;
clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
@@ -477,8 +493,7 @@ static int timekeeping_resume(struct sys_device *dev)
}
update_xtime_cache(0);
/* re-base the last cycle value */
- clock->cycle_last = 0;
- clock->cycle_last = clocksource_read(clock);
+ clock->cycle_last = clock->read(clock);
clock->error = 0;
timekeeping_suspended = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -630,7 +645,7 @@ void update_wall_time(void)
return;
#ifdef CONFIG_GENERIC_TIME
- offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask;
+ offset = (clock->read(clock) - clock->cycle_last) & clock->mask;
#else
offset = clock->cycle_interval;
#endif
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Move reset of cycle_last for tsc clocksource to tsc
2009-08-14 13:47 ` [patch 03/15] reset of cycle_last for tsc clocksource Martin Schwidefsky
@ 2009-08-15 9:01 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:01 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, dwalker, hpa, mingo, johnstul, schwidefsky, tglx
Commit-ID: 1be396794897f80bfc8774719ba60309a9e3d374
Gitweb: http://git.kernel.org/tip/1be396794897f80bfc8774719ba60309a9e3d374
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:20 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:45 +0200
timekeeping: Move reset of cycle_last for tsc clocksource to tsc
change_clocksource resets the cycle_last value to zero then sets it to
a value read from the clocksource. The reset to zero is required only
for the TSC clocksource to make the read_tsc function work after a
resume. The reason is that the TSC read function uses cycle_last to
detect backwards going TSCs. In the resume case cycle_last contains
the TSC value from the last update before the suspend. On resume the
TSC starts counting from 0 again and would trip over the cycle_last
comparison.
This is subtle and surprising. Move the reset to a resume function in
the tsc code.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134808.142191175@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/kernel/tsc.c | 6 ++++++
kernel/time/timekeeping.c | 1 -
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 71f4368..9684254 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -744,10 +744,16 @@ static cycle_t __vsyscall_fn vread_tsc(void)
}
#endif
+static void resume_tsc(void)
+{
+ clocksource_tsc.cycle_last = 0;
+}
+
static struct clocksource clocksource_tsc = {
.name = "tsc",
.rating = 300,
.read = read_tsc,
+ .resume = resume_tsc,
.mask = CLOCKSOURCE_MASK(64),
.shift = 22,
.flags = CLOCK_SOURCE_IS_CONTINUOUS |
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 016a259..b567301 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -295,7 +295,6 @@ static void change_clocksource(void)
if (old->disable)
old->disable(old);
- clock->cycle_last = 0;
clock->cycle_last = clock->read(clock);
clock->error = 0;
clock->xtime_nsec = 0;
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Cleanup clocksource selection
2009-08-14 13:47 ` [patch 04/15] cleanup clocksource selection Martin Schwidefsky
2009-08-15 1:42 ` john stultz
@ 2009-08-15 9:02 ` tip-bot for Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:02 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, dwalker, hpa, mingo, johnstul, schwidefsky, tglx
Commit-ID: f1b82746c1e93daf24e1ab9bfbd39bcdb2e7018b
Gitweb: http://git.kernel.org/tip/f1b82746c1e93daf24e1ab9bfbd39bcdb2e7018b
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:21 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
clocksource: Cleanup clocksource selection
If a non high-resolution clocksource is first set as override clock
and then registered it becomes active even if the system is in one-shot
mode. Move the override check from sysfs_override_clocksource to the
clocksource selection. That fixes the bug and simplifies the code. The
check in clocksource_register for double registration of the same
clocksource is removed without replacement.
To find the initial clocksource a new weak function in jiffies.c is
defined that returns the jiffies clocksource. The architecture code
can then override the weak function with a more suitable clocksource,
e.g. the TOD clock on s390.
[ tglx: Folded in a fix from John Stultz ]
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134808.388024160@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/s390/kernel/time.c | 4 +
include/linux/clocksource.h | 2 +
kernel/time/clocksource.c | 134 ++++++++++++++++--------------------------
kernel/time/jiffies.c | 6 ++-
kernel/time/timekeeping.c | 4 +-
5 files changed, 64 insertions(+), 86 deletions(-)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index d4c8e9c..afefe51 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -205,6 +205,10 @@ static struct clocksource clocksource_tod = {
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};
+struct clocksource * __init clocksource_default_clock(void)
+{
+ return &clocksource_tod;
+}
void update_vsyscall(struct timespec *wall_time, struct clocksource *clock)
{
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index a1ef46f..f263b3a 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -14,6 +14,7 @@
#include <linux/list.h>
#include <linux/cache.h>
#include <linux/timer.h>
+#include <linux/init.h>
#include <asm/div64.h>
#include <asm/io.h>
@@ -322,6 +323,7 @@ extern void clocksource_touch_watchdog(void);
extern struct clocksource* clocksource_get_next(void);
extern void clocksource_change_rating(struct clocksource *cs, int rating);
extern void clocksource_resume(void);
+extern struct clocksource * __init __weak clocksource_default_clock(void);
#ifdef CONFIG_GENERIC_TIME_VSYSCALL
extern void update_vsyscall(struct timespec *ts, struct clocksource *c);
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 7466cb8..e91662e 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -21,7 +21,6 @@
*
* TODO WishList:
* o Allow clocksource drivers to be unregistered
- * o get rid of clocksource_jiffies extern
*/
#include <linux/clocksource.h>
@@ -107,12 +106,9 @@ u64 timecounter_cyc2time(struct timecounter *tc,
}
EXPORT_SYMBOL(timecounter_cyc2time);
-/* XXX - Would like a better way for initializing curr_clocksource */
-extern struct clocksource clocksource_jiffies;
-
/*[Clocksource internal variables]---------
* curr_clocksource:
- * currently selected clocksource. Initialized to clocksource_jiffies.
+ * currently selected clocksource.
* next_clocksource:
* pending next selected clocksource.
* clocksource_list:
@@ -123,9 +119,8 @@ extern struct clocksource clocksource_jiffies;
* override_name:
* Name of the user-specified clocksource.
*/
-static struct clocksource *curr_clocksource = &clocksource_jiffies;
+static struct clocksource *curr_clocksource;
static struct clocksource *next_clocksource;
-static struct clocksource *clocksource_override;
static LIST_HEAD(clocksource_list);
static DEFINE_SPINLOCK(clocksource_lock);
static char override_name[32];
@@ -320,6 +315,7 @@ void clocksource_touch_watchdog(void)
clocksource_resume_watchdog();
}
+#ifdef CONFIG_GENERIC_TIME
/**
* clocksource_get_next - Returns the selected clocksource
*
@@ -339,56 +335,65 @@ struct clocksource *clocksource_get_next(void)
}
/**
- * select_clocksource - Selects the best registered clocksource.
+ * clocksource_select - Select the best clocksource available
*
* Private function. Must hold clocksource_lock when called.
*
* Select the clocksource with the best rating, or the clocksource,
* which is selected by userspace override.
*/
-static struct clocksource *select_clocksource(void)
+static void clocksource_select(void)
{
- struct clocksource *next;
+ struct clocksource *best, *cs;
if (list_empty(&clocksource_list))
- return NULL;
+ return;
+ /* First clocksource on the list has the best rating. */
+ best = list_first_entry(&clocksource_list, struct clocksource, list);
+ /* Check for the override clocksource. */
+ list_for_each_entry(cs, &clocksource_list, list) {
+ if (strcmp(cs->name, override_name) != 0)
+ continue;
+ /*
+ * Check to make sure we don't switch to a non-highres
+ * capable clocksource if the tick code is in oneshot
+ * mode (highres or nohz)
+ */
+ if (!(cs->flags & CLOCK_SOURCE_VALID_FOR_HRES) &&
+ tick_oneshot_mode_active()) {
+ /* Override clocksource cannot be used. */
+ printk(KERN_WARNING "Override clocksource %s is not "
+ "HRT compatible. Cannot switch while in "
+ "HRT/NOHZ mode\n", cs->name);
+ override_name[0] = 0;
+ } else
+ /* Override clocksource can be used. */
+ best = cs;
+ break;
+ }
+ if (curr_clocksource != best)
+ next_clocksource = best;
+}
- if (clocksource_override)
- next = clocksource_override;
- else
- next = list_entry(clocksource_list.next, struct clocksource,
- list);
+#else /* CONFIG_GENERIC_TIME */
- if (next == curr_clocksource)
- return NULL;
+static void clocksource_select(void) { }
- return next;
-}
+#endif
/*
* Enqueue the clocksource sorted by rating
*/
-static int clocksource_enqueue(struct clocksource *c)
+static void clocksource_enqueue(struct clocksource *cs)
{
- struct list_head *tmp, *entry = &clocksource_list;
-
- list_for_each(tmp, &clocksource_list) {
- struct clocksource *cs;
+ struct list_head *entry = &clocksource_list;
+ struct clocksource *tmp;
- cs = list_entry(tmp, struct clocksource, list);
- if (cs == c)
- return -EBUSY;
+ list_for_each_entry(tmp, &clocksource_list, list)
/* Keep track of the place, where to insert */
- if (cs->rating >= c->rating)
- entry = tmp;
- }
- list_add(&c->list, entry);
-
- if (strlen(c->name) == strlen(override_name) &&
- !strcmp(c->name, override_name))
- clocksource_override = c;
-
- return 0;
+ if (tmp->rating >= cs->rating)
+ entry = &tmp->list;
+ list_add(&cs->list, entry);
}
/**
@@ -397,19 +402,16 @@ static int clocksource_enqueue(struct clocksource *c)
*
* Returns -EBUSY if registration fails, zero otherwise.
*/
-int clocksource_register(struct clocksource *c)
+int clocksource_register(struct clocksource *cs)
{
unsigned long flags;
- int ret;
spin_lock_irqsave(&clocksource_lock, flags);
- ret = clocksource_enqueue(c);
- if (!ret)
- next_clocksource = select_clocksource();
+ clocksource_enqueue(cs);
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
- if (!ret)
- clocksource_check_watchdog(c);
- return ret;
+ clocksource_check_watchdog(cs);
+ return 0;
}
EXPORT_SYMBOL(clocksource_register);
@@ -425,7 +427,7 @@ void clocksource_change_rating(struct clocksource *cs, int rating)
list_del(&cs->list);
cs->rating = rating;
clocksource_enqueue(cs);
- next_clocksource = select_clocksource();
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
@@ -438,9 +440,7 @@ void clocksource_unregister(struct clocksource *cs)
spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
- if (clocksource_override == cs)
- clocksource_override = NULL;
- next_clocksource = select_clocksource();
+ clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
@@ -478,9 +478,7 @@ static ssize_t sysfs_override_clocksource(struct sys_device *dev,
struct sysdev_attribute *attr,
const char *buf, size_t count)
{
- struct clocksource *ovr = NULL;
size_t ret = count;
- int len;
/* strings from sysfs write are not 0 terminated! */
if (count >= sizeof(override_name))
@@ -495,37 +493,7 @@ static ssize_t sysfs_override_clocksource(struct sys_device *dev,
if (count > 0)
memcpy(override_name, buf, count);
override_name[count] = 0;
-
- len = strlen(override_name);
- if (len) {
- struct clocksource *cs;
-
- ovr = clocksource_override;
- /* try to select it: */
- list_for_each_entry(cs, &clocksource_list, list) {
- if (strlen(cs->name) == len &&
- !strcmp(cs->name, override_name))
- ovr = cs;
- }
- }
-
- /*
- * Check to make sure we don't switch to a non-highres capable
- * clocksource if the tick code is in oneshot mode (highres or nohz)
- */
- if (tick_oneshot_mode_active() && ovr &&
- !(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) {
- printk(KERN_WARNING "%s clocksource is not HRT compatible. "
- "Cannot switch while in HRT/NOHZ mode\n", ovr->name);
- ovr = NULL;
- override_name[0] = 0;
- }
-
- /* Reselect, when the override name has changed */
- if (ovr != clocksource_override) {
- clocksource_override = ovr;
- next_clocksource = select_clocksource();
- }
+ clocksource_select();
spin_unlock_irq(&clocksource_lock);
diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c
index c3f6c30..5404a84 100644
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -61,7 +61,6 @@ struct clocksource clocksource_jiffies = {
.read = jiffies_read,
.mask = 0xffffffff, /*32bits*/
.mult = NSEC_PER_JIFFY << JIFFIES_SHIFT, /* details above */
- .mult_orig = NSEC_PER_JIFFY << JIFFIES_SHIFT,
.shift = JIFFIES_SHIFT,
};
@@ -71,3 +70,8 @@ static int __init init_jiffies_clocksource(void)
}
core_initcall(init_jiffies_clocksource);
+
+struct clocksource * __init __weak clocksource_default_clock(void)
+{
+ return &clocksource_jiffies;
+}
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index b567301..325a9b6 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -269,7 +269,7 @@ static void change_clocksource(void)
new = clocksource_get_next();
- if (clock == new)
+ if (!new || clock == new)
return;
clocksource_forward_now();
@@ -446,7 +446,7 @@ void __init timekeeping_init(void)
ntp_init();
- clock = clocksource_get_next();
+ clock = clocksource_default_clock();
if (clock->enable)
clock->enable(clock);
/* set mult_orig on enable */
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Delay clocksource watchdog highres enablement
2009-08-14 13:47 ` [patch 05/15] clocksource watchdog highres enablement Martin Schwidefsky
@ 2009-08-15 9:02 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:02 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 8cf4e750f8459d51c2e8a035a201da4bf7aa996a
Gitweb: http://git.kernel.org/tip/8cf4e750f8459d51c2e8a035a201da4bf7aa996a
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:22 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
clocksource: Delay clocksource watchdog highres enablement
The clocksource watchdog marks a clock as highres capable before it
checked the deviation from the watchdog clocksource even for a single
time. Make sure that the deviation is at least checked once before
doing the switch to highres mode.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134808.627795883@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/clocksource.c | 47 +++++++++++++++++++++-----------------------
1 files changed, 22 insertions(+), 25 deletions(-)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index e91662e..76256c5 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -153,11 +153,8 @@ static unsigned long watchdog_resumed;
#define WATCHDOG_INTERVAL (HZ >> 1)
#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 4)
-static void clocksource_ratewd(struct clocksource *cs, int64_t delta)
+static void clocksource_unstable(struct clocksource *cs, int64_t delta)
{
- if (delta > -WATCHDOG_THRESHOLD && delta < WATCHDOG_THRESHOLD)
- return;
-
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
cs->name, delta);
cs->flags &= ~(CLOCK_SOURCE_VALID_FOR_HRES | CLOCK_SOURCE_WATCHDOG);
@@ -183,31 +180,31 @@ static void clocksource_watchdog(unsigned long data)
list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list) {
csnow = cs->read(cs);
- if (unlikely(resumed)) {
+ /* Clocksource initialized ? */
+ if (!(cs->flags & CLOCK_SOURCE_WATCHDOG)) {
+ cs->flags |= CLOCK_SOURCE_WATCHDOG;
cs->wd_last = csnow;
continue;
}
- /* Initialized ? */
- if (!(cs->flags & CLOCK_SOURCE_WATCHDOG)) {
- if ((cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) &&
- (watchdog->flags & CLOCK_SOURCE_IS_CONTINUOUS)) {
- cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
- /*
- * We just marked the clocksource as
- * highres-capable, notify the rest of the
- * system as well so that we transition
- * into high-res mode:
- */
- tick_clock_notify();
- }
- cs->flags |= CLOCK_SOURCE_WATCHDOG;
- cs->wd_last = csnow;
- } else {
- cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
- cs->wd_last = csnow;
- /* Check the delta. Might remove from the list ! */
- clocksource_ratewd(cs, cs_nsec - wd_nsec);
+ /* Check the deviation from the watchdog clocksource. */
+ cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
+ cs->wd_last = csnow;
+ if (abs(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD) {
+ clocksource_unstable(cs, cs_nsec - wd_nsec);
+ continue;
+ }
+
+ if (!(cs->flags & CLOCK_SOURCE_VALID_FOR_HRES) &&
+ (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS) &&
+ (watchdog->flags & CLOCK_SOURCE_IS_CONTINUOUS)) {
+ cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
+ /*
+ * We just marked the clocksource as highres-capable,
+ * notify the rest of the system as well so that we
+ * transition into high-res mode:
+ */
+ tick_clock_notify();
}
}
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Simplify clocksource watchdog resume logic
2009-08-14 13:47 ` [patch 06/15] clocksource watchdog resume logic Martin Schwidefsky
@ 2009-08-15 9:02 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:02 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 0f8e8ef7c204988246da5a42d576b7fa5277a8e4
Gitweb: http://git.kernel.org/tip/0f8e8ef7c204988246da5a42d576b7fa5277a8e4
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:23 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
clocksource: Simplify clocksource watchdog resume logic
To resume the clocksource watchdog just remove the CLOCK_SOURCE_WATCHDOG
bit from the watched clocksource.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134808.880925790@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/clocksource.c | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 76256c5..89a7b91 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -145,7 +145,6 @@ static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
-static unsigned long watchdog_resumed;
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -167,12 +166,9 @@ static void clocksource_watchdog(unsigned long data)
struct clocksource *cs, *tmp;
cycle_t csnow, wdnow;
int64_t wd_nsec, cs_nsec;
- int resumed;
spin_lock(&watchdog_lock);
- resumed = test_and_clear_bit(0, &watchdog_resumed);
-
wdnow = watchdog->read(watchdog);
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
watchdog_last = wdnow;
@@ -223,14 +219,26 @@ static void clocksource_watchdog(unsigned long data)
}
spin_unlock(&watchdog_lock);
}
+
+static inline void clocksource_reset_watchdog(void)
+{
+ struct clocksource *cs;
+
+ list_for_each_entry(cs, &watchdog_list, wd_list)
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
+}
+
static void clocksource_resume_watchdog(void)
{
- set_bit(0, &watchdog_resumed);
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ clocksource_reset_watchdog();
+ spin_unlock_irqrestore(&watchdog_lock, flags);
}
static void clocksource_check_watchdog(struct clocksource *cs)
{
- struct clocksource *cse;
unsigned long flags;
spin_lock_irqsave(&watchdog_lock, flags);
@@ -256,8 +264,7 @@ static void clocksource_check_watchdog(struct clocksource *cs)
watchdog_timer.function = clocksource_watchdog;
/* Reset watchdog cycles */
- list_for_each_entry(cse, &watchdog_list, wd_list)
- cse->flags &= ~CLOCK_SOURCE_WATCHDOG;
+ clocksource_reset_watchdog();
/* Start if list is not empty */
if (!list_empty(&watchdog_list)) {
watchdog_last = watchdog->read(watchdog);
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Refactor clocksource watchdog
2009-08-14 13:47 ` [patch 07/15] clocksource watchdog refactoring Martin Schwidefsky
@ 2009-08-15 9:02 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:02 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: fb63a0ebe615fba9de8c75ea44ded999d1e24c65
Gitweb: http://git.kernel.org/tip/fb63a0ebe615fba9de8c75ea44ded999d1e24c65
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:24 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
clocksource: Refactor clocksource watchdog
Refactor clocksource watchdog code to make it more readable. Add
clocksource_dequeue_watchdog to remove a clocksource from the watchdog
list when it is unregistered.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134809.110881699@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/clocksource.c | 97 ++++++++++++++++++++++++++++++++-------------
1 files changed, 69 insertions(+), 28 deletions(-)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 89a7b91..56aaa74 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -145,6 +145,7 @@ static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
+static int watchdog_running;
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -168,6 +169,8 @@ static void clocksource_watchdog(unsigned long data)
int64_t wd_nsec, cs_nsec;
spin_lock(&watchdog_lock);
+ if (!watchdog_running)
+ goto out;
wdnow = watchdog->read(watchdog);
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
@@ -217,9 +220,30 @@ static void clocksource_watchdog(unsigned long data)
watchdog_timer.expires += WATCHDOG_INTERVAL;
add_timer_on(&watchdog_timer, next_cpu);
}
+out:
spin_unlock(&watchdog_lock);
}
+static inline void clocksource_start_watchdog(void)
+{
+ if (watchdog_running || !watchdog || list_empty(&watchdog_list))
+ return;
+ init_timer(&watchdog_timer);
+ watchdog_timer.function = clocksource_watchdog;
+ watchdog_last = watchdog->read(watchdog);
+ watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL;
+ add_timer_on(&watchdog_timer, cpumask_first(cpu_online_mask));
+ watchdog_running = 1;
+}
+
+static inline void clocksource_stop_watchdog(void)
+{
+ if (!watchdog_running || (watchdog && !list_empty(&watchdog_list)))
+ return;
+ del_timer(&watchdog_timer);
+ watchdog_running = 0;
+}
+
static inline void clocksource_reset_watchdog(void)
{
struct clocksource *cs;
@@ -237,55 +261,70 @@ static void clocksource_resume_watchdog(void)
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-static void clocksource_check_watchdog(struct clocksource *cs)
+static void clocksource_enqueue_watchdog(struct clocksource *cs)
{
unsigned long flags;
spin_lock_irqsave(&watchdog_lock, flags);
if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
- int started = !list_empty(&watchdog_list);
-
+ /* cs is a clocksource to be watched. */
list_add(&cs->wd_list, &watchdog_list);
- if (!started && watchdog) {
- watchdog_last = watchdog->read(watchdog);
- watchdog_timer.expires = jiffies + WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer,
- cpumask_first(cpu_online_mask));
- }
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
} else {
+ /* cs is a watchdog. */
if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
-
+ /* Pick the best watchdog. */
if (!watchdog || cs->rating > watchdog->rating) {
- if (watchdog)
- del_timer(&watchdog_timer);
watchdog = cs;
- init_timer(&watchdog_timer);
- watchdog_timer.function = clocksource_watchdog;
-
/* Reset watchdog cycles */
clocksource_reset_watchdog();
- /* Start if list is not empty */
- if (!list_empty(&watchdog_list)) {
- watchdog_last = watchdog->read(watchdog);
- watchdog_timer.expires =
- jiffies + WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer,
- cpumask_first(cpu_online_mask));
- }
}
}
+ /* Check if the watchdog timer needs to be started. */
+ clocksource_start_watchdog();
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-#else
-static void clocksource_check_watchdog(struct clocksource *cs)
+
+static void clocksource_dequeue_watchdog(struct clocksource *cs)
+{
+ struct clocksource *tmp;
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
+ /* cs is a watched clocksource. */
+ list_del_init(&cs->wd_list);
+ } else if (cs == watchdog) {
+ /* Reset watchdog cycles */
+ clocksource_reset_watchdog();
+ /* Current watchdog is removed. Find an alternative. */
+ watchdog = NULL;
+ list_for_each_entry(tmp, &clocksource_list, list) {
+ if (tmp == cs || tmp->flags & CLOCK_SOURCE_MUST_VERIFY)
+ continue;
+ if (!watchdog || tmp->rating > watchdog->rating)
+ watchdog = tmp;
+ }
+ }
+ cs->flags &= ~CLOCK_SOURCE_WATCHDOG;
+ /* Check if the watchdog timer needs to be stopped. */
+ clocksource_stop_watchdog();
+ spin_unlock_irqrestore(&watchdog_lock, flags);
+}
+
+#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
+
+static void clocksource_enqueue_watchdog(struct clocksource *cs)
{
if (cs->flags & CLOCK_SOURCE_IS_CONTINUOUS)
cs->flags |= CLOCK_SOURCE_VALID_FOR_HRES;
}
+static inline void clocksource_dequeue_watchdog(struct clocksource *cs) { }
static inline void clocksource_resume_watchdog(void) { }
-#endif
+
+#endif /* CONFIG_CLOCKSOURCE_WATCHDOG */
/**
* clocksource_resume - resume the clocksource(s)
@@ -414,14 +453,13 @@ int clocksource_register(struct clocksource *cs)
clocksource_enqueue(cs);
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
- clocksource_check_watchdog(cs);
+ clocksource_enqueue_watchdog(cs);
return 0;
}
EXPORT_SYMBOL(clocksource_register);
/**
* clocksource_change_rating - Change the rating of a registered clocksource
- *
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
@@ -434,6 +472,7 @@ void clocksource_change_rating(struct clocksource *cs, int rating)
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
+EXPORT_SYMBOL(clocksource_change_rating);
/**
* clocksource_unregister - remove a registered clocksource
@@ -442,11 +481,13 @@ void clocksource_unregister(struct clocksource *cs)
{
unsigned long flags;
+ clocksource_dequeue_watchdog(cs);
spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
clocksource_select();
spin_unlock_irqrestore(&clocksource_lock, flags);
}
+EXPORT_SYMBOL(clocksource_unregister);
#ifdef CONFIG_SYSFS
/**
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Move watchdog downgrade to a work queue thread
2009-08-14 13:47 ` [patch 08/15] clocksource watchdog work Martin Schwidefsky
@ 2009-08-15 9:03 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: c55c87c892c1875deace0c8fc28787335277fdf2
Gitweb: http://git.kernel.org/tip/c55c87c892c1875deace0c8fc28787335277fdf2
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:25 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
clocksource: Move watchdog downgrade to a work queue thread
Move the downgrade of an unstable clocksource from the timer interrupt
context into the process context of a work queue thread. This is
needed to be able to do the clocksource switch with stop_machine.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134809.354926067@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/clocksource.h | 1 +
kernel/time/clocksource.c | 56 ++++++++++++++++++++++++++++++-------------
2 files changed, 40 insertions(+), 17 deletions(-)
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index f263b3a..19ad43a 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -213,6 +213,7 @@ extern struct clocksource *clock; /* current clocksource */
#define CLOCK_SOURCE_WATCHDOG 0x10
#define CLOCK_SOURCE_VALID_FOR_HRES 0x20
+#define CLOCK_SOURCE_UNSTABLE 0x40
/* simplify initialization of mask field */
#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 56aaa74..f150801 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -143,10 +143,13 @@ fs_initcall(clocksource_done_booting);
static LIST_HEAD(watchdog_list);
static struct clocksource *watchdog;
static struct timer_list watchdog_timer;
+static struct work_struct watchdog_work;
static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
static int watchdog_running;
+static void clocksource_watchdog_work(struct work_struct *work);
+
/*
* Interval: 0.5sec Threshold: 0.0625s
*/
@@ -158,15 +161,16 @@ static void clocksource_unstable(struct clocksource *cs, int64_t delta)
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
cs->name, delta);
cs->flags &= ~(CLOCK_SOURCE_VALID_FOR_HRES | CLOCK_SOURCE_WATCHDOG);
- clocksource_change_rating(cs, 0);
- list_del(&cs->wd_list);
+ cs->flags |= CLOCK_SOURCE_UNSTABLE;
+ schedule_work(&watchdog_work);
}
static void clocksource_watchdog(unsigned long data)
{
- struct clocksource *cs, *tmp;
+ struct clocksource *cs;
cycle_t csnow, wdnow;
int64_t wd_nsec, cs_nsec;
+ int next_cpu;
spin_lock(&watchdog_lock);
if (!watchdog_running)
@@ -176,7 +180,12 @@ static void clocksource_watchdog(unsigned long data)
wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
watchdog_last = wdnow;
- list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list) {
+ list_for_each_entry(cs, &watchdog_list, wd_list) {
+
+ /* Clocksource already marked unstable? */
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE)
+ continue;
+
csnow = cs->read(cs);
/* Clocksource initialized ? */
@@ -207,19 +216,15 @@ static void clocksource_watchdog(unsigned long data)
}
}
- if (!list_empty(&watchdog_list)) {
- /*
- * Cycle through CPUs to check if the CPUs stay
- * synchronized to each other.
- */
- int next_cpu = cpumask_next(raw_smp_processor_id(),
- cpu_online_mask);
-
- if (next_cpu >= nr_cpu_ids)
- next_cpu = cpumask_first(cpu_online_mask);
- watchdog_timer.expires += WATCHDOG_INTERVAL;
- add_timer_on(&watchdog_timer, next_cpu);
- }
+ /*
+ * Cycle through CPUs to check if the CPUs stay synchronized
+ * to each other.
+ */
+ next_cpu = cpumask_next(raw_smp_processor_id(), cpu_online_mask);
+ if (next_cpu >= nr_cpu_ids)
+ next_cpu = cpumask_first(cpu_online_mask);
+ watchdog_timer.expires += WATCHDOG_INTERVAL;
+ add_timer_on(&watchdog_timer, next_cpu);
out:
spin_unlock(&watchdog_lock);
}
@@ -228,6 +233,7 @@ static inline void clocksource_start_watchdog(void)
{
if (watchdog_running || !watchdog || list_empty(&watchdog_list))
return;
+ INIT_WORK(&watchdog_work, clocksource_watchdog_work);
init_timer(&watchdog_timer);
watchdog_timer.function = clocksource_watchdog;
watchdog_last = watchdog->read(watchdog);
@@ -313,6 +319,22 @@ static void clocksource_dequeue_watchdog(struct clocksource *cs)
spin_unlock_irqrestore(&watchdog_lock, flags);
}
+static void clocksource_watchdog_work(struct work_struct *work)
+{
+ struct clocksource *cs, *tmp;
+ unsigned long flags;
+
+ spin_lock_irqsave(&watchdog_lock, flags);
+ list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
+ list_del_init(&cs->wd_list);
+ clocksource_change_rating(cs, 0);
+ }
+ /* Check if the watchdog timer needs to be stopped. */
+ clocksource_stop_watchdog();
+ spin_unlock(&watchdog_lock);
+}
+
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
static void clocksource_enqueue_watchdog(struct clocksource *cs)
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Introduce struct timekeeper
2009-08-14 13:47 ` [patch 09/15] introduce struct timekeeper Martin Schwidefsky
@ 2009-08-15 9:03 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 155ec60226ae0ae2aadaa57c951a58a359331030
Gitweb: http://git.kernel.org/tip/155ec60226ae0ae2aadaa57c951a58a359331030
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:26 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Introduce struct timekeeper
Add struct timekeeper to keep the internal values timekeeping.c needs
in regard to the currently selected clock source. This moves the
timekeeping intervals, xtime_nsec and the ntp error value from struct
clocksource to struct timekeeper. The raw_time is removed from the
clocksource as well. It gets treated like xtime as a global variable.
Eventually xtime raw_time should be moved to struct timekeeper.
[ tglx: minor cleanup ]
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134809.613209842@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/s390/kernel/time.c | 1 -
include/linux/clocksource.h | 54 +---------
kernel/time/clocksource.c | 6 +-
kernel/time/timekeeping.c | 235 ++++++++++++++++++++++++++++---------------
4 files changed, 164 insertions(+), 132 deletions(-)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index afefe51..e76c2e7 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -280,7 +280,6 @@ void __init time_init(void)
now = get_clock();
tod_to_timeval(now - TOD_UNIX_EPOCH, &xtime);
clocksource_tod.cycle_last = now;
- clocksource_tod.raw_time = xtime;
tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
write_sequnlock_irqrestore(&xtime_lock, flags);
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 19ad43a..e12e309 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -155,8 +155,6 @@ extern u64 timecounter_cyc2time(struct timecounter *tc,
* @flags: flags describing special properties
* @vread: vsyscall based read
* @resume: resume function for the clocksource, if necessary
- * @cycle_interval: Used internally by timekeeping core, please ignore.
- * @xtime_interval: Used internally by timekeeping core, please ignore.
*/
struct clocksource {
/*
@@ -182,19 +180,12 @@ struct clocksource {
#define CLKSRC_FSYS_MMIO_SET(mmio, addr) do { } while (0)
#endif
- /* timekeeping specific data, ignore */
- cycle_t cycle_interval;
- u64 xtime_interval;
- u32 raw_interval;
/*
* Second part is written at each timer interrupt
* Keep it in a different cache line to dirty no
* more than one cache line.
*/
cycle_t cycle_last ____cacheline_aligned_in_smp;
- u64 xtime_nsec;
- s64 error;
- struct timespec raw_time;
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
/* Watchdog related data, used by the framework */
@@ -203,8 +194,6 @@ struct clocksource {
#endif
};
-extern struct clocksource *clock; /* current clocksource */
-
/*
* Clock source flags bits::
*/
@@ -270,50 +259,15 @@ static inline u32 clocksource_hz2mult(u32 hz, u32 shift_constant)
}
/**
- * cyc2ns - converts clocksource cycles to nanoseconds
- * @cs: Pointer to clocksource
- * @cycles: Cycles
+ * clocksource_cyc2ns - converts clocksource cycles to nanoseconds
*
- * Uses the clocksource and ntp ajdustment to convert cycle_ts to nanoseconds.
+ * Converts cycles to nanoseconds, using the given mult and shift.
*
* XXX - This could use some mult_lxl_ll() asm optimization
*/
-static inline s64 cyc2ns(struct clocksource *cs, cycle_t cycles)
+static inline s64 clocksource_cyc2ns(cycle_t cycles, u32 mult, u32 shift)
{
- u64 ret = (u64)cycles;
- ret = (ret * cs->mult) >> cs->shift;
- return ret;
-}
-
-/**
- * clocksource_calculate_interval - Calculates a clocksource interval struct
- *
- * @c: Pointer to clocksource.
- * @length_nsec: Desired interval length in nanoseconds.
- *
- * Calculates a fixed cycle/nsec interval for a given clocksource/adjustment
- * pair and interval request.
- *
- * Unless you're the timekeeping code, you should not be using this!
- */
-static inline void clocksource_calculate_interval(struct clocksource *c,
- unsigned long length_nsec)
-{
- u64 tmp;
-
- /* Do the ns -> cycle conversion first, using original mult */
- tmp = length_nsec;
- tmp <<= c->shift;
- tmp += c->mult_orig/2;
- do_div(tmp, c->mult_orig);
-
- c->cycle_interval = (cycle_t)tmp;
- if (c->cycle_interval == 0)
- c->cycle_interval = 1;
-
- /* Go back from cycles -> shifted ns, this time use ntp adjused mult */
- c->xtime_interval = (u64)c->cycle_interval * c->mult;
- c->raw_interval = ((u64)c->cycle_interval * c->mult_orig) >> c->shift;
+ return ((u64) cycles * mult) >> shift;
}
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index f150801..f18c9a6 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -177,7 +177,8 @@ static void clocksource_watchdog(unsigned long data)
goto out;
wdnow = watchdog->read(watchdog);
- wd_nsec = cyc2ns(watchdog, (wdnow - watchdog_last) & watchdog->mask);
+ wd_nsec = clocksource_cyc2ns((wdnow - watchdog_last) & watchdog->mask,
+ watchdog->mult, watchdog->shift);
watchdog_last = wdnow;
list_for_each_entry(cs, &watchdog_list, wd_list) {
@@ -196,7 +197,8 @@ static void clocksource_watchdog(unsigned long data)
}
/* Check the deviation from the watchdog clocksource. */
- cs_nsec = cyc2ns(cs, (csnow - cs->wd_last) & cs->mask);
+ cs_nsec = clocksource_cyc2ns((csnow - cs->wd_last) &
+ cs->mask, cs->mult, cs->shift);
cs->wd_last = csnow;
if (abs(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD) {
clocksource_unstable(cs, cs_nsec - wd_nsec);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 325a9b6..7af45cb 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -19,6 +19,65 @@
#include <linux/time.h>
#include <linux/tick.h>
+/* Structure holding internal timekeeping values. */
+struct timekeeper {
+ /* Current clocksource used for timekeeping. */
+ struct clocksource *clock;
+
+ /* Number of clock cycles in one NTP interval. */
+ cycle_t cycle_interval;
+ /* Number of clock shifted nano seconds in one NTP interval. */
+ u64 xtime_interval;
+ /* Raw nano seconds accumulated per NTP interval. */
+ u32 raw_interval;
+
+ /* Clock shifted nano seconds remainder not stored in xtime.tv_nsec. */
+ u64 xtime_nsec;
+ /* Difference between accumulated time and NTP time in ntp
+ * shifted nano seconds. */
+ s64 ntp_error;
+};
+
+struct timekeeper timekeeper;
+
+/**
+ * timekeeper_setup_internals - Set up internals to use clocksource clock.
+ *
+ * @clock: Pointer to clocksource.
+ *
+ * Calculates a fixed cycle/nsec interval for a given clocksource/adjustment
+ * pair and interval request.
+ *
+ * Unless you're the timekeeping code, you should not be using this!
+ */
+static void timekeeper_setup_internals(struct clocksource *clock)
+{
+ cycle_t interval;
+ u64 tmp;
+
+ timekeeper.clock = clock;
+ clock->cycle_last = clock->read(clock);
+
+ /* Do the ns -> cycle conversion first, using original mult */
+ tmp = NTP_INTERVAL_LENGTH;
+ tmp <<= clock->shift;
+ tmp += clock->mult_orig/2;
+ do_div(tmp, clock->mult_orig);
+ if (tmp == 0)
+ tmp = 1;
+
+ interval = (cycle_t) tmp;
+ timekeeper.cycle_interval = interval;
+
+ /* Go back from cycles -> shifted ns */
+ timekeeper.xtime_interval = (u64) interval * clock->mult;
+ timekeeper.raw_interval =
+ ((u64) interval * clock->mult_orig) >> clock->shift;
+
+ timekeeper.xtime_nsec = 0;
+
+ timekeeper.ntp_error = 0;
+}
/*
* This read-write spinlock protects us from races in SMP while
@@ -46,6 +105,11 @@ struct timespec xtime __attribute__ ((aligned (16)));
struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
static unsigned long total_sleep_time; /* seconds */
+/*
+ * The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock.
+ */
+struct timespec raw_time;
+
/* flag for if timekeeping is suspended */
int __read_mostly timekeeping_suspended;
@@ -56,42 +120,42 @@ void update_xtime_cache(u64 nsec)
timespec_add_ns(&xtime_cache, nsec);
}
-struct clocksource *clock;
-
/* must hold xtime_lock */
void timekeeping_leap_insert(int leapsecond)
{
xtime.tv_sec += leapsecond;
wall_to_monotonic.tv_sec -= leapsecond;
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
}
#ifdef CONFIG_GENERIC_TIME
/**
- * clocksource_forward_now - update clock to the current time
+ * timekeeping_forward_now - update clock to the current time
*
* Forward the current clock to update its state since the last call to
* update_wall_time(). This is useful before significant clock changes,
* as it avoids having to deal with this time offset explicitly.
*/
-static void clocksource_forward_now(void)
+static void timekeeping_forward_now(void)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
s64 nsec;
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
- nsec = cyc2ns(clock, cycle_delta);
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
/* If arch requires, add in gettimeoffset() */
nsec += arch_gettimeoffset();
timespec_add_ns(&xtime, nsec);
- nsec = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
- clock->raw_time.tv_nsec += nsec;
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult_orig, clock->shift);
+ timespec_add_ns(&raw_time, nsec);
}
/**
@@ -103,6 +167,7 @@ static void clocksource_forward_now(void)
void getnstimeofday(struct timespec *ts)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
unsigned long seq;
s64 nsecs;
@@ -114,13 +179,15 @@ void getnstimeofday(struct timespec *ts)
*ts = xtime;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = cyc2ns(clock, cycle_delta);
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -135,6 +202,7 @@ EXPORT_SYMBOL(getnstimeofday);
ktime_t ktime_get(void)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
unsigned int seq;
s64 secs, nsecs;
@@ -146,13 +214,15 @@ ktime_t ktime_get(void)
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs += cyc2ns(clock, cycle_delta);
+ nsecs += clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -174,6 +244,7 @@ EXPORT_SYMBOL_GPL(ktime_get);
void ktime_get_ts(struct timespec *ts)
{
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
struct timespec tomono;
unsigned int seq;
s64 nsecs;
@@ -186,13 +257,15 @@ void ktime_get_ts(struct timespec *ts)
tomono = wall_to_monotonic;
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = cyc2ns(clock, cycle_delta);
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
+ clock->shift);
} while (read_seqretry(&xtime_lock, seq));
@@ -233,7 +306,7 @@ int do_settimeofday(struct timespec *tv)
write_seqlock_irqsave(&xtime_lock, flags);
- clocksource_forward_now();
+ timekeeping_forward_now();
ts_delta.tv_sec = tv->tv_sec - xtime.tv_sec;
ts_delta.tv_nsec = tv->tv_nsec - xtime.tv_nsec;
@@ -243,10 +316,10 @@ int do_settimeofday(struct timespec *tv)
update_xtime_cache(0);
- clock->error = 0;
+ timekeeper.ntp_error = 0;
ntp_clear();
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -269,10 +342,10 @@ static void change_clocksource(void)
new = clocksource_get_next();
- if (!new || clock == new)
+ if (!new || timekeeper.clock == new)
return;
- clocksource_forward_now();
+ timekeeping_forward_now();
if (new->enable && !new->enable(new))
return;
@@ -284,9 +357,9 @@ static void change_clocksource(void)
*/
new->mult_orig = new->mult;
- new->raw_time = clock->raw_time;
- old = clock;
- clock = new;
+ old = timekeeper.clock;
+ timekeeper_setup_internals(new);
+
/*
* Save mult_orig in mult so that the value can be restored
* regardless if ->enable() updates the value of mult or not.
@@ -295,22 +368,10 @@ static void change_clocksource(void)
if (old->disable)
old->disable(old);
- clock->cycle_last = clock->read(clock);
- clock->error = 0;
- clock->xtime_nsec = 0;
- clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
-
tick_clock_notify();
-
- /*
- * We're holding xtime lock and waking up klogd would deadlock
- * us on enqueue. So no printing!
- printk(KERN_INFO "Time: %s clocksource has been installed.\n",
- clock->name);
- */
}
#else /* GENERIC_TIME */
-static inline void clocksource_forward_now(void) { }
+static inline void timekeeping_forward_now(void) { }
static inline void change_clocksource(void) { }
/**
@@ -380,20 +441,23 @@ void getrawmonotonic(struct timespec *ts)
unsigned long seq;
s64 nsecs;
cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
do {
seq = read_seqbegin(&xtime_lock);
/* read clocksource: */
+ clock = timekeeper.clock;
cycle_now = clock->read(clock);
/* calculate the delta since the last update_wall_time: */
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = ((s64)cycle_delta * clock->mult_orig) >> clock->shift;
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult_orig,
+ clock->shift);
- *ts = clock->raw_time;
+ *ts = raw_time;
} while (read_seqretry(&xtime_lock, seq));
@@ -413,7 +477,7 @@ int timekeeping_valid_for_hres(void)
do {
seq = read_seqbegin(&xtime_lock);
- ret = clock->flags & CLOCK_SOURCE_VALID_FOR_HRES;
+ ret = timekeeper.clock->flags & CLOCK_SOURCE_VALID_FOR_HRES;
} while (read_seqretry(&xtime_lock, seq));
@@ -439,6 +503,7 @@ unsigned long __attribute__((weak)) read_persistent_clock(void)
*/
void __init timekeeping_init(void)
{
+ struct clocksource *clock;
unsigned long flags;
unsigned long sec = read_persistent_clock();
@@ -451,11 +516,13 @@ void __init timekeeping_init(void)
clock->enable(clock);
/* set mult_orig on enable */
clock->mult_orig = clock->mult;
- clocksource_calculate_interval(clock, NTP_INTERVAL_LENGTH);
- clock->cycle_last = clock->read(clock);
+
+ timekeeper_setup_internals(clock);
xtime.tv_sec = sec;
xtime.tv_nsec = 0;
+ raw_time.tv_sec = 0;
+ raw_time.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
update_xtime_cache(0);
@@ -492,8 +559,8 @@ static int timekeeping_resume(struct sys_device *dev)
}
update_xtime_cache(0);
/* re-base the last cycle value */
- clock->cycle_last = clock->read(clock);
- clock->error = 0;
+ timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
+ timekeeper.ntp_error = 0;
timekeeping_suspended = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -514,7 +581,7 @@ static int timekeeping_suspend(struct sys_device *dev, pm_message_t state)
timekeeping_suspend_time = read_persistent_clock();
write_seqlock_irqsave(&xtime_lock, flags);
- clocksource_forward_now();
+ timekeeping_forward_now();
timekeeping_suspended = 1;
write_sequnlock_irqrestore(&xtime_lock, flags);
@@ -549,7 +616,7 @@ device_initcall(timekeeping_init_device);
* If the error is already larger, we look ahead even further
* to compensate for late or lost adjustments.
*/
-static __always_inline int clocksource_bigadjust(s64 error, s64 *interval,
+static __always_inline int timekeeping_bigadjust(s64 error, s64 *interval,
s64 *offset)
{
s64 tick_error, i;
@@ -565,7 +632,7 @@ static __always_inline int clocksource_bigadjust(s64 error, s64 *interval,
* here. This is tuned so that an error of about 1 msec is adjusted
* within about 1 sec (or 2^20 nsec in 2^SHIFT_HZ ticks).
*/
- error2 = clock->error >> (NTP_SCALE_SHIFT + 22 - 2 * SHIFT_HZ);
+ error2 = timekeeper.ntp_error >> (NTP_SCALE_SHIFT + 22 - 2 * SHIFT_HZ);
error2 = abs(error2);
for (look_ahead = 0; error2 > 0; look_ahead++)
error2 >>= 2;
@@ -574,8 +641,9 @@ static __always_inline int clocksource_bigadjust(s64 error, s64 *interval,
* Now calculate the error in (1 << look_ahead) ticks, but first
* remove the single look ahead already included in the error.
*/
- tick_error = tick_length >> (NTP_SCALE_SHIFT - clock->shift + 1);
- tick_error -= clock->xtime_interval >> 1;
+ tick_error = tick_length >>
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift + 1);
+ tick_error -= timekeeper.xtime_interval >> 1;
error = ((error - tick_error) >> look_ahead) + tick_error;
/* Finally calculate the adjustment shift value. */
@@ -600,18 +668,19 @@ static __always_inline int clocksource_bigadjust(s64 error, s64 *interval,
* this is optimized for the most common adjustments of -1,0,1,
* for other values we can do a bit more work.
*/
-static void clocksource_adjust(s64 offset)
+static void timekeeping_adjust(s64 offset)
{
- s64 error, interval = clock->cycle_interval;
+ s64 error, interval = timekeeper.cycle_interval;
int adj;
- error = clock->error >> (NTP_SCALE_SHIFT - clock->shift - 1);
+ error = timekeeper.ntp_error >>
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift - 1);
if (error > interval) {
error >>= 2;
if (likely(error <= interval))
adj = 1;
else
- adj = clocksource_bigadjust(error, &interval, &offset);
+ adj = timekeeping_bigadjust(error, &interval, &offset);
} else if (error < -interval) {
error >>= 2;
if (likely(error >= -interval)) {
@@ -619,15 +688,15 @@ static void clocksource_adjust(s64 offset)
interval = -interval;
offset = -offset;
} else
- adj = clocksource_bigadjust(error, &interval, &offset);
+ adj = timekeeping_bigadjust(error, &interval, &offset);
} else
return;
- clock->mult += adj;
- clock->xtime_interval += interval;
- clock->xtime_nsec -= offset;
- clock->error -= (interval - offset) <<
- (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.clock->mult += adj;
+ timekeeper.xtime_interval += interval;
+ timekeeper.xtime_nsec -= offset;
+ timekeeper.ntp_error -= (interval - offset) <<
+ (NTP_SCALE_SHIFT - timekeeper.clock->shift);
}
/**
@@ -637,53 +706,59 @@ static void clocksource_adjust(s64 offset)
*/
void update_wall_time(void)
{
+ struct clocksource *clock;
cycle_t offset;
+ s64 nsecs;
/* Make sure we're fully resumed: */
if (unlikely(timekeeping_suspended))
return;
+ clock = timekeeper.clock;
#ifdef CONFIG_GENERIC_TIME
offset = (clock->read(clock) - clock->cycle_last) & clock->mask;
#else
- offset = clock->cycle_interval;
+ offset = timekeeper.cycle_interval;
#endif
- clock->xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
/* normally this loop will run just once, however in the
* case of lost or late ticks, it will accumulate correctly.
*/
- while (offset >= clock->cycle_interval) {
+ while (offset >= timekeeper.cycle_interval) {
+ u64 nsecps = (u64)NSEC_PER_SEC << clock->shift;
+
/* accumulate one interval */
- offset -= clock->cycle_interval;
- clock->cycle_last += clock->cycle_interval;
+ offset -= timekeeper.cycle_interval;
+ clock->cycle_last += timekeeper.cycle_interval;
- clock->xtime_nsec += clock->xtime_interval;
- if (clock->xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
- clock->xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
+ timekeeper.xtime_nsec += timekeeper.xtime_interval;
+ if (timekeeper.xtime_nsec >= nsecps) {
+ timekeeper.xtime_nsec -= nsecps;
xtime.tv_sec++;
second_overflow();
}
- clock->raw_time.tv_nsec += clock->raw_interval;
- if (clock->raw_time.tv_nsec >= NSEC_PER_SEC) {
- clock->raw_time.tv_nsec -= NSEC_PER_SEC;
- clock->raw_time.tv_sec++;
+ raw_time.tv_nsec += timekeeper.raw_interval;
+ if (raw_time.tv_nsec >= NSEC_PER_SEC) {
+ raw_time.tv_nsec -= NSEC_PER_SEC;
+ raw_time.tv_sec++;
}
/* accumulate error between NTP and clock interval */
- clock->error += tick_length;
- clock->error -= clock->xtime_interval << (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error += tick_length;
+ timekeeper.ntp_error -= timekeeper.xtime_interval <<
+ (NTP_SCALE_SHIFT - clock->shift);
}
/* correct the clock when NTP error is too big */
- clocksource_adjust(offset);
+ timekeeping_adjust(offset);
/*
* Since in the loop above, we accumulate any amount of time
* in xtime_nsec over a second into xtime.tv_sec, its possible for
* xtime_nsec to be fairly small after the loop. Further, if we're
- * slightly speeding the clocksource up in clocksource_adjust(),
+ * slightly speeding the clocksource up in timekeeping_adjust(),
* its possible the required corrective factor to xtime_nsec could
* cause it to underflow.
*
@@ -695,24 +770,26 @@ void update_wall_time(void)
* We'll correct this error next time through this function, when
* xtime_nsec is not as small.
*/
- if (unlikely((s64)clock->xtime_nsec < 0)) {
- s64 neg = -(s64)clock->xtime_nsec;
- clock->xtime_nsec = 0;
- clock->error += neg << (NTP_SCALE_SHIFT - clock->shift);
+ if (unlikely((s64)timekeeper.xtime_nsec < 0)) {
+ s64 neg = -(s64)timekeeper.xtime_nsec;
+ timekeeper.xtime_nsec = 0;
+ timekeeper.ntp_error += neg << (NTP_SCALE_SHIFT - clock->shift);
}
/* store full nanoseconds into xtime after rounding it up and
* add the remainder to the error difference.
*/
- xtime.tv_nsec = ((s64)clock->xtime_nsec >> clock->shift) + 1;
- clock->xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
- clock->error += clock->xtime_nsec << (NTP_SCALE_SHIFT - clock->shift);
+ xtime.tv_nsec = ((s64)timekeeper.xtime_nsec >> clock->shift) + 1;
+ timekeeper.xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.ntp_error += timekeeper.xtime_nsec <<
+ (NTP_SCALE_SHIFT - clock->shift);
- update_xtime_cache(cyc2ns(clock, offset));
+ nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
+ update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
change_clocksource();
- update_vsyscall(&xtime, clock);
+ update_vsyscall(&xtime, timekeeper.clock);
}
/**
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Add xtime_shift and ntp_error_shift to struct timekeeper
2009-08-14 13:47 ` [patch 10/15] add xtime_shift and ntp_error_shift to " Martin Schwidefsky
@ 2009-08-15 9:03 ` tip-bot for Martin Schwidefsky
2009-08-15 9:04 ` [patch 10/15] add " Thomas Gleixner
1 sibling, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 23ce72117c714baab794e66c8daf343bf6a912bf
Gitweb: http://git.kernel.org/tip/23ce72117c714baab794e66c8daf343bf6a912bf
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:27 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Add xtime_shift and ntp_error_shift to struct timekeeper
The xtime_nsec value in the timekeeper structure is shifted by a few
bits to improve precision. This happens to be the same value as the
clock->shift. To improve readability add xtime_shift to the timekeeper
and use it instead of the clock->shift. Likewise add ntp_error_shift
and replace all (NTP_SCALE_SHIFT - clock->shift) expressions.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134809.871899606@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/timekeeping.c | 33 +++++++++++++++++++--------------
1 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 7af45cb..dfdab1c 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -23,6 +23,8 @@
struct timekeeper {
/* Current clocksource used for timekeeping. */
struct clocksource *clock;
+ /* The shift value of the current clocksource. */
+ int shift;
/* Number of clock cycles in one NTP interval. */
cycle_t cycle_interval;
@@ -36,6 +38,9 @@ struct timekeeper {
/* Difference between accumulated time and NTP time in ntp
* shifted nano seconds. */
s64 ntp_error;
+ /* Shift conversion between clock shifted nano seconds and
+ * ntp shifted nano seconds. */
+ int ntp_error_shift;
};
struct timekeeper timekeeper;
@@ -75,8 +80,10 @@ static void timekeeper_setup_internals(struct clocksource *clock)
((u64) interval * clock->mult_orig) >> clock->shift;
timekeeper.xtime_nsec = 0;
+ timekeeper.shift = clock->shift;
timekeeper.ntp_error = 0;
+ timekeeper.ntp_error_shift = NTP_SCALE_SHIFT - clock->shift;
}
/*
@@ -641,8 +648,7 @@ static __always_inline int timekeeping_bigadjust(s64 error, s64 *interval,
* Now calculate the error in (1 << look_ahead) ticks, but first
* remove the single look ahead already included in the error.
*/
- tick_error = tick_length >>
- (NTP_SCALE_SHIFT - timekeeper.clock->shift + 1);
+ tick_error = tick_length >> (timekeeper.ntp_error_shift + 1);
tick_error -= timekeeper.xtime_interval >> 1;
error = ((error - tick_error) >> look_ahead) + tick_error;
@@ -673,8 +679,7 @@ static void timekeeping_adjust(s64 offset)
s64 error, interval = timekeeper.cycle_interval;
int adj;
- error = timekeeper.ntp_error >>
- (NTP_SCALE_SHIFT - timekeeper.clock->shift - 1);
+ error = timekeeper.ntp_error >> (timekeeper.ntp_error_shift - 1);
if (error > interval) {
error >>= 2;
if (likely(error <= interval))
@@ -696,7 +701,7 @@ static void timekeeping_adjust(s64 offset)
timekeeper.xtime_interval += interval;
timekeeper.xtime_nsec -= offset;
timekeeper.ntp_error -= (interval - offset) <<
- (NTP_SCALE_SHIFT - timekeeper.clock->shift);
+ timekeeper.ntp_error_shift;
}
/**
@@ -708,7 +713,7 @@ void update_wall_time(void)
{
struct clocksource *clock;
cycle_t offset;
- s64 nsecs;
+ u64 nsecs;
/* Make sure we're fully resumed: */
if (unlikely(timekeeping_suspended))
@@ -720,13 +725,13 @@ void update_wall_time(void)
#else
offset = timekeeper.cycle_interval;
#endif
- timekeeper.xtime_nsec = (s64)xtime.tv_nsec << clock->shift;
+ timekeeper.xtime_nsec = (s64)xtime.tv_nsec << timekeeper.shift;
/* normally this loop will run just once, however in the
* case of lost or late ticks, it will accumulate correctly.
*/
while (offset >= timekeeper.cycle_interval) {
- u64 nsecps = (u64)NSEC_PER_SEC << clock->shift;
+ u64 nsecps = (u64)NSEC_PER_SEC << timekeeper.shift;
/* accumulate one interval */
offset -= timekeeper.cycle_interval;
@@ -748,7 +753,7 @@ void update_wall_time(void)
/* accumulate error between NTP and clock interval */
timekeeper.ntp_error += tick_length;
timekeeper.ntp_error -= timekeeper.xtime_interval <<
- (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error_shift;
}
/* correct the clock when NTP error is too big */
@@ -773,16 +778,16 @@ void update_wall_time(void)
if (unlikely((s64)timekeeper.xtime_nsec < 0)) {
s64 neg = -(s64)timekeeper.xtime_nsec;
timekeeper.xtime_nsec = 0;
- timekeeper.ntp_error += neg << (NTP_SCALE_SHIFT - clock->shift);
+ timekeeper.ntp_error += neg << timekeeper.ntp_error_shift;
}
/* store full nanoseconds into xtime after rounding it up and
* add the remainder to the error difference.
*/
- xtime.tv_nsec = ((s64)timekeeper.xtime_nsec >> clock->shift) + 1;
- timekeeper.xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
- timekeeper.ntp_error += timekeeper.xtime_nsec <<
- (NTP_SCALE_SHIFT - clock->shift);
+ xtime.tv_nsec = ((s64) timekeeper.xtime_nsec >> timekeeper.shift) + 1;
+ timekeeper.xtime_nsec -= (s64) xtime.tv_nsec << timekeeper.shift;
+ timekeeper.ntp_error += timekeeper.xtime_nsec <<
+ timekeeper.ntp_error_shift;
nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
update_xtime_cache(nsecs);
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Move NTP adjusted clock multiplier to struct timekeeper
2009-08-14 13:47 ` [patch 11/15] move NTP adjusted clock multiplier " Martin Schwidefsky
@ 2009-08-15 9:03 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 0a54419836254a27baecd9037103171bcbabaf67
Gitweb: http://git.kernel.org/tip/0a54419836254a27baecd9037103171bcbabaf67
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:28 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Move NTP adjusted clock multiplier to struct timekeeper
The clocksource structure has two multipliers, the unmodified multiplier
clock->mult_orig and the NTP corrected multiplier clock->mult. The NTP
multiplier is misplaced in the struct clocksource, this is private
information of the timekeeping code. Add the mult field to the struct
timekeeper to contain the NTP corrected value, keep the unmodifed
multiplier in clock->mult and remove clock->mult_orig.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134810.149047645@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/arm/plat-omap/common.c | 7 +----
include/linux/clocksource.h | 4 +--
kernel/time/timekeeping.c | 53 +++++++++++++++++++-----------------------
3 files changed, 27 insertions(+), 37 deletions(-)
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index ebcf006..95587b6 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -253,11 +253,8 @@ static struct clocksource clocksource_32k = {
*/
unsigned long long sched_clock(void)
{
- unsigned long long ret;
-
- ret = (unsigned long long)clocksource_32k.read(&clocksource_32k);
- ret = (ret * clocksource_32k.mult_orig) >> clocksource_32k.shift;
- return ret;
+ return clocksource_cyc2ns(clocksource_32k.read(&clocksource_32k),
+ clocksource_32k.mult, clocksource_32k.shift);
}
static int __init omap_init_clocksource_32k(void)
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index e12e309..e34015e 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -149,8 +149,7 @@ extern u64 timecounter_cyc2time(struct timecounter *tc,
* @disable: optional function to disable the clocksource
* @mask: bitmask for two's complement
* subtraction of non 64 bit counters
- * @mult: cycle to nanosecond multiplier (adjusted by NTP)
- * @mult_orig: cycle to nanosecond multiplier (unadjusted by NTP)
+ * @mult: cycle to nanosecond multiplier
* @shift: cycle to nanosecond divisor (power of two)
* @flags: flags describing special properties
* @vread: vsyscall based read
@@ -168,7 +167,6 @@ struct clocksource {
void (*disable)(struct clocksource *cs);
cycle_t mask;
u32 mult;
- u32 mult_orig;
u32 shift;
unsigned long flags;
cycle_t (*vread)(void);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index dfdab1c..f4056f6 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -41,6 +41,8 @@ struct timekeeper {
/* Shift conversion between clock shifted nano seconds and
* ntp shifted nano seconds. */
int ntp_error_shift;
+ /* NTP adjusted clock multiplier */
+ u32 mult;
};
struct timekeeper timekeeper;
@@ -66,8 +68,8 @@ static void timekeeper_setup_internals(struct clocksource *clock)
/* Do the ns -> cycle conversion first, using original mult */
tmp = NTP_INTERVAL_LENGTH;
tmp <<= clock->shift;
- tmp += clock->mult_orig/2;
- do_div(tmp, clock->mult_orig);
+ tmp += clock->mult/2;
+ do_div(tmp, clock->mult);
if (tmp == 0)
tmp = 1;
@@ -77,13 +79,20 @@ static void timekeeper_setup_internals(struct clocksource *clock)
/* Go back from cycles -> shifted ns */
timekeeper.xtime_interval = (u64) interval * clock->mult;
timekeeper.raw_interval =
- ((u64) interval * clock->mult_orig) >> clock->shift;
+ ((u64) interval * clock->mult) >> clock->shift;
timekeeper.xtime_nsec = 0;
timekeeper.shift = clock->shift;
timekeeper.ntp_error = 0;
timekeeper.ntp_error_shift = NTP_SCALE_SHIFT - clock->shift;
+
+ /*
+ * The timekeeper keeps its own mult values for the currently
+ * active clocksource. These value will be adjusted via NTP
+ * to counteract clock drifting.
+ */
+ timekeeper.mult = clock->mult;
}
/*
@@ -154,14 +163,15 @@ static void timekeeping_forward_now(void)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
clock->cycle_last = cycle_now;
- nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
+ nsec = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
/* If arch requires, add in gettimeoffset() */
nsec += arch_gettimeoffset();
timespec_add_ns(&xtime, nsec);
- nsec = clocksource_cyc2ns(cycle_delta, clock->mult_orig, clock->shift);
+ nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
timespec_add_ns(&raw_time, nsec);
}
@@ -193,8 +203,8 @@ void getnstimeofday(struct timespec *ts)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -228,8 +238,8 @@ ktime_t ktime_get(void)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs += clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs += clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -271,8 +281,8 @@ void ktime_get_ts(struct timespec *ts)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
+ nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
} while (read_seqretry(&xtime_lock, seq));
@@ -356,22 +366,10 @@ static void change_clocksource(void)
if (new->enable && !new->enable(new))
return;
- /*
- * The frequency may have changed while the clocksource
- * was disabled. If so the code in ->enable() must update
- * the mult value to reflect the new frequency. Make sure
- * mult_orig follows this change.
- */
- new->mult_orig = new->mult;
old = timekeeper.clock;
timekeeper_setup_internals(new);
- /*
- * Save mult_orig in mult so that the value can be restored
- * regardless if ->enable() updates the value of mult or not.
- */
- old->mult = old->mult_orig;
if (old->disable)
old->disable(old);
@@ -461,7 +459,7 @@ void getrawmonotonic(struct timespec *ts)
cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
/* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult_orig,
+ nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
clock->shift);
*ts = raw_time;
@@ -521,9 +519,6 @@ void __init timekeeping_init(void)
clock = clocksource_default_clock();
if (clock->enable)
clock->enable(clock);
- /* set mult_orig on enable */
- clock->mult_orig = clock->mult;
-
timekeeper_setup_internals(clock);
xtime.tv_sec = sec;
@@ -697,7 +692,7 @@ static void timekeeping_adjust(s64 offset)
} else
return;
- timekeeper.clock->mult += adj;
+ timekeeper.mult += adj;
timekeeper.xtime_interval += interval;
timekeeper.xtime_nsec -= offset;
timekeeper.ntp_error -= (interval - offset) <<
@@ -789,7 +784,7 @@ void update_wall_time(void)
timekeeper.ntp_error += timekeeper.xtime_nsec <<
timekeeper.ntp_error_shift;
- nsecs = clocksource_cyc2ns(offset, clock->mult, clock->shift);
+ nsecs = clocksource_cyc2ns(offset, timekeeper.mult, timekeeper.shift);
update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Add timekeeper read_clock helper functions
2009-08-14 13:47 ` [patch 12/15] timekeeper read clock helper functions Martin Schwidefsky
@ 2009-08-15 9:03 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:03 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 2ba2a3054fdffc8e6452f4ee120760322a6fbd43
Gitweb: http://git.kernel.org/tip/2ba2a3054fdffc8e6452f4ee120760322a6fbd43
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:29 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Add timekeeper read_clock helper functions
Add timekeeper_read_clock_ntp and timekeeper_read_clock_raw and use
them for getnstimeofday, ktime_get, ktime_get_ts and getrawmonotonic.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134810.435105711@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/timekeeping.c | 91 +++++++++++++++++++--------------------------
1 files changed, 38 insertions(+), 53 deletions(-)
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index f4056f6..27ae01b 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -95,6 +95,40 @@ static void timekeeper_setup_internals(struct clocksource *clock)
timekeeper.mult = clock->mult;
}
+/* Timekeeper helper functions. */
+static inline s64 timekeeping_get_ns(void)
+{
+ cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
+
+ /* read clocksource: */
+ clock = timekeeper.clock;
+ cycle_now = clock->read(clock);
+
+ /* calculate the delta since the last update_wall_time: */
+ cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
+
+ /* return delta convert to nanoseconds using ntp adjusted mult. */
+ return clocksource_cyc2ns(cycle_delta, timekeeper.mult,
+ timekeeper.shift);
+}
+
+static inline s64 timekeeping_get_ns_raw(void)
+{
+ cycle_t cycle_now, cycle_delta;
+ struct clocksource *clock;
+
+ /* read clocksource: */
+ clock = timekeeper.clock;
+ cycle_now = clock->read(clock);
+
+ /* calculate the delta since the last update_wall_time: */
+ cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
+
+ /* return delta convert to nanoseconds using ntp adjusted mult. */
+ return clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
+}
+
/*
* This read-write spinlock protects us from races in SMP while
* playing with xtime.
@@ -183,8 +217,6 @@ static void timekeeping_forward_now(void)
*/
void getnstimeofday(struct timespec *ts)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
unsigned long seq;
s64 nsecs;
@@ -194,17 +226,7 @@ void getnstimeofday(struct timespec *ts)
seq = read_seqbegin(&xtime_lock);
*ts = xtime;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs = timekeeping_get_ns();
/* If arch requires, add in gettimeoffset() */
nsecs += arch_gettimeoffset();
@@ -218,8 +240,6 @@ EXPORT_SYMBOL(getnstimeofday);
ktime_t ktime_get(void)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
unsigned int seq;
s64 secs, nsecs;
@@ -229,17 +249,7 @@ ktime_t ktime_get(void)
seq = read_seqbegin(&xtime_lock);
secs = xtime.tv_sec + wall_to_monotonic.tv_sec;
nsecs = xtime.tv_nsec + wall_to_monotonic.tv_nsec;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs += clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs += timekeeping_get_ns();
} while (read_seqretry(&xtime_lock, seq));
/*
@@ -260,8 +270,6 @@ EXPORT_SYMBOL_GPL(ktime_get);
*/
void ktime_get_ts(struct timespec *ts)
{
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
struct timespec tomono;
unsigned int seq;
s64 nsecs;
@@ -272,17 +280,7 @@ void ktime_get_ts(struct timespec *ts)
seq = read_seqbegin(&xtime_lock);
*ts = xtime;
tomono = wall_to_monotonic;
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, timekeeper.mult,
- timekeeper.shift);
+ nsecs = timekeeping_get_ns();
} while (read_seqretry(&xtime_lock, seq));
@@ -445,23 +443,10 @@ void getrawmonotonic(struct timespec *ts)
{
unsigned long seq;
s64 nsecs;
- cycle_t cycle_now, cycle_delta;
- struct clocksource *clock;
do {
seq = read_seqbegin(&xtime_lock);
-
- /* read clocksource: */
- clock = timekeeper.clock;
- cycle_now = clock->read(clock);
-
- /* calculate the delta since the last update_wall_time: */
- cycle_delta = (cycle_now - clock->cycle_last) & clock->mask;
-
- /* convert to nanoseconds: */
- nsecs = clocksource_cyc2ns(cycle_delta, clock->mult,
- clock->shift);
-
+ nsecs = timekeeping_get_ns_raw();
*ts = raw_time;
} while (read_seqretry(&xtime_lock, seq));
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Update clocksource with stop_machine
2009-08-14 13:47 ` [patch 13/15] update clocksource with stop_machine Martin Schwidefsky
@ 2009-08-15 9:04 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:04 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 75c5158f70c065b9704b924503d96e8297838f79
Gitweb: http://git.kernel.org/tip/75c5158f70c065b9704b924503d96e8297838f79
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:30 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Update clocksource with stop_machine
update_wall_time calls change_clocksource HZ times per second to check
if a new clock source is available. In close to 100% of all calls
there is no new clock. Replace the tick based check by an update done
with stop_machine.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134810.711836357@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/clocksource.h | 2 +
kernel/time/clocksource.c | 112 +++++++++++++++++--------------------------
kernel/time/timekeeping.c | 41 ++++++++++------
3 files changed, 72 insertions(+), 83 deletions(-)
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index e34015e..9ea40ff 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -291,4 +291,6 @@ static inline void update_vsyscall_tz(void)
}
#endif
+extern void timekeeping_notify(struct clocksource *clock);
+
#endif /* _LINUX_CLOCKSOURCE_H */
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index f18c9a6..a1657b5 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -109,35 +109,17 @@ EXPORT_SYMBOL(timecounter_cyc2time);
/*[Clocksource internal variables]---------
* curr_clocksource:
* currently selected clocksource.
- * next_clocksource:
- * pending next selected clocksource.
* clocksource_list:
* linked list with the registered clocksources
- * clocksource_lock:
- * protects manipulations to curr_clocksource and next_clocksource
- * and the clocksource_list
+ * clocksource_mutex:
+ * protects manipulations to curr_clocksource and the clocksource_list
* override_name:
* Name of the user-specified clocksource.
*/
static struct clocksource *curr_clocksource;
-static struct clocksource *next_clocksource;
static LIST_HEAD(clocksource_list);
-static DEFINE_SPINLOCK(clocksource_lock);
+static DEFINE_MUTEX(clocksource_mutex);
static char override_name[32];
-static int finished_booting;
-
-/* clocksource_done_booting - Called near the end of core bootup
- *
- * Hack to avoid lots of clocksource churn at boot time.
- * We use fs_initcall because we want this to start before
- * device_initcall but after subsys_initcall.
- */
-static int __init clocksource_done_booting(void)
-{
- finished_booting = 1;
- return 0;
-}
-fs_initcall(clocksource_done_booting);
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
static LIST_HEAD(watchdog_list);
@@ -356,18 +338,16 @@ static inline void clocksource_resume_watchdog(void) { }
void clocksource_resume(void)
{
struct clocksource *cs;
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
- list_for_each_entry(cs, &clocksource_list, list) {
+ list_for_each_entry(cs, &clocksource_list, list)
if (cs->resume)
cs->resume();
- }
clocksource_resume_watchdog();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
/**
@@ -383,28 +363,13 @@ void clocksource_touch_watchdog(void)
}
#ifdef CONFIG_GENERIC_TIME
-/**
- * clocksource_get_next - Returns the selected clocksource
- *
- */
-struct clocksource *clocksource_get_next(void)
-{
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
- if (next_clocksource && finished_booting) {
- curr_clocksource = next_clocksource;
- next_clocksource = NULL;
- }
- spin_unlock_irqrestore(&clocksource_lock, flags);
-
- return curr_clocksource;
-}
+static int finished_booting;
/**
* clocksource_select - Select the best clocksource available
*
- * Private function. Must hold clocksource_lock when called.
+ * Private function. Must hold clocksource_mutex when called.
*
* Select the clocksource with the best rating, or the clocksource,
* which is selected by userspace override.
@@ -413,7 +378,7 @@ static void clocksource_select(void)
{
struct clocksource *best, *cs;
- if (list_empty(&clocksource_list))
+ if (!finished_booting || list_empty(&clocksource_list))
return;
/* First clocksource on the list has the best rating. */
best = list_first_entry(&clocksource_list, struct clocksource, list);
@@ -438,13 +403,31 @@ static void clocksource_select(void)
best = cs;
break;
}
- if (curr_clocksource != best)
- next_clocksource = best;
+ if (curr_clocksource != best) {
+ printk(KERN_INFO "Switching to clocksource %s\n", best->name);
+ curr_clocksource = best;
+ timekeeping_notify(curr_clocksource);
+ }
}
+/*
+ * clocksource_done_booting - Called near the end of core bootup
+ *
+ * Hack to avoid lots of clocksource churn at boot time.
+ * We use fs_initcall because we want this to start before
+ * device_initcall but after subsys_initcall.
+ */
+static int __init clocksource_done_booting(void)
+{
+ finished_booting = 1;
+ clocksource_select();
+ return 0;
+}
+fs_initcall(clocksource_done_booting);
+
#else /* CONFIG_GENERIC_TIME */
-static void clocksource_select(void) { }
+static inline void clocksource_select(void) { }
#endif
@@ -471,13 +454,11 @@ static void clocksource_enqueue(struct clocksource *cs)
*/
int clocksource_register(struct clocksource *cs)
{
- unsigned long flags;
-
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
clocksource_enqueue(cs);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
clocksource_enqueue_watchdog(cs);
+ mutex_unlock(&clocksource_mutex);
return 0;
}
EXPORT_SYMBOL(clocksource_register);
@@ -487,14 +468,12 @@ EXPORT_SYMBOL(clocksource_register);
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
- unsigned long flags;
-
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
list_del(&cs->list);
cs->rating = rating;
clocksource_enqueue(cs);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_change_rating);
@@ -503,13 +482,11 @@ EXPORT_SYMBOL(clocksource_change_rating);
*/
void clocksource_unregister(struct clocksource *cs)
{
- unsigned long flags;
-
+ mutex_lock(&clocksource_mutex);
clocksource_dequeue_watchdog(cs);
- spin_lock_irqsave(&clocksource_lock, flags);
list_del(&cs->list);
clocksource_select();
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_unregister);
@@ -527,9 +504,9 @@ sysfs_show_current_clocksources(struct sys_device *dev,
{
ssize_t count = 0;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
count = snprintf(buf, PAGE_SIZE, "%s\n", curr_clocksource->name);
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
return count;
}
@@ -557,14 +534,14 @@ static ssize_t sysfs_override_clocksource(struct sys_device *dev,
if (buf[count-1] == '\n')
count--;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
if (count > 0)
memcpy(override_name, buf, count);
override_name[count] = 0;
clocksource_select();
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
return ret;
}
@@ -584,7 +561,7 @@ sysfs_show_available_clocksources(struct sys_device *dev,
struct clocksource *src;
ssize_t count = 0;
- spin_lock_irq(&clocksource_lock);
+ mutex_lock(&clocksource_mutex);
list_for_each_entry(src, &clocksource_list, list) {
/*
* Don't show non-HRES clocksource if the tick code is
@@ -596,7 +573,7 @@ sysfs_show_available_clocksources(struct sys_device *dev,
max((ssize_t)PAGE_SIZE - count, (ssize_t)0),
"%s ", src->name);
}
- spin_unlock_irq(&clocksource_lock);
+ mutex_unlock(&clocksource_mutex);
count += snprintf(buf + count,
max((ssize_t)PAGE_SIZE - count, (ssize_t)0), "\n");
@@ -651,11 +628,10 @@ device_initcall(init_clocksource_sysfs);
*/
static int __init boot_override_clocksource(char* str)
{
- unsigned long flags;
- spin_lock_irqsave(&clocksource_lock, flags);
+ mutex_lock(&clocksource_mutex);
if (str)
strlcpy(override_name, str, sizeof(override_name));
- spin_unlock_irqrestore(&clocksource_lock, flags);
+ mutex_unlock(&clocksource_mutex);
return 1;
}
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 27ae01b..41579e7 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -18,6 +18,7 @@
#include <linux/jiffies.h>
#include <linux/time.h>
#include <linux/tick.h>
+#include <linux/stop_machine.h>
/* Structure holding internal timekeeping values. */
struct timekeeper {
@@ -179,6 +180,7 @@ void timekeeping_leap_insert(int leapsecond)
}
#ifdef CONFIG_GENERIC_TIME
+
/**
* timekeeping_forward_now - update clock to the current time
*
@@ -351,31 +353,40 @@ EXPORT_SYMBOL(do_settimeofday);
*
* Accumulates current time interval and initializes new clocksource
*/
-static void change_clocksource(void)
+static int change_clocksource(void *data)
{
struct clocksource *new, *old;
- new = clocksource_get_next();
-
- if (!new || timekeeper.clock == new)
- return;
+ new = (struct clocksource *) data;
timekeeping_forward_now();
+ if (!new->enable || new->enable(new) == 0) {
+ old = timekeeper.clock;
+ timekeeper_setup_internals(new);
+ if (old->disable)
+ old->disable(old);
+ }
+ return 0;
+}
- if (new->enable && !new->enable(new))
+/**
+ * timekeeping_notify - Install a new clock source
+ * @clock: pointer to the clock source
+ *
+ * This function is called from clocksource.c after a new, better clock
+ * source has been registered. The caller holds the clocksource_mutex.
+ */
+void timekeeping_notify(struct clocksource *clock)
+{
+ if (timekeeper.clock == clock)
return;
-
- old = timekeeper.clock;
- timekeeper_setup_internals(new);
-
- if (old->disable)
- old->disable(old);
-
+ stop_machine(change_clocksource, clock, NULL);
tick_clock_notify();
}
+
#else /* GENERIC_TIME */
+
static inline void timekeeping_forward_now(void) { }
-static inline void change_clocksource(void) { }
/**
* ktime_get - get the monotonic time in ktime_t format
@@ -416,6 +427,7 @@ void ktime_get_ts(struct timespec *ts)
ts->tv_nsec + tomono.tv_nsec);
}
EXPORT_SYMBOL_GPL(ktime_get_ts);
+
#endif /* !GENERIC_TIME */
/**
@@ -773,7 +785,6 @@ void update_wall_time(void)
update_xtime_cache(nsecs);
/* check to see if there is a new clocksource to use */
- change_clocksource();
update_vsyscall(&xtime, timekeeper.clock);
}
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-14 13:47 ` [patch 14/15] read_persistent_clock should return a timespec Martin Schwidefsky
@ 2009-08-15 9:04 ` tip-bot for Martin Schwidefsky
2009-08-22 10:32 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:04 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: d4f587c67fc39e0030ddd718675e252e208da4d7
Gitweb: http://git.kernel.org/tip/d4f587c67fc39e0030ddd718675e252e208da4d7
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:31 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
timekeeping: Increase granularity of read_persistent_clock()
The persistent clock of some architectures (e.g. s390) have a
better granularity than seconds. To reduce the delta between the
host clock and the guest clock in a virtualized system change the
read_persistent_clock function to return a struct timespec.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134811.013873340@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/m68knommu/kernel/time.c | 5 ++-
arch/mips/dec/time.c | 5 ++-
arch/mips/lasat/ds1603.c | 5 ++-
arch/mips/lasat/sysctl.c | 8 ++++-
arch/mips/lemote/lm2e/setup.c | 5 ++-
arch/mips/mti-malta/malta-time.c | 5 ++-
arch/mips/pmc-sierra/yosemite/setup.c | 5 ++-
arch/mips/sibyte/swarm/setup.c | 15 +++++++--
arch/mips/sni/time.c | 5 ++-
arch/powerpc/kernel/time.c | 7 ++--
arch/s390/kernel/time.c | 22 ++-----------
arch/sh/kernel/time.c | 6 +--
arch/x86/kernel/rtc.c | 5 ++-
arch/xtensa/kernel/time.c | 5 +--
include/linux/time.h | 2 +-
kernel/time/timekeeping.c | 52 ++++++++++++++++++--------------
16 files changed, 83 insertions(+), 74 deletions(-)
diff --git a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c
index d182b2f..6843224 100644
--- a/arch/m68knommu/kernel/time.c
+++ b/arch/m68knommu/kernel/time.c
@@ -72,9 +72,10 @@ static unsigned long read_rtc_mmss(void)
return mktime(year, mon, day, hour, min, sec);;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return read_rtc_mmss();
+ ts->tv_sec = read_rtc_mmss();
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
diff --git a/arch/mips/dec/time.c b/arch/mips/dec/time.c
index 463136e..02f505f 100644
--- a/arch/mips/dec/time.c
+++ b/arch/mips/dec/time.c
@@ -18,7 +18,7 @@
#include <asm/dec/ioasic.h>
#include <asm/dec/machtype.h>
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, mon, day, hour, min, sec, real_year;
unsigned long flags;
@@ -53,7 +53,8 @@ unsigned long read_persistent_clock(void)
year += real_year - 72 + 2000;
- return mktime(year, mon, day, hour, min, sec);
+ ts->tv_sec = mktime(year, mon, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
/*
diff --git a/arch/mips/lasat/ds1603.c b/arch/mips/lasat/ds1603.c
index 52cb143..c6fd96f 100644
--- a/arch/mips/lasat/ds1603.c
+++ b/arch/mips/lasat/ds1603.c
@@ -135,7 +135,7 @@ static void rtc_end_op(void)
lasat_ndelay(1000);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long word;
unsigned long flags;
@@ -147,7 +147,8 @@ unsigned long read_persistent_clock(void)
rtc_end_op();
spin_unlock_irqrestore(&rtc_lock, flags);
- return word;
+ ts->tv_sec = word;
+ ts->tv_nsec = 0;
}
int rtc_mips_set_mmss(unsigned long time)
diff --git a/arch/mips/lasat/sysctl.c b/arch/mips/lasat/sysctl.c
index 8f88886..3f04d4c 100644
--- a/arch/mips/lasat/sysctl.c
+++ b/arch/mips/lasat/sysctl.c
@@ -92,10 +92,12 @@ static int rtctmp;
int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
void *buffer, size_t *lenp, loff_t *ppos)
{
+ struct timespec ts;
int r;
if (!write) {
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
/* check for time < 0 and set to 0 */
if (rtctmp < 0)
rtctmp = 0;
@@ -134,9 +136,11 @@ int sysctl_lasat_rtc(ctl_table *table,
void *oldval, size_t *oldlenp,
void *newval, size_t newlen)
{
+ struct timespec ts;
int r;
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
if (rtctmp < 0)
rtctmp = 0;
r = sysctl_intvec(table, oldval, oldlenp, newval, newlen);
diff --git a/arch/mips/lemote/lm2e/setup.c b/arch/mips/lemote/lm2e/setup.c
index ebd6cea..24b355d 100644
--- a/arch/mips/lemote/lm2e/setup.c
+++ b/arch/mips/lemote/lm2e/setup.c
@@ -54,9 +54,10 @@ void __init plat_time_init(void)
mips_hpt_frequency = cpu_clock_freq / 2;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
void (*__wbflush)(void);
diff --git a/arch/mips/mti-malta/malta-time.c b/arch/mips/mti-malta/malta-time.c
index 0b97d47..3c6f190 100644
--- a/arch/mips/mti-malta/malta-time.c
+++ b/arch/mips/mti-malta/malta-time.c
@@ -100,9 +100,10 @@ static unsigned int __init estimate_cpu_frequency(void)
return count;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
static void __init plat_perf_setup(void)
diff --git a/arch/mips/pmc-sierra/yosemite/setup.c b/arch/mips/pmc-sierra/yosemite/setup.c
index 2d3c0dc..3498ac9 100644
--- a/arch/mips/pmc-sierra/yosemite/setup.c
+++ b/arch/mips/pmc-sierra/yosemite/setup.c
@@ -70,7 +70,7 @@ void __init bus_error_init(void)
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, month, day, hour, min, sec;
unsigned long flags;
@@ -92,7 +92,8 @@ unsigned long read_persistent_clock(void)
m48t37_base->control = 0x00;
spin_unlock_irqrestore(&rtc_lock, flags);
- return mktime(year, month, day, hour, min, sec);
+ ts->tv_sec = mktime(year, month, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long tim)
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c
index 672e45d..623ffc9 100644
--- a/arch/mips/sibyte/swarm/setup.c
+++ b/arch/mips/sibyte/swarm/setup.c
@@ -87,19 +87,26 @@ enum swarm_rtc_type {
enum swarm_rtc_type swarm_rtc_type;
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
+ unsigned long sec;
+
switch (swarm_rtc_type) {
case RTC_XICOR:
- return xicor_get_time();
+ sec = xicor_get_time();
+ break;
case RTC_M4LT81:
- return m41t81_get_time();
+ sec = m41t81_get_time();
+ break;
case RTC_NONE:
default:
- return mktime(2000, 1, 1, 0, 0, 0);
+ sec = mktime(2000, 1, 1, 0, 0, 0);
+ break;
}
+ ts->tv_sec = sec;
+ tv->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long sec)
diff --git a/arch/mips/sni/time.c b/arch/mips/sni/time.c
index 0d9ec1a..62df6a5 100644
--- a/arch/mips/sni/time.c
+++ b/arch/mips/sni/time.c
@@ -182,7 +182,8 @@ void __init plat_time_init(void)
setup_pit_timer();
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return -1;
+ ts->tv_sec = -1;
+ ts->tv_nsec = 0;
}
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index eae4511..ad63f30 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -769,7 +769,7 @@ int update_persistent_clock(struct timespec now)
return ppc_md.set_rtc_time(&tm);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
struct rtc_time tm;
static int first = 1;
@@ -787,8 +787,9 @@ unsigned long read_persistent_clock(void)
if (!ppc_md.get_rtc_time)
return 0;
ppc_md.get_rtc_time(&tm);
- return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
+ tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_nsec = 0;
}
/* clocksource code */
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index e76c2e7..a94ec48 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -182,12 +182,9 @@ static void timing_alert_interrupt(__u16 code)
static void etr_reset(void);
static void stp_reset(void);
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec ts;
-
- tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, &ts);
- return ts.tv_sec;
+ tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, ts);
}
static cycle_t read_tod_clock(struct clocksource *cs)
@@ -248,7 +245,6 @@ void __init time_init(void)
{
struct timespec ts;
unsigned long flags;
- cycle_t now;
/* Reset time synchronization interfaces. */
etr_reset();
@@ -266,20 +262,10 @@ void __init time_init(void)
panic("Could not register TOD clock source");
/*
- * The TOD clock is an accurate clock. The xtime should be
- * initialized in a way that the difference between TOD and
- * xtime is reasonably small. Too bad that timekeeping_init
- * sets xtime.tv_nsec to zero. In addition the clock source
- * change from the jiffies clock source to the TOD clock
- * source add another error of up to 1/HZ second. The same
- * function sets wall_to_monotonic to a value that is too
- * small for /proc/uptime to be accurate.
- * Reset xtime and wall_to_monotonic to sane values.
+ * Reset wall_to_monotonic to the initial timestamp created
+ * in head.S to get a precise value in /proc/uptime.
*/
write_seqlock_irqsave(&xtime_lock, flags);
- now = get_clock();
- tod_to_timeval(now - TOD_UNIX_EPOCH, &xtime);
- clocksource_tod.cycle_last = now;
tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
write_sequnlock_irqrestore(&xtime_lock, flags);
diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c
index 9b352a1..3f4706a 100644
--- a/arch/sh/kernel/time.c
+++ b/arch/sh/kernel/time.c
@@ -39,11 +39,9 @@ void (*rtc_sh_get_time)(struct timespec *) = null_rtc_get_time;
int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time;
#ifdef CONFIG_GENERIC_CMOS_UPDATE
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec tv;
- rtc_sh_get_time(&tv);
- return tv.tv_sec;
+ rtc_sh_get_time(&ts);
}
int update_persistent_clock(struct timespec now)
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index 5d465b2..bf67dcb 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -178,7 +178,7 @@ static int set_rtc_mmss(unsigned long nowtime)
}
/* not static: needed by APM */
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long retval, flags;
@@ -186,7 +186,8 @@ unsigned long read_persistent_clock(void)
retval = get_wallclock();
spin_unlock_irqrestore(&rtc_lock, flags);
- return retval;
+ ts->tv_sec = retval;
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index 8848120..19085ff 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -59,9 +59,8 @@ static struct irqaction timer_irqaction = {
void __init time_init(void)
{
- xtime.tv_nsec = 0;
- xtime.tv_sec = read_persistent_clock();
-
+ /* FIXME: xtime&wall_to_monotonic are set in timekeeping_init. */
+ read_persistent_clock(&xtime);
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
diff --git a/include/linux/time.h b/include/linux/time.h
index e7c8445..53a3216 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -101,7 +101,7 @@ extern struct timespec xtime;
extern struct timespec wall_to_monotonic;
extern seqlock_t xtime_lock;
-extern unsigned long read_persistent_clock(void);
+extern void read_persistent_clock(struct timespec *ts);
extern int update_persistent_clock(struct timespec now);
extern int no_sync_cmos_clock __read_mostly;
void timekeeping_init(void);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 41579e7..f1a21ce 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -154,7 +154,7 @@ __cacheline_aligned_in_smp DEFINE_SEQLOCK(xtime_lock);
*/
struct timespec xtime __attribute__ ((aligned (16)));
struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
-static unsigned long total_sleep_time; /* seconds */
+static struct timespec total_sleep_time;
/*
* The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock.
@@ -487,17 +487,18 @@ int timekeeping_valid_for_hres(void)
}
/**
- * read_persistent_clock - Return time in seconds from the persistent clock.
+ * read_persistent_clock - Return time from the persistent clock.
*
* Weak dummy function for arches that do not yet support it.
- * Returns seconds from epoch using the battery backed persistent clock.
- * Returns zero if unsupported.
+ * Reads the time from the battery backed persistent clock.
+ * Returns a timespec with tv_sec=0 and tv_nsec=0 if unsupported.
*
* XXX - Do be sure to remove it once all arches implement it.
*/
-unsigned long __attribute__((weak)) read_persistent_clock(void)
+void __attribute__((weak)) read_persistent_clock(struct timespec *ts)
{
- return 0;
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
}
/*
@@ -507,7 +508,9 @@ void __init timekeeping_init(void)
{
struct clocksource *clock;
unsigned long flags;
- unsigned long sec = read_persistent_clock();
+ struct timespec now;
+
+ read_persistent_clock(&now);
write_seqlock_irqsave(&xtime_lock, flags);
@@ -518,19 +521,20 @@ void __init timekeeping_init(void)
clock->enable(clock);
timekeeper_setup_internals(clock);
- xtime.tv_sec = sec;
- xtime.tv_nsec = 0;
+ xtime.tv_sec = now.tv_sec;
+ xtime.tv_nsec = now.tv_nsec;
raw_time.tv_sec = 0;
raw_time.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
update_xtime_cache(0);
- total_sleep_time = 0;
+ total_sleep_time.tv_sec = 0;
+ total_sleep_time.tv_nsec = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
}
/* time in seconds when suspend began */
-static unsigned long timekeeping_suspend_time;
+static struct timespec timekeeping_suspend_time;
/**
* timekeeping_resume - Resumes the generic timekeeping subsystem.
@@ -543,18 +547,19 @@ static unsigned long timekeeping_suspend_time;
static int timekeeping_resume(struct sys_device *dev)
{
unsigned long flags;
- unsigned long now = read_persistent_clock();
+ struct timespec ts;
+
+ read_persistent_clock(&ts);
clocksource_resume();
write_seqlock_irqsave(&xtime_lock, flags);
- if (now && (now > timekeeping_suspend_time)) {
- unsigned long sleep_length = now - timekeeping_suspend_time;
-
- xtime.tv_sec += sleep_length;
- wall_to_monotonic.tv_sec -= sleep_length;
- total_sleep_time += sleep_length;
+ if (timespec_compare(&ts, &timekeeping_suspend_time) > 0) {
+ ts = timespec_sub(ts, timekeeping_suspend_time);
+ xtime = timespec_add_safe(xtime, ts);
+ wall_to_monotonic = timespec_sub(wall_to_monotonic, ts);
+ total_sleep_time = timespec_add_safe(total_sleep_time, ts);
}
update_xtime_cache(0);
/* re-base the last cycle value */
@@ -577,7 +582,7 @@ static int timekeeping_suspend(struct sys_device *dev, pm_message_t state)
{
unsigned long flags;
- timekeeping_suspend_time = read_persistent_clock();
+ read_persistent_clock(&timekeeping_suspend_time);
write_seqlock_irqsave(&xtime_lock, flags);
timekeeping_forward_now();
@@ -801,9 +806,10 @@ void update_wall_time(void)
*/
void getboottime(struct timespec *ts)
{
- set_normalized_timespec(ts,
- - (wall_to_monotonic.tv_sec + total_sleep_time),
- - wall_to_monotonic.tv_nsec);
+ struct timespec boottime;
+
+ boottime = timespec_add_safe(wall_to_monotonic, total_sleep_time);
+ set_normalized_timespec(ts, -boottime.tv_sec, -boottime.tv_nsec);
}
/**
@@ -812,7 +818,7 @@ void getboottime(struct timespec *ts)
*/
void monotonic_to_bootbased(struct timespec *ts)
{
- ts->tv_sec += total_sleep_time;
+ *ts = timespec_add_safe(*ts, total_sleep_time);
}
unsigned long get_seconds(void)
^ permalink raw reply related [flat|nested] 78+ messages in thread
* Re: [patch 10/15] add xtime_shift and ntp_error_shift to struct timekeeper
2009-08-14 13:47 ` [patch 10/15] add xtime_shift and ntp_error_shift to " Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Add " tip-bot for Martin Schwidefsky
@ 2009-08-15 9:04 ` Thomas Gleixner
1 sibling, 0 replies; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-15 9:04 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: linux-kernel, Ingo Molnar, john stultz, Daniel Walker
On Fri, 14 Aug 2009, Martin Schwidefsky wrote:
> timekeeper.xtime_nsec += timekeeper.xtime_interval;
> - if (timekeeper.xtime_nsec >= (u64)NSEC_PER_SEC << clock->shift) {
> - timekeeper.xtime_nsec -= (u64)NSEC_PER_SEC << clock->shift;
> + nsecs = (u64) NSEC_PER_SEC << timekeeper.shift;
Minor nit. I made this a separate u64 variable as nsecs is s64 and
while this signed/unsigned mismatch is probably not hurting in that
context it's still not pretty :)
Thanks,
tglx
^ permalink raw reply [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Introduce read_boot_clock
2009-08-14 13:47 ` [patch 15/15] introduce read_boot_clock Martin Schwidefsky
@ 2009-08-15 9:04 ` tip-bot for Martin Schwidefsky
0 siblings, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-15 9:04 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, schwidefsky, dwalker, tglx,
mingo
Commit-ID: 23970e389e9cee43c4b41023935e1417271708b2
Gitweb: http://git.kernel.org/tip/23970e389e9cee43c4b41023935e1417271708b2
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Fri, 14 Aug 2009 15:47:32 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Sat, 15 Aug 2009 10:55:47 +0200
timekeeping: Introduce read_boot_clock
Add the new function read_boot_clock to get the exact time the system
has been started. For architectures without support for exact boot
time a new weak function is added that returns 0. Use the exact boot
time to initialize wall_to_monotonic, or xtime if the read_boot_clock
returned 0.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134811.296703241@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/s390/kernel/time.c | 17 +++++------------
include/linux/time.h | 1 +
kernel/time/timekeeping.c | 24 ++++++++++++++++++++++--
3 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index a94ec48..6bff1a1 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -187,6 +187,11 @@ void read_persistent_clock(struct timespec *ts)
tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, ts);
}
+void read_boot_clock(struct timespec *ts)
+{
+ tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, ts);
+}
+
static cycle_t read_tod_clock(struct clocksource *cs)
{
return get_clock();
@@ -243,9 +248,6 @@ void update_vsyscall_tz(void)
*/
void __init time_init(void)
{
- struct timespec ts;
- unsigned long flags;
-
/* Reset time synchronization interfaces. */
etr_reset();
stp_reset();
@@ -261,15 +263,6 @@ void __init time_init(void)
if (clocksource_register(&clocksource_tod) != 0)
panic("Could not register TOD clock source");
- /*
- * Reset wall_to_monotonic to the initial timestamp created
- * in head.S to get a precise value in /proc/uptime.
- */
- write_seqlock_irqsave(&xtime_lock, flags);
- tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
- set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
- write_sequnlock_irqrestore(&xtime_lock, flags);
-
/* Enable TOD clock interrupts on the boot cpu. */
init_cpu_timer();
diff --git a/include/linux/time.h b/include/linux/time.h
index 53a3216..f505988 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -102,6 +102,7 @@ extern struct timespec wall_to_monotonic;
extern seqlock_t xtime_lock;
extern void read_persistent_clock(struct timespec *ts);
+extern void read_boot_clock(struct timespec *ts);
extern int update_persistent_clock(struct timespec now);
extern int no_sync_cmos_clock __read_mostly;
void timekeeping_init(void);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index f1a21ce..15e06de 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -501,6 +501,21 @@ void __attribute__((weak)) read_persistent_clock(struct timespec *ts)
ts->tv_nsec = 0;
}
+/**
+ * read_boot_clock - Return time of the system start.
+ *
+ * Weak dummy function for arches that do not yet support it.
+ * Function to read the exact time the system has been started.
+ * Returns a timespec with tv_sec=0 and tv_nsec=0 if unsupported.
+ *
+ * XXX - Do be sure to remove it once all arches implement it.
+ */
+void __attribute__((weak)) read_boot_clock(struct timespec *ts)
+{
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
+}
+
/*
* timekeeping_init - Initializes the clocksource and common timekeeping values
*/
@@ -508,9 +523,10 @@ void __init timekeeping_init(void)
{
struct clocksource *clock;
unsigned long flags;
- struct timespec now;
+ struct timespec now, boot;
read_persistent_clock(&now);
+ read_boot_clock(&boot);
write_seqlock_irqsave(&xtime_lock, flags);
@@ -525,8 +541,12 @@ void __init timekeeping_init(void)
xtime.tv_nsec = now.tv_nsec;
raw_time.tv_sec = 0;
raw_time.tv_nsec = 0;
+ if (boot.tv_sec == 0 && boot.tv_nsec == 0) {
+ boot.tv_sec = xtime.tv_sec;
+ boot.tv_nsec = xtime.tv_nsec;
+ }
set_normalized_timespec(&wall_to_monotonic,
- -xtime.tv_sec, -xtime.tv_nsec);
+ -boot.tv_sec, -boot.tv_nsec);
update_xtime_cache(0);
total_sleep_time.tv_sec = 0;
total_sleep_time.tv_nsec = 0;
^ permalink raw reply related [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-15 9:01 ` Thomas Gleixner
@ 2009-08-15 9:52 ` Ingo Molnar
2009-08-15 10:08 ` Thomas Gleixner
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-15 9:52 UTC (permalink / raw)
To: Thomas Gleixner, Peter Zijlstra
Cc: john stultz, Martin Schwidefsky, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 7955 bytes --]
* Thomas Gleixner <tglx@linutronix.de> wrote:
> On Fri, 14 Aug 2009, john stultz wrote:
> > > Keeping the fingers crossed that this is now really done.
> > > John already gave his thumbs up for the patch series, so the next
> > > logical question is who is going to sit on the patches until the merge
> > > window is opened? I can certainly create a git branch on git390 for
> > > them, but the patches depend on some patches in the x86-tip tree.
> > > Thomas, any thoughts?
> >
> > So with the fix I sent out to patch #4, this set looks good to me.
> >
> > So for all of them, including the fixup:
> >
> > Acked-by: John Stultz <johnstul@us.ibm.com>
>
> Thanks John for the fix. I picked up everything and pushed it into
> tip/timers/core.
>
> Martin, thanks for the nice work. FYI, I massaged the commit
> messages a bit as they were missing subsystem identifiers and I
> added some more explanation to some of them.
Yeah, nice cleanups!
I gave it some brief testing in tip:master and there's the new
lockdep assert below. Config and full bootlog attached.
Ingo
[ 1.680107] =======================================================
[ 1.683330] [ INFO: possible circular locking dependency detected ]
[ 1.683330] 2.6.31-rc6-tip #4534
[ 1.683330] -------------------------------------------------------
[ 1.703334] events/1/8 is trying to acquire lock:
[ 1.703334] (clocksource_mutex){+.+...}, at: [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334]
[ 1.703334] but task is already holding lock:
[ 1.703334] (watchdog_lock){+.-...}, at: [<c105e24a>] clocksource_watchdog_work+0x14/0x94
[ 1.703334]
[ 1.703334] which lock already depends on the new lock.
[ 1.703334]
[ 1.703334]
[ 1.703334] the existing dependency chain (in reverse order) is:
[ 1.703334]
[ 1.703334] -> #1 (watchdog_lock){+.-...}:
[ 1.703334] [<c1066317>] __lock_acquire+0xa5d/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c19fcf2a>] _spin_lock_irqsave+0x37/0x6a
[ 1.703334] [<c105e0da>] clocksource_register+0x65/0x1c1
[ 1.703334] [<c1fe8102>] tsc_init+0x1d7/0x1df
[ 1.703334] [<c1fe4b75>] time_init+0xd/0x19
[ 1.703334] [<c1fe2ab1>] start_kernel+0x21b/0x3e5
[ 1.703334] [<c1fe2391>] i386_start_kernel+0x6b/0x70
[ 1.703334]
[ 1.703334] -> #0 (clocksource_mutex){+.+...}:
[ 1.703334] [<c1066222>] __lock_acquire+0x968/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c19fbb3f>] __mutex_lock_common+0x3a/0x34d
[ 1.703334] [<c19fbecc>] mutex_lock_nested+0x24/0x2c
[ 1.703334] [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e277>] clocksource_watchdog_work+0x41/0x94
[ 1.703334] [<c1050d96>] worker_thread+0x179/0x24a
[ 1.703334] [<c1054ad7>] kthread+0x66/0x6b
[ 1.703334] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 1.703334]
[ 1.703334] other info that might help us debug this:
[ 1.703334]
[ 1.703334] 3 locks held by events/1/8:
[ 1.703334] #0: (events){+.+...}, at: [<c1050d4c>] worker_thread+0x12f/0x24a
[ 1.703334] #1: (&watchdog_work){+.+...}, at: [<c1050d4c>] worker_thread+0x12f/0x24a
[ 1.703334] #2: (watchdog_lock){+.-...}, at: [<c105e24a>] clocksource_watchdog_work+0x14/0x94
[ 1.703334]
[ 1.703334] stack backtrace:
[ 1.703334] Pid: 8, comm: events/1 Tainted: G W 2.6.31-rc6-tip #4534
[ 1.703334] Call Trace:
[ 1.703334] [<c19fa80e>] ? printk+0x14/0x16
[ 1.703334] [<c1065575>] print_circular_bug+0x8a/0x96
[ 1.703334] [<c1066222>] __lock_acquire+0x968/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c19fbb3f>] __mutex_lock_common+0x3a/0x34d
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e24a>] ? clocksource_watchdog_work+0x14/0x94
[ 1.703334] [<c19fbecc>] mutex_lock_nested+0x24/0x2c
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e277>] clocksource_watchdog_work+0x41/0x94
[ 1.703334] [<c1050d96>] worker_thread+0x179/0x24a
[ 1.703334] [<c1050d4c>] ? worker_thread+0x12f/0x24a
[ 1.703334] [<c105e236>] ? clocksource_watchdog_work+0x0/0x94
[ 1.703334] [<c1054d71>] ? autoremove_wake_function+0x0/0x38
[ 1.703334] [<c1050c1d>] ? worker_thread+0x0/0x24a
[ 1.703334] [<c1054ad7>] kthread+0x66/0x6b
[ 1.703334] [<c1054a71>] ? kthread+0x0/0x6b
[ 1.703334] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 2.464242] initcall cfg80211_init+0x0/0x69 returned 0 after 735675 usecs
[ 2.466667] calling ieee80211_init+0x0/0x24 @ 1
Timer List Version: v0.4
HRTIMER_MAX_CLOCK_BASES: 2
now at 1915353302473 nsecs
cpu: 0
clock 0:
.base: c28c0a78
.index: 0
.resolution: 3333116 nsecs
.get_time: ktime_get_real
.offset: 0 nsecs
active timers:
clock 1:
.base: c28c0aa4
.index: 1
.resolution: 3333116 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <f604daf0>, hrtimer_wakeup, S:01, <(null)>, /-1
# expires at 1919286635810-1919291635810 nsecs [in 3933333337 to 3938333337 nsecs]
.expires_next : 9223372036854775807 nsecs
.hres_active : 0
.nr_events : 0
.nohz_mode : 0
.idle_tick : 0 nsecs
.tick_stopped : 0
.idle_jiffies : 0
.idle_calls : 0
.idle_sleeps : 0
.idle_entrytime : 1915196635812 nsecs
.idle_waketime : 0 nsecs
.idle_exittime : 0 nsecs
.idle_sleeptime : 0 nsecs
.last_jiffies : 0
.next_jiffies : 0
.idle_expires : 0 nsecs
jiffies: 484606
cpu: 1
clock 0:
.base: c2a0da78
.index: 0
.resolution: 3333116 nsecs
.get_time: ktime_get_real
.offset: 0 nsecs
active timers:
clock 1:
.base: c2a0daa4
.index: 1
.resolution: 3333116 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <f4089b74>, hrtimer_wakeup, S:01, <(null)>, /-1
# expires at 1915449969140-1915450069140 nsecs [in 96666667 to 96766667 nsecs]
.expires_next : 9223372036854775807 nsecs
.hres_active : 0
.nr_events : 0
.nohz_mode : 0
.idle_tick : 0 nsecs
.tick_stopped : 0
.idle_jiffies : 0
.idle_calls : 0
.idle_sleeps : 0
.idle_entrytime : 1915349969140 nsecs
.idle_waketime : 0 nsecs
.idle_exittime : 0 nsecs
.idle_sleeptime : 49729999524 nsecs
.last_jiffies : 0
.next_jiffies : 0
.idle_expires : 0 nsecs
jiffies: 484606
Tick Device: mode: 0
Broadcast device
Clock Event Device: pit
max_delta_ns: 27461866
min_delta_ns: 12571
mult: 5124677
shift: 32
mode: 1
next_event: 9223372036854775807 nsecs
set_next_event: pit_next_event
set_mode: init_pit_timer
event_handler: clockevents_handle_noop
tick_broadcast_mask: 00000000
tick_broadcast_oneshot_mask: 00000000
Tick Device: mode: 0
Per CPU device: 0
Clock Event Device: lapic
max_delta_ns: 667650479
min_delta_ns: 1193
mult: 53963554
shift: 32
mode: 2
next_event: 9223372036854775807 nsecs
set_next_event: lapic_next_event
set_mode: lapic_timer_setup
event_handler: tick_handle_periodic
Tick Device: mode: 0
Per CPU device: 1
Clock Event Device: lapic
max_delta_ns: 667650479
min_delta_ns: 1193
mult: 53963554
shift: 32
mode: 2
next_event: 9223372036854775807 nsecs
set_next_event: lapic_next_event
set_mode: lapic_timer_setup
event_handler: tick_handle_periodic
mercury:~> cat
/sys/devices/system/clocksource/clocksource0/current_clocksource
jiffies
mercury:~> cat
/sys/devices/system/clocksource/clocksource0/available_clocksource
jiffies tsc
[-- Attachment #2: config --]
[-- Type: text/plain, Size: 62552 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.31-rc6
# Sat Aug 15 11:14:01 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_BOOTPARAM_SUPPORT_NOT_WANTED=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN_BOOT_ALLOWED4 is not set
# CONFIG_BROKEN_BOOT_DISALLOWED is not set
CONFIG_BROKEN_BOOT_EUROPE=y
CONFIG_BROKEN_BOOT_TITAN=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
# CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_EXACT=y
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
# CONFIG_RD_LZMA is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not set
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_HAVE_PERF_COUNTERS=y
#
# Performance Counters
#
CONFIG_PERF_COUNTERS=y
CONFIG_EVENT_PROFILE=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PCI_QUIRKS is not set
# CONFIG_SLUB_DEBUG is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=y
# CONFIG_OPROFILE_IBS is not set
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
#
# GCOV-based kernel profiling
#
# CONFIG_SLOW_WORK is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_INTEGRITY=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"
# CONFIG_FREEZER is not set
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP_SUPPORT is not set
CONFIG_X86_MPPARSE=y
CONFIG_X86_BIGSMP=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_ELAN is not set
CONFIG_X86_RDC321X=y
CONFIG_X86_32_NON_STANDARD=y
CONFIG_X86_NUMAQ=y
CONFIG_X86_SUMMIT=y
CONFIG_X86_ES7000=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_VMI is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_MEMTEST=y
CONFIG_X86_SUMMIT_NUMA=y
CONFIG_X86_CYCLONE_TIMER=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
CONFIG_MWINCHIP3D=y
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_CENTAUR is not set
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=32
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
CONFIG_X86_ANCIENT_MCE=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y
CONFIG_VM86=y
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_CPU_DEBUG=y
# CONFIG_UP_WANTED_1 is not set
CONFIG_SMP=y
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_NUMA=y
#
# NUMA (Summit) requires SMP, 64GB highmem support, ACPI
#
CONFIG_NODES_SHIFT=4
CONFIG_HAVE_ARCH_BOOTMEM=y
CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
CONFIG_NEED_NODE_MEMMAP_SIZE=y
CONFIG_HAVE_ARCH_ALLOC_REMAP=y
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
CONFIG_DISCONTIGMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_DISCONTIGMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_HAVE_MLOCK=y
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_HIGHPTE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MATH_EMULATION=y
# CONFIG_MTRR is not set
CONFIG_SECCOMP=y
CONFIG_CC_STACKPROTECTOR_ALL=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_HOTPLUG_CPU is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID is not set
#
# Power management and ACPI options
#
# CONFIG_PM is not set
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
#
# CPUFreq processor drivers
#
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_GX_SUSPMOD=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
CONFIG_X86_SPEEDSTEP_SMI=y
CONFIG_X86_P4_CLOCKMOD=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
CONFIG_X86_LONGRUN=y
# CONFIG_X86_E_POWERSAVER is not set
#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
# CONFIG_CPU_IDLE is not set
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_OLPC=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_STUB=y
# CONFIG_HT_IRQ is not set
CONFIG_PCI_IOV=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
CONFIG_MCA=y
CONFIG_MCA_LEGACY=y
CONFIG_MCA_PROC_FS=y
# CONFIG_SCx200 is not set
CONFIG_OLPC=y
CONFIG_K8_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA_DEBUG=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
# CONFIG_YENTA_ENE_TUNE is not set
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=y
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
CONFIG_NET_IPGRE=y
# CONFIG_NET_IPGRE_BROADCAST is not set
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
# CONFIG_IP_PIMSM_V2 is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
CONFIG_INET_ESP=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
# CONFIG_IPV6_ROUTE_INFO is not set
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_IPCOMP is not set
CONFIG_IPV6_MIP6=y
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
# CONFIG_IPV6_MULTIPLE_TABLES is not set
CONFIG_IPV6_MROUTE=y
# CONFIG_IPV6_PIMSM_V2 is not set
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETFILTER is not set
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2_DEBUG=y
# CONFIG_IP_DCCP_CCID3 is not set
#
# DCCP Kernel Hacking
#
CONFIG_IP_DCCP_DEBUG=y
# CONFIG_IP_SCTP is not set
CONFIG_TIPC=y
# CONFIG_TIPC_ADVANCED is not set
# CONFIG_TIPC_DEBUG is not set
CONFIG_ATM=y
# CONFIG_ATM_CLIP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
# CONFIG_BRIDGE is not set
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
# CONFIG_VLAN_8021Q is not set
CONFIG_DECNET=y
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_IPX=y
# CONFIG_IPX_INTERN is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
CONFIG_LAPB=y
CONFIG_ECONET=y
CONFIG_ECONET_AUNUDP=y
# CONFIG_ECONET_NATIVE is not set
CONFIG_WAN_ROUTER=y
CONFIG_PHONET=y
CONFIG_IEEE802154=y
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
# CONFIG_NET_SCH_HTB is not set
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_ATM=y
# CONFIG_NET_SCH_PRIO is not set
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
# CONFIG_NET_SCH_TEQL is not set
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_DRR=y
#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=y
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_FLOW=y
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
#
# Network testing
#
CONFIG_NET_PKTGEN=y
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set
CONFIG_CAN=y
# CONFIG_CAN_RAW is not set
CONFIG_CAN_BCM=y
#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=y
CONFIG_CAN_DEV=y
# CONFIG_CAN_CALC_BITTIMING is not set
# CONFIG_CAN_SJA1000 is not set
CONFIG_CAN_DEBUG_DEVICES=y
# CONFIG_IRDA is not set
CONFIG_BT=y
# CONFIG_BT_L2CAP is not set
# CONFIG_BT_SCO is not set
#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=y
CONFIG_BT_HCIBTSDIO=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_LL is not set
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBPA10X is not set
CONFIG_BT_HCIBFUSB=y
CONFIG_BT_HCIDTL1=y
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIBTUART=y
CONFIG_BT_HCIVHCI=y
CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_DEBUG=y
CONFIG_RXKAD=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_CFG80211_REG_DEBUG=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=y
CONFIG_MAC80211_DEFAULT_PS=y
CONFIG_MAC80211_DEFAULT_PS_VALUE=1
#
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y
CONFIG_MAC80211_NOINLINE=y
# CONFIG_MAC80211_VERBOSE_DEBUG is not set
CONFIG_MAC80211_HT_DEBUG=y
CONFIG_MAC80211_TKIP_DEBUG=y
CONFIG_MAC80211_IBSS_DEBUG=y
CONFIG_MAC80211_VERBOSE_PS_DEBUG=y
# CONFIG_MAC80211_DEBUG_COUNTERS is not set
CONFIG_WIMAX=y
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
# CONFIG_RFKILL_INPUT is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_OSD is not set
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_UB=y
# CONFIG_BLK_DEV_RAM is not set
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_HD=y
CONFIG_MISC_DEVICES=y
CONFIG_IBM_ASM=y
# CONFIG_PHANTOM is not set
CONFIG_SGI_IOC4=y
CONFIG_TIFM_CORE=y
# CONFIG_TIFM_7XX1 is not set
CONFIG_ICS932S401=y
# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_HP_ILO=y
# CONFIG_ISL29003 is not set
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
CONFIG_EEPROM_LEGACY=y
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y
# CONFIG_CB710_CORE is not set
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
CONFIG_CHR_DEV_OSST=y
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
CONFIG_SCSI_CXGB3_ISCSI=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_ACARD=y
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC94XX=y
CONFIG_AIC94XX_DEBUG=y
# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_ADVANSYS=y
CONFIG_SCSI_ARCMSR=y
CONFIG_SCSI_ARCMSR_AER=y
# CONFIG_MEGARAID_NEWGEN is not set
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_SCSI_FLASHPOINT=y
CONFIG_LIBFC=y
CONFIG_LIBFCOE=y
CONFIG_FCOE=y
# CONFIG_FCOE_FNIC is not set
# CONFIG_SCSI_DMX3191D is not set
CONFIG_SCSI_EATA=y
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_FD_MCS=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_IBMMCA=y
CONFIG_IBMMCA_SCSI_ORDER_STANDARD=y
CONFIG_IBMMCA_SCSI_DEV_RESET=y
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_NCR_D700=y
# CONFIG_SCSI_STEX is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_NCR_Q720=y
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA_FC=y
CONFIG_SCSI_QLA_ISCSI=y
# CONFIG_SCSI_LPFC is not set
CONFIG_SCSI_SIM710=y
CONFIG_SCSI_DC395x=y
CONFIG_SCSI_DC390T=y
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_SRP is not set
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=y
CONFIG_SCSI_DH_HP_SW=y
CONFIG_SCSI_DH_EMC=y
# CONFIG_SCSI_DH_ALUA is not set
CONFIG_SCSI_OSD_INITIATOR=y
CONFIG_SCSI_OSD_ULD=y
CONFIG_SCSI_OSD_DPRINT_SENSE=1
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_SATA_PMP is not set
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
CONFIG_SATA_SVW=y
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SX4=y
# CONFIG_SATA_SIL is not set
CONFIG_SATA_SIS=y
CONFIG_SATA_ULI=y
# CONFIG_SATA_VIA is not set
CONFIG_SATA_VITESSE=y
# CONFIG_SATA_INIC162X is not set
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
CONFIG_PATA_ATIIXP=y
CONFIG_PATA_CMD640_PCI=y
CONFIG_PATA_CMD64X=y
CONFIG_PATA_CS5520=y
CONFIG_PATA_CS5530=y
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
# CONFIG_ATA_GENERIC is not set
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=y
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
CONFIG_PATA_JMICRON=y
# CONFIG_PATA_TRIFLEX is not set
CONFIG_PATA_MARVELL=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
CONFIG_PATA_NS87410=y
CONFIG_PATA_NS87415=y
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_OPTIDMA=y
CONFIG_PATA_PCMCIA=y
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RZ1000=y
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_SCH=y
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=y
CONFIG_DM_DEBUG=y
# CONFIG_DM_CRYPT is not set
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_LOG_USERSPACE=y
CONFIG_DM_ZERO=y
# CONFIG_DM_MULTIPATH is not set
CONFIG_DM_DELAY=y
CONFIG_DM_UEVENT=y
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# You can enable one or both FireWire driver stacks.
#
#
# See the help texts for more information.
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
CONFIG_IEEE1394=y
CONFIG_IEEE1394_OHCI1394=y
# CONFIG_IEEE1394_PCILYNX is not set
# CONFIG_IEEE1394_SBP2 is not set
# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
# CONFIG_IEEE1394_ETH1394 is not set
CONFIG_IEEE1394_RAWIO=y
CONFIG_IEEE1394_VIDEO1394=y
# CONFIG_IEEE1394_DV1394 is not set
CONFIG_IEEE1394_VERBOSEDEBUG=y
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_MAC_EMUMOUSEBTN is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_BONDING=y
CONFIG_MACVLAN=y
CONFIG_EQUALIZER=y
CONFIG_TUN=y
# CONFIG_VETH is not set
CONFIG_ARCNET=y
CONFIG_ARCNET_1201=y
CONFIG_ARCNET_1051=y
# CONFIG_ARCNET_RAW is not set
# CONFIG_ARCNET_CAP is not set
CONFIG_ARCNET_COM90xx=y
CONFIG_ARCNET_COM90xxIO=y
CONFIG_ARCNET_RIM_I=y
CONFIG_ARCNET_COM20020=y
CONFIG_ARCNET_COM20020_PCI=y
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_ICPLUS_PHY=y
CONFIG_REALTEK_PHY=y
# CONFIG_NATIONAL_PHY is not set
CONFIG_STE10XP=y
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
# CONFIG_CASSINI is not set
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL3=y
CONFIG_ELMC=y
CONFIG_ELMC_II=y
CONFIG_VORTEX=y
# CONFIG_TYPHOON is not set
CONFIG_NET_VENDOR_SMC=y
CONFIG_ULTRAMCA=y
CONFIG_ETHOC=y
CONFIG_DNET=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set
CONFIG_WINBOND_840=y
# CONFIG_DM9102 is not set
CONFIG_ULI526X=y
CONFIG_PCMCIA_XIRCOM=y
CONFIG_AT1700=y
CONFIG_DEPCA=y
CONFIG_HP100=y
CONFIG_NE2_MCA=y
CONFIG_IBMLANA=y
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
CONFIG_AMD8111_ETH=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
# CONFIG_FORCEDETH_NAPI is not set
CONFIG_E100=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_R6040=y
CONFIG_SIS900=y
CONFIG_EPIC100=y
CONFIG_SMSC9420=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
# CONFIG_KS8842 is not set
CONFIG_VIA_RHINE=y
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_SC92031 is not set
CONFIG_ATL2=y
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=y
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=y
# CONFIG_E1000 is not set
CONFIG_E1000E=y
CONFIG_IP1000=y
CONFIG_IGB=y
CONFIG_IGBVF=y
CONFIG_NS83820=y
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
# CONFIG_R8169 is not set
CONFIG_SIS190=y
# CONFIG_SKGE is not set
CONFIG_SKY2=y
# CONFIG_SKY2_DEBUG is not set
CONFIG_VIA_VELOCITY=y
CONFIG_TIGON3=y
CONFIG_BNX2=y
CONFIG_QLA3XXX=y
CONFIG_ATL1=y
CONFIG_ATL1E=y
# CONFIG_ATL1C is not set
CONFIG_JME=y
CONFIG_NETDEV_10000=y
CONFIG_MDIO=y
CONFIG_CHELSIO_T1=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=y
CONFIG_ENIC=y
CONFIG_IXGBE=y
CONFIG_IXGB=y
CONFIG_S2IO=y
CONFIG_MYRI10GE=y
CONFIG_NIU=y
CONFIG_MLX4_EN=y
CONFIG_MLX4_CORE=y
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=y
CONFIG_BNX2X=y
CONFIG_QLGE=y
CONFIG_SFC=y
# CONFIG_BE2NET is not set
# CONFIG_TR is not set
#
# Wireless LAN
#
CONFIG_WLAN_PRE80211=y
CONFIG_STRIP=y
CONFIG_PCMCIA_WAVELAN=y
CONFIG_PCMCIA_NETWAVE=y
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_LIBERTAS is not set
CONFIG_LIBERTAS_THINFIRM=y
CONFIG_LIBERTAS_THINFIRM_USB=y
CONFIG_AIRO=y
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
CONFIG_PCMCIA_ATMEL=y
# CONFIG_AT76C50X_USB is not set
CONFIG_AIRO_CS=y
CONFIG_PCMCIA_WL3501=y
# CONFIG_PRISM54 is not set
CONFIG_USB_ZD1201=y
CONFIG_USB_NET_RNDIS_WLAN=y
CONFIG_RTL8180=y
CONFIG_RTL8187=y
CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=y
CONFIG_MAC80211_HWSIM=y
CONFIG_MWL8K=y
# CONFIG_P54_COMMON is not set
CONFIG_ATH_COMMON=y
CONFIG_ATH5K=y
# CONFIG_ATH5K_DEBUG is not set
# CONFIG_ATH9K is not set
CONFIG_AR9170_USB=y
CONFIG_AR9170_LEDS=y
CONFIG_IPW2100=y
CONFIG_IPW2100_MONITOR=y
CONFIG_IPW2100_DEBUG=y
# CONFIG_IPW2200 is not set
CONFIG_LIBIPW=y
# CONFIG_LIBIPW_DEBUG is not set
CONFIG_IWLWIFI=y
CONFIG_IWLWIFI_LEDS=y
# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT is not set
# CONFIG_IWLWIFI_DEBUG is not set
CONFIG_IWLAGN=y
CONFIG_IWL4965=y
CONFIG_IWL5000=y
CONFIG_IWL3945=y
CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_PLX=y
# CONFIG_HOSTAP_PCI is not set
CONFIG_HOSTAP_CS=y
CONFIG_B43=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
# CONFIG_B43_PCMCIA is not set
CONFIG_B43_PIO=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
CONFIG_B43_DEBUG=y
CONFIG_B43_FORCE_PIO=y
# CONFIG_B43LEGACY is not set
# CONFIG_ZD1211RW is not set
# CONFIG_HERMES is not set
CONFIG_IWM=y
CONFIG_IWM_DEBUG=y
#
# WiMAX Wireless Broadband devices
#
CONFIG_WIMAX_I2400M=y
CONFIG_WIMAX_I2400M_SDIO=y
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
#
# USB Network Adapters
#
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not set
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
CONFIG_PCMCIA_FMVJ18X=y
CONFIG_PCMCIA_PCNET=y
CONFIG_PCMCIA_NMCLAN=y
CONFIG_PCMCIA_SMC91C92=y
CONFIG_PCMCIA_XIRC2PS=y
CONFIG_PCMCIA_AXNET=y
CONFIG_ARCNET_COM20020_CS=y
CONFIG_WAN=y
CONFIG_LANMEDIA=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
# CONFIG_HDLC_RAW_ETH is not set
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
# CONFIG_HDLC_X25 is not set
CONFIG_PCI200SYN=y
CONFIG_WANXL=y
CONFIG_PC300TOO=y
CONFIG_FARSYNC=y
CONFIG_DLCI=y
CONFIG_DLCI_MAX=8
CONFIG_WAN_ROUTER_DRIVERS=y
CONFIG_CYCLADES_SYNC=y
CONFIG_CYCLOMX_X25=y
# CONFIG_SBNI is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_IEEE802154_DRIVERS is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
# CONFIG_PPP_ASYNC is not set
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=y
CONFIG_PPPOATM=y
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=y
# CONFIG_NET_FC is not set
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_LKKBD=y
# CONFIG_KEYBOARD_GPIO is not set
CONFIG_KEYBOARD_MATRIX=y
CONFIG_KEYBOARD_LM8323=y
CONFIG_KEYBOARD_NEWTON=y
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUNKBD=y
CONFIG_KEYBOARD_XTKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_PS2_ALPS is not set
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
# CONFIG_MOUSE_PS2_SYNAPTICS is not set
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_PS2_OLPC=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_VSXXXAA=y
CONFIG_MOUSE_GPIO=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
# CONFIG_INPUT_JOYSTICK is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
# CONFIG_TABLET_USB_GTCO is not set
# CONFIG_TABLET_USB_KBTAB is not set
CONFIG_TABLET_USB_WACOM=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_AD7879_I2C=y
CONFIG_TOUCHSCREEN_AD7879=y
CONFIG_TOUCHSCREEN_DA9034=y
# CONFIG_TOUCHSCREEN_EETI is not set
CONFIG_TOUCHSCREEN_FUJITSU=y
CONFIG_TOUCHSCREEN_GUNZE=y
CONFIG_TOUCHSCREEN_ELO=y
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
CONFIG_TOUCHSCREEN_MTOUCH=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_MK712=y
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
CONFIG_TOUCHSCREEN_TOUCHWIN=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
# CONFIG_TOUCHSCREEN_USB_3M is not set
# CONFIG_TOUCHSCREEN_USB_ITM is not set
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
CONFIG_TOUCHSCREEN_TSC2007=y
# CONFIG_TOUCHSCREEN_W90X900 is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
# CONFIG_CONSOLE_TRANSLATIONS is not set
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_CS=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set
# CONFIG_SERIAL_8250_MCA is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=y
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_HVC_DRIVER=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=y
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
# CONFIG_HW_RANDOM_INTEL is not set
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
CONFIG_CARDMAN_4000=y
# CONFIG_CARDMAN_4040 is not set
CONFIG_IPWIRELESS=y
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
CONFIG_NSC_GPIO=y
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=y
CONFIG_TCG_TPM=y
CONFIG_TCG_NSC=y
# CONFIG_TCG_ATMEL is not set
CONFIG_TELCLOCK=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_HELPER_AUTO is not set
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=y
CONFIG_I2C_AMD8111=y
CONFIG_I2C_I801=y
CONFIG_I2C_ISCH=y
CONFIG_I2C_PIIX4=y
CONFIG_I2C_NFORCE2=y
CONFIG_I2C_SIS5595=y
CONFIG_I2C_SIS630=y
CONFIG_I2C_SIS96X=y
CONFIG_I2C_VIA=y
CONFIG_I2C_VIAPRO=y
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_OCORES=y
CONFIG_I2C_SIMTEC=y
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
#
# Graphics adapter I2C/DDC channel drivers
#
# CONFIG_I2C_VOODOO3 is not set
#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=y
CONFIG_SCx200_ACB=y
#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
CONFIG_SENSORS_PCF8574=y
CONFIG_PCF8575=y
CONFIG_SENSORS_PCA9539=y
CONFIG_SENSORS_TSL2550=y
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
CONFIG_I2C_DEBUG_BUS=y
CONFIG_I2C_DEBUG_CHIP=y
# CONFIG_SPI is not set
#
# PPS support
#
CONFIG_PPS=y
CONFIG_PPS_DEBUG=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_DEBUG_GPIO=y
# CONFIG_GPIO_SYSFS is not set
#
# Memory mapped GPIO expanders:
#
#
# I2C GPIO expanders:
#
CONFIG_GPIO_MAX732X=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
CONFIG_GPIO_TWL4030=y
#
# PCI GPIO expanders:
#
CONFIG_GPIO_BT8XX=y
#
# SPI GPIO expanders:
#
CONFIG_W1=y
CONFIG_W1_CON=y
#
# 1-wire Bus Masters
#
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_MASTER_DS2490=y
CONFIG_W1_MASTER_DS2482=y
CONFIG_W1_MASTER_GPIO=y
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=y
# CONFIG_W1_SLAVE_DS2431 is not set
CONFIG_W1_SLAVE_DS2433=y
CONFIG_W1_SLAVE_DS2433_CRC=y
# CONFIG_W1_SLAVE_DS2760 is not set
# CONFIG_W1_SLAVE_BQ27000 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
# CONFIG_SENSORS_AD7414 is not set
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=y
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ADM9240=y
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
# CONFIG_SENSORS_ADT7473 is not set
CONFIG_SENSORS_ADT7475=y
# CONFIG_SENSORS_K8TEMP is not set
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_I5K_AMB=y
CONFIG_SENSORS_F71805F=y
# CONFIG_SENSORS_F71882FG is not set
CONFIG_SENSORS_F75375S=y
CONFIG_SENSORS_FSCHER=y
CONFIG_SENSORS_FSCPOS=y
CONFIG_SENSORS_FSCHMD=y
CONFIG_SENSORS_G760A=y
CONFIG_SENSORS_GL518SM=y
# CONFIG_SENSORS_GL520SM is not set
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_IBMAEM=y
# CONFIG_SENSORS_IBMPEX is not set
CONFIG_SENSORS_IT87=y
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
CONFIG_SENSORS_LM78=y
# CONFIG_SENSORS_LM80 is not set
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
CONFIG_SENSORS_LM95241=y
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_SHT15 is not set
CONFIG_SENSORS_SIS5595=y
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_SMSC47M192=y
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_ADS7828 is not set
CONFIG_SENSORS_THMC50=y
CONFIG_SENSORS_TMP401=y
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_VT1211=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
CONFIG_SENSORS_W83792D=y
# CONFIG_SENSORS_W83793 is not set
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83L786NG=y
CONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
CONFIG_SENSORS_APPLESMC=y
CONFIG_HWMON_DEBUG_CHIP=y
# CONFIG_THERMAL is not set
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_TWL4030_WATCHDOG=y
CONFIG_ACQUIRE_WDT=y
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=y
CONFIG_ALIM7101_WDT=y
CONFIG_SC520_WDT=y
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=y
CONFIG_WAFER_WDT=y
# CONFIG_I6300ESB_WDT is not set
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=y
CONFIG_IT87_WDT=y
CONFIG_HP_WATCHDOG=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
CONFIG_RDC321X_WDT=y
# CONFIG_60XX_WDT is not set
CONFIG_SBC8360_WDT=y
CONFIG_SBC7240_WDT=y
CONFIG_CPU5_WDT=y
CONFIG_SMSC_SCH311X_WDT=y
CONFIG_SMSC37B787_WDT=y
# CONFIG_W83627HF_WDT is not set
CONFIG_W83877F_WDT=y
CONFIG_W83977F_WDT=y
# CONFIG_MACHZ_WDT is not set
CONFIG_SBC_EPX_C3_WATCHDOG=y
#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=y
# CONFIG_WDTPCI is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SILENT=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_SM501 is not set
CONFIG_HTC_PASIC3=y
CONFIG_TPS65010=y
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
# CONFIG_MFD_WM8400 is not set
CONFIG_MFD_PCF50633=y
# CONFIG_PCF50633_ADC is not set
CONFIG_PCF50633_GPIO=y
CONFIG_AB3100_CORE=y
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
CONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_NVIDIA=y
CONFIG_AGP_SIS=y
CONFIG_AGP_SWORKS=y
CONFIG_AGP_VIA=y
CONFIG_AGP_EFFICEON=y
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
CONFIG_DRM_R128=y
CONFIG_DRM_RADEON=y
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
CONFIG_DRM_MGA=y
CONFIG_DRM_SIS=y
CONFIG_DRM_VIA=y
CONFIG_DRM_SAVAGE=y
CONFIG_VGASTATE=y
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=y
CONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_PM2 is not set
CONFIG_FB_CYBER2000=y
CONFIG_FB_ARC=y
# CONFIG_FB_IMSTT is not set
CONFIG_FB_UVESA=y
CONFIG_FB_N411=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA=y
# CONFIG_FB_NVIDIA_I2C is not set
CONFIG_FB_NVIDIA_DEBUG=y
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=y
# CONFIG_FB_RIVA_I2C is not set
CONFIG_FB_RIVA_DEBUG=y
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_I810=y
CONFIG_FB_I810_GTF=y
CONFIG_FB_I810_I2C=y
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
CONFIG_FB_ATY128=y
# CONFIG_FB_ATY128_BACKLIGHT is not set
CONFIG_FB_ATY=y
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
# CONFIG_FB_ATY_GX is not set
CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE=y
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
# CONFIG_FB_SIS is not set
CONFIG_FB_VIA=y
# CONFIG_FB_NEOMAGIC is not set
CONFIG_FB_KYRO=y
CONFIG_FB_3DFX=y
CONFIG_FB_3DFX_ACCEL=y
# CONFIG_FB_3DFX_I2C is not set
CONFIG_FB_VOODOO1=y
CONFIG_FB_VT8623=y
CONFIG_FB_TRIDENT=y
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
CONFIG_FB_CARMINE=y
# CONFIG_FB_CARMINE_DRAM_EVAL is not set
CONFIG_CARMINE_DRAM_CUSTOM=y
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_LX=y
# CONFIG_FB_GEODE_GX is not set
# CONFIG_FB_GEODE_GX1 is not set
# CONFIG_FB_TMIO is not set
CONFIG_FB_METRONOME=y
CONFIG_FB_MB862XX=y
# CONFIG_FB_MB862XX_PCI_GDC is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_ILI9320 is not set
CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_DA903X is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
CONFIG_BACKLIGHT_SAHARA=y
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SND is not set
CONFIG_SOUND_PRIME=y
# CONFIG_SOUND_OSS is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_DEBUG=y
CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_MOUSE=y
#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_KYE is not set
CONFIG_HID_GYRATION=y
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LOGITECH is not set
CONFIG_HID_MICROSOFT=y
# CONFIG_HID_MONTEREY is not set
CONFIG_HID_NTRIG=y
# CONFIG_HID_PANTHERLORD is not set
CONFIG_HID_PETALYNX=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SONY is not set
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=y
# CONFIG_SMARTJOYPLUS_FF is not set
# CONFIG_HID_TOPSEED is not set
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
CONFIG_USB_OTG_WHITELIST=y
CONFIG_USB_OTG_BLACKLIST_HUB=y
CONFIG_USB_MON=y
CONFIG_USB_WUSB=y
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HWA_HCD=y
#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
CONFIG_USB_TMC=y
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
# CONFIG_USB_STORAGE_JUMPSHOT is not set
CONFIG_USB_STORAGE_ALAUDA=y
# CONFIG_USB_STORAGE_ONETOUCH is not set
CONFIG_USB_STORAGE_KARMA=y
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_RIO500=y
CONFIG_USB_LEGOTOWER=y
# CONFIG_USB_LCD is not set
CONFIG_USB_BERRY_CHARGE=y
CONFIG_USB_LED=y
CONFIG_USB_CYPRESS_CY7C63=y
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_IDMOUSE=y
# CONFIG_USB_FTDI_ELAN is not set
CONFIG_USB_APPLEDISPLAY=y
CONFIG_USB_SISUSBVGA=y
# CONFIG_USB_SISUSBVGA_CON is not set
# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=y
# CONFIG_USB_IOWARRIOR is not set
CONFIG_USB_TEST=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_VST=y
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
# CONFIG_USB_CXACRU is not set
CONFIG_USB_UEAGLEATM=y
# CONFIG_USB_XUSBATM is not set
#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_UWB=y
CONFIG_UWB_HWA=y
# CONFIG_UWB_WHCI is not set
# CONFIG_UWB_WLP is not set
CONFIG_UWB_I1480U=y
CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
# CONFIG_MMC_UNSAFE_RESUME is not set
#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
# CONFIG_SDIO_UART is not set
CONFIG_MMC_TEST=y
#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
CONFIG_MMC_WBSD=y
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SDRICOH_CS=y
# CONFIG_MMC_CB710 is not set
CONFIG_MMC_VIA_SDMMC=y
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
CONFIG_LEDS_ALIX2=y
CONFIG_LEDS_PCA9532=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not set
CONFIG_LEDS_DA903X=y
CONFIG_LEDS_BD2802=y
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_ACCESSIBILITY=y
# CONFIG_A11Y_BRAILLE_CONSOLE is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y
#
# Reporting subsystems
#
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_DEBUG_VERBOSE=y
CONFIG_EDAC_MM_EDAC=y
CONFIG_EDAC_AMD76X=y
CONFIG_EDAC_E7XXX=y
CONFIG_EDAC_E752X=y
# CONFIG_EDAC_I82875P is not set
CONFIG_EDAC_I82975X=y
CONFIG_EDAC_I3000=y
CONFIG_EDAC_X38=y
CONFIG_EDAC_I5400=y
# CONFIG_EDAC_I82860 is not set
CONFIG_EDAC_R82600=y
CONFIG_EDAC_I5000=y
CONFIG_EDAC_I5100=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_DEBUG=y
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
CONFIG_RTC_DRV_DS1374=y
# CONFIG_RTC_DRV_DS1672 is not set
CONFIG_RTC_DRV_MAX6900=y
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_X1205=y
# CONFIG_RTC_DRV_PCF8563 is not set
CONFIG_RTC_DRV_PCF8583=y
# CONFIG_RTC_DRV_M41T80 is not set
CONFIG_RTC_DRV_TWL4030=y
CONFIG_RTC_DRV_S35390A=y
CONFIG_RTC_DRV_FM3130=y
# CONFIG_RTC_DRV_RX8581 is not set
CONFIG_RTC_DRV_RX8025=y
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
CONFIG_RTC_DRV_DS1286=y
# CONFIG_RTC_DRV_DS1511 is not set
CONFIG_RTC_DRV_DS1553=y
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_M48T35=y
# CONFIG_RTC_DRV_M48T59 is not set
CONFIG_RTC_DRV_BQ4802=y
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_PCF50633 is not set
#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
#
# DMA Devices
#
# CONFIG_INTEL_IOATDMA is not set
CONFIG_AUXDISPLAY=y
CONFIG_UIO=y
CONFIG_UIO_CIF=y
CONFIG_UIO_PDRV=y
CONFIG_UIO_PDRV_GENIRQ=y
CONFIG_UIO_SMX=y
CONFIG_UIO_AEC=y
# CONFIG_UIO_SERCOS3 is not set
#
# TI VLYNQ
#
# CONFIG_X86_PLATFORM_DEVICES is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4_FS is not set
CONFIG_FS_XIP=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=y
# CONFIG_JFS_POSIX_ACL is not set
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_OCFS2_FS=y
# CONFIG_OCFS2_FS_O2CB is not set
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_OCFS2_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QUOTA_TREE=y
CONFIG_QFMT_V1=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not set
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_NTFS_FS=y
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_SYSCTL is not set
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=y
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
CONFIG_NCP_FS=y
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
CONFIG_NCPFS_NLS=y
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
CONFIG_ACORN_PARTITION_POWERTEC=y
# CONFIG_ACORN_PARTITION_RISCIX is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
# CONFIG_SOLARIS_X86_PARTITION is not set
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
# CONFIG_NLS_CODEPAGE_860 is not set
CONFIG_NLS_CODEPAGE_861=y
# CONFIG_NLS_CODEPAGE_862 is not set
CONFIG_NLS_CODEPAGE_863=y
# CONFIG_NLS_CODEPAGE_864 is not set
CONFIG_NLS_CODEPAGE_865=y
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=y
# CONFIG_NLS_CODEPAGE_936 is not set
CONFIG_NLS_CODEPAGE_950=y
# CONFIG_NLS_CODEPAGE_932 is not set
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_2=y
# CONFIG_NLS_ISO8859_3 is not set
CONFIG_NLS_ISO8859_4=y
# CONFIG_NLS_ISO8859_5 is not set
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ALLOW_WARNINGS=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_DETECT_SOFTLOCKUP is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_LOCKDEP=y
CONFIG_TRACE_IRQFLAGS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_WRITECOUNT=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_DETECTOR=y
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FTRACE_SYSCALLS=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_BOOT_TRACER=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_POWER_TRACER is not set
CONFIG_KSYM_TRACER=y
CONFIG_PROFILE_KSYM_TRACER=y
CONFIG_STACK_TRACER=y
# CONFIG_KMEMTRACE is not set
# CONFIG_WORKQUEUE_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_DYNAMIC_FTRACE is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
# CONFIG_MMIOTRACE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
# CONFIG_KGDB_SERIAL_CONSOLE is not set
# CONFIG_KGDB_TESTS is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_4KSTACKS is not set
# CONFIG_DOUBLEFAULT is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y
CONFIG_DEFAULT_IO_DELAY_TYPE=3
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=y
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=y
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=y
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_RMD256=y
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_586=y
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_TEA=y
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_ZLIB=y
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
# CONFIG_VIRTUALIZATION is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_BINARY_PRINTF=y
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_NLATTR=y
CONFIG_FORCE_SUCCESSFUL_BUILD=y
CONFIG_FORCE_MINIMAL_CONFIG=y
CONFIG_FORCE_MINIMAL_CONFIG_PHYS=y
CONFIG_X86_32_ALWAYS_ON=y
[-- Attachment #3: boot.log --]
[-- Type: text/plain, Size: 382436 bytes --]
[ 0.000000] Linux version 2.6.31-rc6-tip (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #4534 SMP Sat Aug 15 11:14:49 CEST 2009
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] NSC Geode by NSC
[ 0.000000] Cyrix CyrixInstead
[ 0.000000] Transmeta GenuineTMx86
[ 0.000000] Transmeta TransmetaCPU
[ 0.000000] UMC UMC UMC UMC
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
[ 0.000000] BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] console [earlyser0] enabled
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] DMI 2.3 present.
[ 0.000000] Phoenix BIOS detected: BIOS may corrupt low RAM, working around it.
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] last_pfn = 0x3fff0 max_arch_pfn = 0x1000000
[ 0.000000] Scanning 0 areas for low memory corruption
[ 0.000000] modified physical RAM map:
[ 0.000000] modified: 0000000000000000 - 0000000000010000 (reserved)
[ 0.000000] modified: 0000000000010000 - 000000000009f800 (usable)
[ 0.000000] modified: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] modified: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] modified: 0000000000100000 - 000000003fff0000 (usable)
[ 0.000000] modified: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
[ 0.000000] modified: 000000003fff3000 - 0000000040000000 (ACPI data)
[ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] modified: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] initial memory mapped : 0 - 02c00000
[ 0.000000] init_memory_mapping: 0000000000000000-00000000377fe000
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] 0000000000 - 00377fe000 page 4k
[ 0.000000] kernel direct mapping tables up to 377fe000 @ 100000-2c1000
[ 0.000000] Scan SMP from c0000000 for 1024 bytes.
[ 0.000000] Scan SMP from c009fc00 for 1024 bytes.
[ 0.000000] Scan SMP from c00f0000 for 65536 bytes.
[ 0.000000] found SMP MP-table at [c00f5680] f5680
[ 0.000000] Intel MultiProcessor Specification v1.4
[ 0.000000] Virtual Wire compatibility mode.
[ 0.000000] mpc: f1400-f152c
[ 0.000000] MPTABLE: OEM ID: OEM00000
[ 0.000000] MPTABLE: Product ID: PROD00000000
[ 0.000000] MPTABLE: APIC at: 0xFEE00000
[ 0.000000] Warning! Not a NUMA-Q system!
[ 0.000000] NUMA - single node, flat memory mode
[ 0.000000] Node: 0, start_pfn: 0, end_pfn: 3fff0
[ 0.000000] Setting physnode_map array to node 0 for pfns:
[ 0.000000] 0 4000 8000 c000 10000 14000 18000 1c000 20000 24000 28000 2c000 30000 34000 38000 3c000
[ 0.000000] node 0 pfn: [0 - 3fff0]
[ 0.000000] Reserving 4096 pages of KVA for lmem_map of node 0 at 3ee00
[ 0.000000] remove_active_range (0, 257536, 261632)
[ 0.000000] Reserving total of 1000 pages for numa KVA remap
[ 0.000000] kva_start_pfn ~ 36600 max_low_pfn ~ 377fe
[ 0.000000] max_pfn = 3fff0
[ 0.000000] 135MB HIGHMEM available.
[ 0.000000] 887MB LOWMEM available.
[ 0.000000] max_low_pfn = 377fe, highstart_pfn = 377fe
[ 0.000000] Low memory ends at vaddr f77fe000
[ 0.000000] node 0 will remap to vaddr f6600000 - f7600000
[ 0.000000] allocate_pgdat: node 0 NODE_DATA f6600000
[ 0.000000] remap_numa_kva: node 0
[ 0.000000] remap_numa_kva: f6600000 to pfn 0003ee00
[ 0.000000] remap_numa_kva: f6800000 to pfn 0003f000
[ 0.000000] remap_numa_kva: f6a00000 to pfn 0003f200
[ 0.000000] remap_numa_kva: f6c00000 to pfn 0003f400
[ 0.000000] remap_numa_kva: f6e00000 to pfn 0003f600
[ 0.000000] remap_numa_kva: f7000000 to pfn 0003f800
[ 0.000000] remap_numa_kva: f7200000 to pfn 0003fa00
[ 0.000000] remap_numa_kva: f7400000 to pfn 0003fc00
[ 0.000000] High memory starts at vaddr f77fe000
[ 0.000000] mapped low ram: 0 - 377fe000
[ 0.000000] low ram: 0 - 377fe000
[ 0.000000] node 0 low ram: 00000000 - 377fe000
[ 0.000000] node 0 bootmap 00010000 - 00016f00
[ 0.000000] (10 early reservations) ==> bootmem [0000000000 - 00377fe000]
[ 0.000000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
[ 0.000000] #1 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000]
[ 0.000000] #2 [0000006000 - 0000007000] TRAMPOLINE ==> [0000006000 - 0000007000]
[ 0.000000] #3 [0001000000 - 000289458c] TEXT DATA BSS ==> [0001000000 - 000289458c]
[ 0.000000] #4 [000009f800 - 0000100000] BIOS reserved ==> [000009f800 - 0000100000]
[ 0.000000] #5 [0002895000 - 00028ab149] BRK ==> [0002895000 - 00028ab149]
[ 0.000000] #6 [0000100000 - 00002a9000] PGTABLE ==> [0000100000 - 00002a9000]
[ 0.000000] #7 [003ee00000 - 003fe00000] KVA RAM
[ 0.000000] #8 [0036600000 - 0037600000] KVA PG ==> [0036600000 - 0037600000]
[ 0.000000] #9 [0000010000 - 0000017000] BOOTMAP ==> [0000010000 - 0000017000]
[ 0.000000] Scan SMP from c0000000 for 1024 bytes.
[ 0.000000] Scan SMP from c009fc00 for 1024 bytes.
[ 0.000000] Scan SMP from c00f0000 for 65536 bytes.
[ 0.000000] found SMP MP-table at [c00f5680] f5680
[ 0.000000] mpc: f1400-f152c
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000010 -> 0x00001000
[ 0.000000] Normal 0x00001000 -> 0x000377fe
[ 0.000000] HighMem 0x000377fe -> 0x0003fff0
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[3] active PFN ranges
[ 0.000000] 0: 0x00000010 -> 0x0000009f
[ 0.000000] 0: 0x00000100 -> 0x0003ee00
[ 0.000000] 0: 0x0003fe00 -> 0x0003fff0
[ 0.000000] On node 0 totalpages: 257919
[ 0.000000] free_area_init_node: node 0, pgdat f6600000, node_mem_map f66023c0
[ 0.000000] DMA zone: 60 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 3923 pages, LIFO batch:0
[ 0.000000] Normal zone: 3270 pages used for memmap
[ 0.000000] Normal zone: 219960 pages, LIFO batch:31
[ 0.000000] HighMem zone: 510 pages used for memmap
[ 0.000000] HighMem zone: 30196 pages, LIFO batch:7
[ 0.000000] Using APIC driver default
[ 0.000000] Intel MultiProcessor Specification v1.4
[ 0.000000] Virtual Wire compatibility mode.
[ 0.000000] mpc: f1400-f152c
[ 0.000000] MPTABLE: OEM ID: OEM00000
[ 0.000000] MPTABLE: Product ID: PROD00000000
[ 0.000000] MPTABLE: APIC at: 0xFEE00000
[ 0.000000] Warning! Not a NUMA-Q system!
[ 0.000000] Processor #0 (Bootup-CPU)
[ 0.000000] Processor #1
[ 0.000000] Bus #0 is PCI
[ 0.000000] Bus #1 is PCI
[ 0.000000] Bus #2 is PCI
[ 0.000000] Bus #3 is PCI
[ 0.000000] Bus #4 is PCI
[ 0.000000] Bus #5 is PCI
[ 0.000000] Bus #6 is ISA
[ 0.000000] I/O APIC #2 Version 17 at 0xFEC00000.
[ 0.000000] Int: type 0, pol 3, trig 3, bus 00, IRQ 28, APIC ID 2, APIC INT 0b
[ 0.000000] Int: type 0, pol 3, trig 3, bus 00, IRQ 10, APIC ID 2, APIC INT 03
[ 0.000000] Int: type 0, pol 3, trig 3, bus 01, IRQ 00, APIC ID 2, APIC INT 05
[ 0.000000] Int: type 0, pol 3, trig 3, bus 05, IRQ 1c, APIC ID 2, APIC INT 0b
[ 0.000000] Int: type 3, pol 0, trig 0, bus 06, IRQ 00, APIC ID 2, APIC INT 00
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 01, APIC ID 2, APIC INT 01
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 00, APIC ID 2, APIC INT 02
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 04, APIC ID 2, APIC INT 04
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 06, APIC ID 2, APIC INT 06
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 07, APIC ID 2, APIC INT 07
[ 0.000000] Int: type 0, pol 1, trig 1, bus 06, IRQ 08, APIC ID 2, APIC INT 08
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 09, APIC ID 2, APIC INT 09
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 0a, APIC ID 2, APIC INT 0a
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 0c, APIC ID 2, APIC INT 0c
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 0d, APIC ID 2, APIC INT 0d
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 0e, APIC ID 2, APIC INT 0e
[ 0.000000] Int: type 0, pol 0, trig 0, bus 06, IRQ 0f, APIC ID 2, APIC INT 0f
[ 0.000000] Lint: type 3, pol 0, trig 0, bus 00, IRQ 00, APIC ID ff, APIC LINT 00
[ 0.000000] Lint: type 1, pol 0, trig 0, bus 00, IRQ 00, APIC ID ff, APIC LINT 01
[ 0.000000] Enabling APIC mode: Flat. Using 1 I/O APICs
[ 0.000000] Processors: 2
[ 0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[ 0.000000] mapped APIC to ffffb000 (fee00000)
[ 0.000000] mapped IOAPIC to ffffa000 (fec00000)
[ 0.000000] nr_irqs_gsi: 24
[ 0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:a0000000)
[ 0.000000] NR_CPUS:32 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:16
[ 0.000000] PERCPU: Embedded 333 pages at c28bc000, static data 1350492 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 254079
[ 0.000000] Policy zone: HighMem
[ 0.000000] Kernel command line: root=/dev/sda1 earlyprintk=serial,ttyS0,115200,keep console=tty debug initcall_debug enforcing=0 apic=verbose ignore_loglevel sysrq_always_enabled selinux=0 nmi_watchdog=0 3 panic=1
[ 0.000000] debug: sysrq always enabled.
[ 0.000000] PID hash table entries: 4096 (order: 12, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Enabling fast FPU save and restore... done.
[ 0.000000] Enabling unmasked SIMD FPU exception support... done.
[ 0.000000] Initializing CPU#0
[ 0.000000] Initializing HighMem for node 0 (000377fe:0003fff0)
[ 0.000000] Memory: 984812k/1048512k available (10231k kernel code, 46864k reserved, 5981k data, 1840k init, 122824k highmem)
[ 0.000000] virtual kernel memory layout:
[ 0.000000] fixmap : 0xffd56000 - 0xfffff000 (2724 kB)
[ 0.000000] pkmap : 0xff800000 - 0xffa00000 (2048 kB)
[ 0.000000] vmalloc : 0xf7ffe000 - 0xff7fe000 ( 120 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf77fe000 ( 887 MB)
[ 0.000000] .init : 0xc1fe2000 - 0xc21ae000 (1840 kB)
[ 0.000000] .data : 0xc19fdfae - 0xc1fd53fc (5981 kB)
[ 0.000000] .text : 0xc1000000 - 0xc19fdfae (10231 kB)
[ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[ 0.000000] SLUB: Genslabs=14, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=16
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU-based detection of stalled CPUs is enabled.
[ 0.000000] NR_IRQS:1280
[ 0.000000] Fast TSC calibration using PIT
[ 0.000000] Detected 2010.509 MHz processor.
[ 0.000033] spurious 8259A interrupt: IRQ7.
[ 0.003333] Console: colour VGA+ 80x25
[ 0.003333] console [tty0] enabled
[ 0.003333] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.003333] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.003333] ... MAX_LOCK_DEPTH: 48
[ 0.003333] ... MAX_LOCKDEP_KEYS: 8191
[ 0.003333] ... CLASSHASH_SIZE: 4096
[ 0.003333] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.003333] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.003333] ... CHAINHASH_SIZE: 16384
[ 0.003333] memory used by lock dependency info: 3823 kB
[ 0.003333] per task-struct memory footprint: 1920 bytes
[ 0.003359] Calibrating delay loop (skipped), value calculated using timer frequency.. 4022.56 BogoMIPS (lpj=6701696)
[ 0.010056] Security Framework initialized
[ 0.013343] TOMOYO Linux initialized
[ 0.016751] Mount-cache hash table entries: 512
[ 0.023629] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.026674] CPU: L2 Cache: 512K (64 bytes/line)
[ 0.030006] CPU: Physical Processor ID: 0
[ 0.033339] CPU: Processor Core ID: 0
[ 0.036674] mce: CPU supports 5 MCE banks
[ 0.040027] Performance Counters: AMD PMU driver.
[ 0.043346] ... version: 0
[ 0.046672] ... bit width: 48
[ 0.050005] ... generic counters: 4
[ 0.053338] ... value mask: 0000ffffffffffff
[ 0.056672] ... max period: 00007fffffffffff
[ 0.060005] ... fixed-purpose counters: 0
[ 0.063338] ... counter mask: 000000000000000f
[ 0.066674] Checking 'hlt' instruction... OK.
[ 0.085636] debug: unmapping init memory c1fd8000..c1fe2000
[ 0.086930] enabled ExtINT on CPU#0
[ 0.090062] ExtINT not setup in hardware but reported by MP table
[ 0.093440] Mapping cpu 0 to node 0
[ 0.096672] ENABLING IO-APIC IRQs
[ 0.100005] init IO_APIC IRQs
[ 0.103339] 2-0 (apicid-pin) not connected
[ 0.106682] IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0)
[ 0.110013] IOAPIC[0]: Set routing entry (2-2 -> 0x30 -> IRQ 0 Mode:0 Active:0)
[ 0.113344] IOAPIC[0]: Set routing entry (2-3 -> 0x33 -> IRQ 3 Mode:1 Active:1)
[ 0.116666] IOAPIC[0]: Set routing entry (2-4 -> 0x34 -> IRQ 4 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-5 -> 0x35 -> IRQ 5 Mode:1 Active:1)
[ 0.116666] IOAPIC[0]: Set routing entry (2-6 -> 0x36 -> IRQ 6 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-7 -> 0x37 -> IRQ 7 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-10 -> 0x3a -> IRQ 10 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-11 -> 0x3b -> IRQ 11 Mode:1 Active:1)
[ 0.116666] IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-14 -> 0x3e -> IRQ 14 Mode:0 Active:0)
[ 0.116666] IOAPIC[0]: Set routing entry (2-15 -> 0x3f -> IRQ 15 Mode:0 Active:0)
[ 0.116666] 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 (apicid-pin) not connected
[ 0.116666] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[ 0.116666] ..MP-BIOS bug: 8254 timer not connected to IO-APIC
[ 0.116666] ...trying to set up timer (IRQ0) through the 8259A ...
[ 0.116666] ..... (found apic 0 pin 0) ...
[ 0.150085] ....... works.
[ 0.152653] CPU0: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 0.157878] Using local APIC timer interrupts.
[ 0.157879] calibrating APIC timer ...
[ 0.163332] ... lapic delta = 1256355
[ 0.163332] ..... delta 1256355
[ 0.163332] ..... mult: 53963554
[ 0.163332] ..... calibration result: 670056
[ 0.163332] ..... CPU clock speed is 2010.1229 MHz.
[ 0.163332] ..... host bus clock speed is 201.0123 MHz.
[ 0.163332] ... verify APIC timer
[ 0.270778] ... jiffies delta = 30
[ 0.273336] ... jiffies result ok
[ 0.276690] calling migration_init+0x0/0x47 @ 1
[ 0.280224] initcall migration_init+0x0/0x47 returned 0 after 0 usecs
[ 0.283340] calling spawn_ksoftirqd+0x0/0x47 @ 1
[ 0.286720] initcall spawn_ksoftirqd+0x0/0x47 returned 0 after 0 usecs
[ 0.290007] calling init_call_single_data+0x0/0x91 @ 1
[ 0.293341] initcall init_call_single_data+0x0/0x91 returned 0 after 0 usecs
[ 0.296671] calling relay_init+0x0/0x7 @ 1
[ 0.300005] initcall relay_init+0x0/0x7 returned 0 after 0 usecs
[ 0.303338] calling tracer_alloc_buffers+0x0/0x208 @ 1
[ 0.310006] Testing tracer nop: PASSED
[ 0.313350] initcall tracer_alloc_buffers+0x0/0x208 returned 0 after 6510 usecs
[ 0.316681] calling init_trace_printk+0x0/0x7 @ 1
[ 0.320004] initcall init_trace_printk+0x0/0x7 returned 0 after 0 usecs
[ 0.323553] lockdep: fixing up alternatives.
[ 0.330065] Booting processor 1 APIC 0x1 ip 0x6000
[ 0.003333] Initializing CPU#1
[ 0.003333] masked ExtINT on CPU#1
[ 0.003333] Mapping cpu 1 to node 0
[ 0.003333] Calibrating delay using timer specific routine.. 4021.85 BogoMIPS (lpj=6700569)
[ 0.003333] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.003333] CPU: L2 Cache: 512K (64 bytes/line)
[ 0.003333] CPU: Physical Processor ID: 0
[ 0.003333] CPU: Processor Core ID: 1
[ 0.003333] mce: CPU supports 5 MCE banks
[ 0.426792] CPU1: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 0.434716] Brought up 2 CPUs
[ 0.436671] Total of 2 processors activated (8044.41 BogoMIPS).
[ 0.436672] ------------[ cut here ]------------
[ 0.436681] WARNING: at kernel/rcutree.c:1140 __rcu_process_callbacks+0x30/0x207()
[ 0.436684] Hardware name: System Product Name
[ 0.436688] Pid: 0, comm: swapper Not tainted 2.6.31-rc6-tip #4534
[ 0.436690] Call Trace:
[ 0.436695] [<c103b2e2>] warn_slowpath_common+0x60/0x90
[ 0.436699] [<c103b324>] warn_slowpath_null+0x12/0x15
[ 0.436703] [<c1071fc5>] __rcu_process_callbacks+0x30/0x207
[ 0.436707] [<c10414ac>] ? __do_softirq+0x54/0x16f
[ 0.436711] [<c10721c0>] rcu_process_callbacks+0x24/0x42
[ 0.436715] [<c1041514>] __do_softirq+0xbc/0x16f
[ 0.436718] [<c1041602>] do_softirq+0x3b/0x5f
[ 0.436722] [<c1041712>] irq_exit+0x3a/0x6d
[ 0.436727] [<c10164a9>] smp_apic_timer_interrupt+0x74/0x82
[ 0.436732] [<c1003fd6>] apic_timer_interrupt+0x36/0x40
[ 0.436737] [<c101c9e4>] ? native_safe_halt+0xa/0xc
[ 0.436741] [<c100a118>] default_idle+0x5c/0x8e
[ 0.436746] [<c1063ae3>] ? trace_hardirqs_off+0xb/0xd
[ 0.436750] [<c1002721>] cpu_idle+0xbf/0xda
[ 0.436756] [<c2029e27>] start_secondary+0x1d8/0x1e0
[ 0.436781] ---[ end trace 6d450e935ee1897c ]---
[ 0.440223] CPU0 attaching sched-domain:
[ 0.443339] domain 0: span 0-1 level MC
[ 0.448310] groups: 0 1
[ 0.450517] domain 1: span 0-1 level NODE
[ 0.455150] groups: 0-1
[ 0.457204] CPU1 attaching sched-domain:
[ 0.460018] domain 0: span 0-1 level MC
[ 0.466670] groups: 1 0
[ 0.469263] domain 1: span 0-1 level NODE
[ 0.473372] groups: 0-1
[ 0.476405] device: 'platform': device_add
[ 0.476756] khelper used greatest stack depth: 6684 bytes left
[ 0.483605] bus: 'platform': registered
[ 0.486674] Registering sysdev class 'cpu'
[ 0.490297] calling init_cpufreq_transition_notifier_list+0x0/0x18 @ 1
[ 0.493343] initcall init_cpufreq_transition_notifier_list+0x0/0x18 returned 0 after 0 usecs
[ 0.496671] calling net_ns_init+0x0/0xe1 @ 1
[ 0.500046] initcall net_ns_init+0x0/0xe1 returned 0 after 0 usecs
[ 0.503337] calling cpufreq_tsc+0x0/0x25 @ 1
[ 0.506703] initcall cpufreq_tsc+0x0/0x25 returned 0 after 0 usecs
[ 0.510004] calling pci_reboot_init+0x0/0x11 @ 1
[ 0.513339] initcall pci_reboot_init+0x0/0x11 returned 0 after 0 usecs
[ 0.516670] calling reboot_init+0x0/0x11 @ 1
[ 0.520011] initcall reboot_init+0x0/0x11 returned 0 after 0 usecs
[ 0.523338] calling print_banner+0x0/0xd @ 1
[ 0.526669] Booting paravirtualized kernel on bare hardware
[ 0.530004] initcall print_banner+0x0/0xd returned 0 after 3255 usecs
[ 0.533340] calling init_smp_flush+0x0/0x2f @ 1
[ 0.536672] initcall init_smp_flush+0x0/0x2f returned 0 after 0 usecs
[ 0.540007] calling sysctl_init+0x0/0x29 @ 1
[ 0.543601] initcall sysctl_init+0x0/0x29 returned 0 after 0 usecs
[ 0.546672] calling ksysfs_init+0x0/0x96 @ 1
[ 0.550049] initcall ksysfs_init+0x0/0x96 returned 0 after 0 usecs
[ 0.553338] calling async_init+0x0/0x3c @ 1
[ 0.556670] initcall async_init+0x0/0x3c returned 0 after 0 usecs
[ 0.560003] calling init_jiffies_clocksource+0x0/0xf @ 1
[ 0.563365] initcall init_jiffies_clocksource+0x0/0xf returned 0 after 0 usecs
[ 0.566673] calling init_hw_breakpoint+0x0/0xf @ 1
[ 0.570005] initcall init_hw_breakpoint+0x0/0xf returned 0 after 0 usecs
[ 0.573337] calling filelock_init+0x0/0x27 @ 1
[ 0.576675] initcall filelock_init+0x0/0x27 returned 0 after 0 usecs
[ 0.580005] calling init_aout_binfmt+0x0/0x11 @ 1
[ 0.583360] initcall init_aout_binfmt+0x0/0x11 returned 0 after 0 usecs
[ 0.586671] calling init_misc_binfmt+0x0/0x35 @ 1
[ 0.590007] initcall init_misc_binfmt+0x0/0x35 returned 0 after 0 usecs
[ 0.593339] calling init_script_binfmt+0x0/0x11 @ 1
[ 0.596671] initcall init_script_binfmt+0x0/0x11 returned 0 after 0 usecs
[ 0.600004] calling init_elf_binfmt+0x0/0x11 @ 1
[ 0.603338] initcall init_elf_binfmt+0x0/0x11 returned 0 after 0 usecs
[ 0.606673] calling debugfs_init+0x0/0x4a @ 1
[ 0.610010] initcall debugfs_init+0x0/0x4a returned 0 after 0 usecs
[ 0.613337] calling securityfs_init+0x0/0x41 @ 1
[ 0.616675] initcall securityfs_init+0x0/0x41 returned 0 after 0 usecs
[ 0.620004] calling random32_init+0x0/0x9d @ 1
[ 0.623338] initcall random32_init+0x0/0x9d returned 0 after 0 usecs
[ 0.626672] calling cpufreq_core_init+0x0/0x55 @ 1
[ 0.630005] initcall cpufreq_core_init+0x0/0x55 returned 0 after 0 usecs
[ 0.633338] calling virtio_init+0x0/0x24 @ 1
[ 0.636691] bus: 'virtio': registered
[ 0.640006] initcall virtio_init+0x0/0x24 returned 0 after 3255 usecs
[ 0.643337] calling sock_init+0x0/0x4c @ 1
[ 0.646826] initcall sock_init+0x0/0x4c returned 0 after 0 usecs
[ 0.650005] calling netpoll_init+0x0/0x39 @ 1
[ 0.653338] initcall netpoll_init+0x0/0x39 returned 0 after 0 usecs
[ 0.656671] calling netlink_proto_init+0x0/0x10a @ 1
[ 0.660057] NET: Registered protocol family 16
[ 0.663418] initcall netlink_proto_init+0x0/0x10a returned 0 after 3255 usecs
[ 0.666671] calling olpc_init+0x0/0x105 @ 1
[ 0.670009] initcall olpc_init+0x0/0x105 returned 0 after 0 usecs
[ 0.673337] calling bdi_class_init+0x0/0x35 @ 1
[ 0.676673] device class 'bdi': registering
[ 0.680219] initcall bdi_class_init+0x0/0x35 returned 0 after 3255 usecs
[ 0.683338] calling kobject_uevent_init+0x0/0x4e @ 1
[ 0.686678] initcall kobject_uevent_init+0x0/0x4e returned 0 after 0 usecs
[ 0.690004] calling pcibus_class_init+0x0/0x14 @ 1
[ 0.693338] device class 'pci_bus': registering
[ 0.696715] initcall pcibus_class_init+0x0/0x14 returned 0 after 3255 usecs
[ 0.700005] calling pci_driver_init+0x0/0xf @ 1
[ 0.703359] bus: 'pci': registered
[ 0.706672] initcall pci_driver_init+0x0/0xf returned 0 after 3255 usecs
[ 0.710004] calling lcd_class_init+0x0/0x3f @ 1
[ 0.713336] device class 'lcd': registering
[ 0.716690] initcall lcd_class_init+0x0/0x3f returned 0 after 3255 usecs
[ 0.720007] calling backlight_class_init+0x0/0x4d @ 1
[ 0.723336] device class 'backlight': registering
[ 0.726691] initcall backlight_class_init+0x0/0x4d returned 0 after 3255 usecs
[ 0.730005] calling video_output_class_init+0x0/0x14 @ 1
[ 0.733336] device class 'video_output': registering
[ 0.736690] initcall video_output_class_init+0x0/0x14 returned 0 after 3255 usecs
[ 0.740004] calling tty_class_init+0x0/0x2c @ 1
[ 0.743336] device class 'tty': registering
[ 0.746700] initcall tty_class_init+0x0/0x2c returned 0 after 3255 usecs
[ 0.750005] calling vtconsole_class_init+0x0/0xa1 @ 1
[ 0.753337] device class 'vtconsole': registering
[ 0.756691] device: 'vtcon0': device_add
[ 0.760070] initcall vtconsole_class_init+0x0/0xa1 returned 0 after 6510 usecs
[ 0.763337] calling register_node_type+0x0/0x3a @ 1
[ 0.766669] Registering sysdev class 'node'
[ 0.773381] initcall register_node_type+0x0/0x3a returned 0 after 6510 usecs
[ 0.776672] calling i2c_init+0x0/0x54 @ 1
[ 0.780024] bus: 'i2c': registered
[ 0.783336] device class 'i2c-adapter': registering
[ 0.786691] bus: 'i2c': add driver dummy
[ 0.793351] initcall i2c_init+0x0/0x54 returned 0 after 13020 usecs
[ 0.796671] calling lguest_devices_init+0x0/0x16f @ 1
[ 0.800005] initcall lguest_devices_init+0x0/0x16f returned 0 after 0 usecs
[ 0.803339] calling amd_postcore_init+0x0/0x9a @ 1
[ 0.806671] initcall amd_postcore_init+0x0/0x9a returned 0 after 0 usecs
[ 0.810003] calling arch_kdebugfs_init+0x0/0x1e @ 1
[ 0.813347] initcall arch_kdebugfs_init+0x0/0x1e returned 0 after 0 usecs
[ 0.816671] calling init_pit_clocksource+0x0/0x97 @ 1
[ 0.820003] initcall init_pit_clocksource+0x0/0x97 returned 0 after 0 usecs
[ 0.823337] calling arch_init_ftrace_syscalls+0x0/0xd2 @ 1
[ 0.830895] initcall arch_init_ftrace_syscalls+0x0/0xd2 returned 0 after 3255 usecs
[ 0.833337] calling kdump_buf_page_init+0x0/0x72 @ 1
[ 0.836672] initcall kdump_buf_page_init+0x0/0x72 returned 0 after 0 usecs
[ 0.840004] calling dmi_id_init+0x0/0x2bb @ 1
[ 0.843336] device class 'dmi': registering
[ 0.846693] device: 'id': device_add
[ 0.850094] initcall dmi_id_init+0x0/0x2bb returned 0 after 6510 usecs
[ 0.853338] calling init_cyclone_clocksource+0x0/0x17d @ 1
[ 0.856671] initcall init_cyclone_clocksource+0x0/0x17d returned -19 after 0 usecs
[ 0.860003] calling pci_arch_init+0x0/0x4e @ 1
[ 0.871280] PCI: PCI BIOS revision 3.00 entry at 0xf21d0, last bus=5
[ 0.873335] PCI: Using configuration type 1 for base access
[ 0.876679] initcall pci_arch_init+0x0/0x4e returned 0 after 9765 usecs
[ 0.880006] calling topology_init+0x0/0xb8 @ 1
[ 0.883336] Registering sys device of class 'node'
[ 0.886675] Registering sys device 'node0'
[ 0.890044] Registering sys device of class 'cpu'
[ 0.893345] Registering sys device 'cpu0'
[ 0.896686] Registering sys device of class 'cpu'
[ 0.900007] Registering sys device 'cpu1'
[ 0.903354] initcall topology_init+0x0/0xb8 returned 0 after 19531 usecs
[ 0.906671] calling mca_init+0x0/0x2ae @ 1
[ 0.910083] bus: 'MCA': registered
[ 0.913338] initcall mca_init+0x0/0x2ae returned -19 after 3255 usecs
[ 0.916669] calling param_sysfs_init+0x0/0x2bf @ 1
[ 0.985346] initcall param_sysfs_init+0x0/0x2bf returned 0 after 61848 usecs
[ 0.986773] calling default_bdi_init+0x0/0x2f @ 1
[ 0.990017] device: 'default': device_add
[ 0.993429] initcall default_bdi_init+0x0/0x2f returned 0 after 3255 usecs
[ 0.996806] calling init_bio+0x0/0xae @ 1
[ 1.000135] bio: create slab <bio-0> at 0
[ 1.003372] initcall init_bio+0x0/0xae returned 0 after 3255 usecs
[ 1.006671] calling fsnotify_init+0x0/0xf @ 1
[ 1.010023] initcall fsnotify_init+0x0/0xf returned 0 after 0 usecs
[ 1.013337] calling fsnotify_notification_init+0x0/0xe7 @ 1
[ 1.016676] initcall fsnotify_notification_init+0x0/0xe7 returned 0 after 0 usecs
[ 1.020003] calling cryptomgr_init+0x0/0xf @ 1
[ 1.023337] initcall cryptomgr_init+0x0/0xf returned 0 after 0 usecs
[ 1.026670] calling blk_settings_init+0x0/0x1d @ 1
[ 1.030005] initcall blk_settings_init+0x0/0x1d returned 0 after 0 usecs
[ 1.033336] calling blk_ioc_init+0x0/0x24 @ 1
[ 1.036674] initcall blk_ioc_init+0x0/0x24 returned 0 after 0 usecs
[ 1.040025] calling blk_softirq_init+0x0/0x83 @ 1
[ 1.043337] initcall blk_softirq_init+0x0/0x83 returned 0 after 0 usecs
[ 1.046670] calling genhd_device_init+0x0/0x50 @ 1
[ 1.050002] device class 'block': registering
[ 1.053437] initcall genhd_device_init+0x0/0x50 returned 0 after 3255 usecs
[ 1.056675] calling blk_dev_integrity_init+0x0/0x24 @ 1
[ 1.060006] initcall blk_dev_integrity_init+0x0/0x24 returned 0 after 0 usecs
[ 1.063398] calling gpiolib_debugfs_init+0x0/0x1f @ 1
[ 1.066682] initcall gpiolib_debugfs_init+0x0/0x1f returned 0 after 0 usecs
[ 1.070005] calling max732x_init+0x0/0x11 @ 1
[ 1.073337] bus: 'i2c': add driver max732x
[ 1.076749] initcall max732x_init+0x0/0x11 returned 0 after 3255 usecs
[ 1.080010] calling gpio_twl4030_init+0x0/0xf @ 1
[ 1.083337] bus: 'platform': add driver twl4030_gpio
[ 1.086739] initcall gpio_twl4030_init+0x0/0xf returned 0 after 3255 usecs
[ 1.090006] calling pci_slot_init+0x0/0x40 @ 1
[ 1.093344] initcall pci_slot_init+0x0/0x40 returned 0 after 0 usecs
[ 1.096670] calling fbmem_init+0x0/0x78 @ 1
[ 1.100040] device class 'graphics': registering
[ 1.103401] initcall fbmem_init+0x0/0x78 returned 0 after 3255 usecs
[ 1.106671] calling misc_init+0x0/0x92 @ 1
[ 1.110007] device class 'misc': registering
[ 1.113399] initcall misc_init+0x0/0x92 returned 0 after 3255 usecs
[ 1.116672] calling cn_init+0x0/0xd0 @ 1
[ 1.120065] initcall cn_init+0x0/0xd0 returned 0 after 0 usecs
[ 1.123336] calling tifm_init+0x0/0x75 @ 1
[ 1.126739] bus: 'tifm': registered
[ 1.130005] device class 'tifm_adapter': registering
[ 1.133399] initcall tifm_init+0x0/0x75 returned 0 after 6510 usecs
[ 1.136671] calling tps_init+0x0/0x6f @ 1
[ 1.140003] tps65010: version 2 May 2005
[ 1.143336] bus: 'i2c': add driver tps65010
[ 1.146750] bus: 'i2c': remove driver tps65010
[ 1.150065] driver: 'tps65010': driver_release
[ 1.166708] bus: 'i2c': add driver tps65010
[ 1.170074] bus: 'i2c': remove driver tps65010
[ 1.173396] driver: 'tps65010': driver_release
[ 1.190010] bus: 'i2c': add driver tps65010
[ 1.193407] bus: 'i2c': remove driver tps65010
[ 1.196728] driver: 'tps65010': driver_release
[ 1.200003] tps65010: no chip?
[ 1.203336] initcall tps_init+0x0/0x6f returned -19 after 61848 usecs
[ 1.206669] calling twl4030_init+0x0/0x11 @ 1
[ 1.210002] bus: 'i2c': add driver twl4030
[ 1.213409] initcall twl4030_init+0x0/0x11 returned 0 after 3255 usecs
[ 1.216670] calling da903x_init+0x0/0x11 @ 1
[ 1.220003] bus: 'i2c': add driver da903x
[ 1.223407] initcall da903x_init+0x0/0x11 returned 0 after 3255 usecs
[ 1.226670] calling pcf50633_init+0x0/0x11 @ 1
[ 1.230002] bus: 'i2c': add driver pcf50633
[ 1.233407] initcall pcf50633_init+0x0/0x11 returned 0 after 3255 usecs
[ 1.236671] calling ab3100_i2c_init+0x0/0x11 @ 1
[ 1.240003] bus: 'i2c': add driver ab3100
[ 1.243406] initcall ab3100_i2c_init+0x0/0x11 returned 0 after 3255 usecs
[ 1.246670] calling init_scsi+0x0/0x89 @ 1
[ 1.250123] device class 'scsi_host': registering
[ 1.253417] bus: 'scsi': registered
[ 1.256669] device class 'scsi_device': registering
[ 1.260066] SCSI subsystem initialized
[ 1.263338] initcall init_scsi+0x0/0x89 returned 0 after 13020 usecs
[ 1.266670] calling ata_init+0x0/0x2c3 @ 1
[ 1.270114] libata version 3.00 loaded.
[ 1.273338] initcall ata_init+0x0/0x2c3 returned 0 after 3255 usecs
[ 1.276671] calling phy_init+0x0/0x29 @ 1
[ 1.280002] device class 'mdio_bus': registering
[ 1.286716] bus: 'mdio_bus': registered
[ 1.290003] bus: 'mdio_bus': add driver Generic PHY
[ 1.293406] initcall phy_init+0x0/0x29 returned 0 after 13020 usecs
[ 1.296671] calling init_pcmcia_cs+0x0/0x2d @ 1
[ 1.300003] device class 'pcmcia_socket': registering
[ 1.303400] initcall init_pcmcia_cs+0x0/0x2d returned 0 after 3255 usecs
[ 1.306671] calling nop_usb_xceiv_init+0x0/0xf @ 1
[ 1.310003] bus: 'platform': add driver nop_usb_xceiv
[ 1.313407] initcall nop_usb_xceiv_init+0x0/0xf returned 0 after 3255 usecs
[ 1.316671] calling usb_init+0x0/0x14a @ 1
[ 1.320090] bus: 'usb': registered
[ 1.323342] bus: 'usb': add driver usbfs
[ 1.326740] usbcore: registered new interface driver usbfs
[ 1.330010] device class 'usb_device': registering
[ 1.333400] bus: 'usb': add driver hub
[ 1.336749] usbcore: registered new interface driver hub
[ 1.340049] bus: 'usb': add driver usb
[ 1.343408] usbcore: registered new device driver usb
[ 1.346671] initcall usb_init+0x0/0x14a returned 0 after 26041 usecs
[ 1.350003] calling serio_init+0x0/0x73 @ 1
[ 1.353401] bus: 'serio': registered
[ 1.356714] initcall serio_init+0x0/0x73 returned 0 after 3255 usecs
[ 1.360003] calling input_init+0x0/0x106 @ 1
[ 1.363335] device class 'input': registering
[ 1.366734] initcall input_init+0x0/0x106 returned 0 after 3255 usecs
[ 1.370007] calling rtc_init+0x0/0x5e @ 1
[ 1.373335] device class 'rtc': registering
[ 1.376733] initcall rtc_init+0x0/0x5e returned 0 after 3255 usecs
[ 1.380004] calling pps_init+0x0/0x92 @ 1
[ 1.383336] device class 'pps': registering
[ 1.386732] LinuxPPS API ver. 1 registered
[ 1.390003] Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.393337] initcall pps_init+0x0/0x92 returned 0 after 9765 usecs
[ 1.396669] calling hwmon_init+0x0/0xe9 @ 1
[ 1.400004] device class 'hwmon': registering
[ 1.403401] initcall hwmon_init+0x0/0xe9 returned 0 after 3255 usecs
[ 1.406671] calling mmc_init+0x0/0x6e @ 1
[ 1.413365] bus: 'mmc': registered
[ 1.416669] device class 'mmc_host': registering
[ 1.420072] bus: 'sdio': registered
[ 1.423338] initcall mmc_init+0x0/0x6e returned 0 after 13020 usecs
[ 1.426669] calling leds_init+0x0/0x36 @ 1
[ 1.430002] device class 'leds': registering
[ 1.433403] initcall leds_init+0x0/0x36 returned 0 after 3255 usecs
[ 1.436673] calling pci_subsys_init+0x0/0xec @ 1
[ 1.440002] PCI: Probing PCI hardware
[ 1.443365] PCI: Probing PCI hardware (bus 00)
[ 1.446689] device: 'pci0000:00': device_add
[ 1.450014] device: '0000:00': device_add
[ 1.453632] pci 0000:00:01.1: reg 10 io port: [0xdc00-0xdc1f]
[ 1.456690] pci 0000:00:01.1: reg 20 io port: [0x4c00-0x4c3f]
[ 1.460007] pci 0000:00:01.1: reg 24 io port: [0x4c40-0x4c7f]
[ 1.463358] pci 0000:00:01.1: PME# supported from D3hot D3cold
[ 1.466671] pci 0000:00:01.1: PME# disabled
[ 1.470051] pci 0000:00:02.0: reg 10 32bit mmio: [0xda102000-0xda102fff]
[ 1.473382] pci 0000:00:02.0: supports D1 D2
[ 1.476668] pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.480004] pci 0000:00:02.0: PME# disabled
[ 1.483382] pci 0000:00:02.1: reg 10 32bit mmio: [0xfeb00000-0xfeb000ff]
[ 1.486724] pci 0000:00:02.1: supports D1 D2
[ 1.490002] pci 0000:00:02.1: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.493338] pci 0000:00:02.1: PME# disabled
[ 1.496720] pci 0000:00:04.0: reg 10 io port: [0xd400-0xd4ff]
[ 1.500009] pci 0000:00:04.0: reg 14 io port: [0xd800-0xd8ff]
[ 1.503340] pci 0000:00:04.0: reg 18 32bit mmio: [0xda101000-0xda101fff]
[ 1.506705] pci 0000:00:04.0: supports D1 D2
[ 1.510057] pci 0000:00:06.0: reg 20 io port: [0xf000-0xf00f]
[ 1.513438] pci 0000:00:0a.0: reg 10 32bit mmio: [0xda100000-0xda100fff]
[ 1.516674] pci 0000:00:0a.0: reg 14 io port: [0xd000-0xd007]
[ 1.520044] pci 0000:00:0a.0: supports D1 D2
[ 1.523335] pci 0000:00:0a.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.526671] pci 0000:00:0a.0: PME# disabled
[ 1.530082] pci 0000:00:0b.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.533337] pci 0000:00:0b.0: PME# disabled
[ 1.536754] pci 0000:00:0c.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.540004] pci 0000:00:0c.0: PME# disabled
[ 1.543423] pci 0000:00:0d.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.546671] pci 0000:00:0d.0: PME# disabled
[ 1.550088] pci 0000:00:0e.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.553337] pci 0000:00:0e.0: PME# disabled
[ 1.556987] pci 0000:05:07.0: reg 10 io port: [0xc000-0xc0ff]
[ 1.560011] pci 0000:05:07.0: reg 14 32bit mmio: [0xda000000-0xda0000ff]
[ 1.563337] Clocksource tsc unstable (delta = 222469102 ns)
[ 1.563388] pci 0000:05:07.0: supports D1 D2
[ 1.563390] pci 0000:05:07.0: PME# supported from D1 D2 D3hot
[ 1.563396] pci 0000:05:07.0: PME# disabled
[ 1.563462] pci 0000:00:09.0: transparent bridge
[ 1.563468] pci 0000:00:09.0: bridge io port: [0xc000-0xcfff]
[ 1.563474] pci 0000:00:09.0: bridge 32bit mmio: [0xda000000-0xda0fffff]
[ 1.563847] pci 0000:01:00.0: reg 10 32bit mmio: [0xd0000000-0xd7ffffff]
[ 1.563856] pci 0000:01:00.0: reg 14 io port: [0xb000-0xb0ff]
[ 1.563865] pci 0000:01:00.0: reg 18 32bit mmio: [0xd9000000-0xd900ffff]
[ 1.563892] pci 0000:01:00.0: reg 30 32bit mmio: [0x000000-0x01ffff]
[ 1.563926] pci 0000:01:00.0: supports D1 D2
[ 1.563976] pci 0000:01:00.1: reg 10 32bit mmio: [0xd9010000-0xd901ffff]
[ 1.564042] pci 0000:01:00.1: supports D1 D2
[ 1.564142] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
[ 1.564325] pci 0000:00:0e.0: bridge io port: [0xb000-0xbfff]
[ 1.564331] pci 0000:00:0e.0: bridge 32bit mmio: [0xd8000000-0xd9ffffff]
[ 1.564339] pci 0000:00:0e.0: bridge 64bit mmio pref: [0xd0000000-0xd7ffffff]
[ 1.564375] device: '0000:00:00.0': device_add
[ 1.564384] bus: 'pci': add device 0000:00:00.0
[ 1.680106]
[ 1.680107] =======================================================
[ 1.683330] [ INFO: possible circular locking dependency detected ]
[ 1.683330] 2.6.31-rc6-tip #4534
[ 1.683330] -------------------------------------------------------
[ 1.703385] device: '0000:00:01.0': device_add
[ 1.703393] bus: 'pci': add device 0000:00:01.0
[ 1.703508] device: '0000:00:01.1': device_add
[ 1.703515] bus: 'pci': add device 0000:00:01.1
[ 1.703618] device: '0000:00:02.0': device_add
[ 1.703624] bus: 'pci': add device 0000:00:02.0
[ 1.703719] device: '0000:00:02.1': device_add
[ 1.703725] bus: 'pci': add device 0000:00:02.1
[ 1.703819] device: '0000:00:04.0': device_add
[ 1.703825] bus: 'pci': add device 0000:00:04.0
[ 1.703920] device: '0000:00:06.0': device_add
[ 1.703926] bus: 'pci': add device 0000:00:06.0
[ 1.704029] device: '0000:00:09.0': device_add
[ 1.704035] bus: 'pci': add device 0000:00:09.0
[ 1.704129] device: '0000:00:0a.0': device_add
[ 1.704135] bus: 'pci': add device 0000:00:0a.0
[ 1.704229] device: '0000:00:0b.0': device_add
[ 1.704235] bus: 'pci': add device 0000:00:0b.0
[ 1.704335] device: '0000:00:0c.0': device_add
[ 1.704342] bus: 'pci': add device 0000:00:0c.0
[ 1.704446] device: '0000:00:0d.0': device_add
[ 1.704453] bus: 'pci': add device 0000:00:0d.0
[ 1.704551] device: '0000:00:0e.0': device_add
[ 1.704557] bus: 'pci': add device 0000:00:0e.0
[ 1.704654] device: '0000:00:18.0': device_add
[ 1.704660] bus: 'pci': add device 0000:00:18.0
[ 1.704755] device: '0000:00:18.1': device_add
[ 1.704761] bus: 'pci': add device 0000:00:18.1
[ 1.704863] device: '0000:00:18.2': device_add
[ 1.704870] bus: 'pci': add device 0000:00:18.2
[ 1.704971] device: '0000:00:18.3': device_add
[ 1.704978] bus: 'pci': add device 0000:00:18.3
[ 1.705075] device: '0000:05:07.0': device_add
[ 1.705082] bus: 'pci': add device 0000:05:07.0
[ 1.705177] device: '0000:05': device_add
[ 1.705262] device: '0000:04': device_add
[ 1.705340] device: '0000:03': device_add
[ 1.705417] device: '0000:02': device_add
[ 1.705500] device: '0000:01:00.0': device_add
[ 1.705506] bus: 'pci': add device 0000:01:00.0
[ 1.705603] device: '0000:01:00.1': device_add
[ 1.705609] bus: 'pci': add device 0000:01:00.1
[ 1.705713] device: '0000:01': device_add
[ 1.706073] pci 0000:00:00.0: default IRQ router [10de:005e]
[ 1.706218] initcall pci_subsys_init+0x0/0xec returned 0 after 257161 usecs
[ 1.706223] calling proto_init+0x0/0xf @ 1
[ 1.706237] initcall proto_init+0x0/0xf returned 0 after 0 usecs
[ 1.706241] calling net_dev_init+0x0/0x17d @ 1
[ 1.706252] device class 'net': registering
[ 1.706341] device: 'lo': device_add
[ 1.706489] initcall net_dev_init+0x0/0x17d returned 0 after 0 usecs
[ 1.706493] calling neigh_init+0x0/0x66 @ 1
[ 1.706497] initcall neigh_init+0x0/0x66 returned 0 after 0 usecs
[ 1.706501] calling fib_rules_init+0x0/0x99 @ 1
[ 1.706507] initcall fib_rules_init+0x0/0x99 returned 0 after 0 usecs
[ 1.706511] calling pktsched_init+0x0/0xa9 @ 1
[ 1.706518] initcall pktsched_init+0x0/0xa9 returned 0 after 0 usecs
[ 1.706521] calling tc_filter_init+0x0/0x43 @ 1
[ 1.706525] initcall tc_filter_init+0x0/0x43 returned 0 after 0 usecs
[ 1.706529] calling genl_init+0x0/0xb0 @ 1
[ 1.710199] initcall genl_init+0x0/0xb0 returned 0 after 6510 usecs
[ 1.710203] calling wanrouter_init+0x0/0x42 @ 1
[ 1.710206] Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
[ 1.710216] initcall wanrouter_init+0x0/0x42 returned 0 after 0 usecs
[ 1.710219] calling bt_init+0x0/0x50 @ 1
[ 1.710221] Bluetooth: Core ver 2.15
[ 1.710262] device class 'bluetooth': registering
[ 1.710332] NET: Registered protocol family 31
[ 1.710334] Bluetooth: HCI device and connection manager initialized
[ 1.710338] Bluetooth: HCI socket layer initialized
[ 1.710342] initcall bt_init+0x0/0x50 returned 0 after 0 usecs
[ 1.710345] calling atm_init+0x0/0xa0 @ 1
[ 1.710348] NET: Registered protocol family 8
[ 1.710350] NET: Registered protocol family 20
[ 1.710362] device class 'atm': registering
[ 1.710429] initcall atm_init+0x0/0xa0 returned 0 after 0 usecs
[ 1.710433] calling wireless_nlevent_init+0x0/0x39 @ 1
[ 1.710437] initcall wireless_nlevent_init+0x0/0x39 returned 0 after 0 usecs
[ 1.710443] calling cfg80211_init+0x0/0x69 @ 1
[ 1.710445] device class 'ieee80211': registering
[ 1.733350] Registering platform device 'regulatory.0'. Parent at platform
[ 1.733353] device: 'regulatory.0': device_add
[ 1.733359] bus: 'platform': add device regulatory.0
[ 1.733431] cfg80211: Using static regulatory domain info
[ 1.733434] cfg80211: Regulatory domain: US
[ 1.733436] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 1.733439] (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
[ 1.733442] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 1.733445] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 1.733449] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 1.733452] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 1.733455] (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
[ 1.733466] cfg80211: Calling CRDA for country: US
[ 1.703334] events/1/8 is trying to acquire lock:
[ 1.703334] (clocksource_mutex){+.+...}, at: [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334]
[ 1.703334] but task is already holding lock:
[ 1.703334] (watchdog_lock){+.-...}, at: [<c105e24a>] clocksource_watchdog_work+0x14/0x94
[ 1.703334]
[ 1.703334] which lock already depends on the new lock.
[ 1.703334]
[ 1.703334]
[ 1.703334] the existing dependency chain (in reverse order) is:
[ 1.703334]
[ 1.703334] -> #1 (watchdog_lock){+.-...}:
[ 1.703334] [<c1066317>] __lock_acquire+0xa5d/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c19fcf2a>] _spin_lock_irqsave+0x37/0x6a
[ 1.703334] [<c105e0da>] clocksource_register+0x65/0x1c1
[ 1.703334] [<c1fe8102>] tsc_init+0x1d7/0x1df
[ 1.703334] [<c1fe4b75>] time_init+0xd/0x19
[ 1.703334] [<c1fe2ab1>] start_kernel+0x21b/0x3e5
[ 1.703334] [<c1fe2391>] i386_start_kernel+0x6b/0x70
[ 1.703334]
[ 1.703334] -> #0 (clocksource_mutex){+.+...}:
[ 1.703334] [<c1066222>] __lock_acquire+0x968/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c19fbb3f>] __mutex_lock_common+0x3a/0x34d
[ 1.703334] [<c19fbecc>] mutex_lock_nested+0x24/0x2c
[ 1.703334] [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e277>] clocksource_watchdog_work+0x41/0x94
[ 1.703334] [<c1050d96>] worker_thread+0x179/0x24a
[ 1.703334] [<c1054ad7>] kthread+0x66/0x6b
[ 1.703334] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 1.703334]
[ 1.703334] other info that might help us debug this:
[ 1.703334]
[ 1.703334] 3 locks held by events/1/8:
[ 1.703334] #0: (events){+.+...}, at: [<c1050d4c>] worker_thread+0x12f/0x24a
[ 1.703334] #1: (&watchdog_work){+.+...}, at: [<c1050d4c>] worker_thread+0x12f/0x24a
[ 1.703334] #2: (watchdog_lock){+.-...}, at: [<c105e24a>] clocksource_watchdog_work+0x14/0x94
[ 1.703334]
[ 1.703334] stack backtrace:
[ 1.703334] Pid: 8, comm: events/1 Tainted: G W 2.6.31-rc6-tip #4534
[ 1.703334] Call Trace:
[ 1.703334] [<c19fa80e>] ? printk+0x14/0x16
[ 1.703334] [<c1065575>] print_circular_bug+0x8a/0x96
[ 1.703334] [<c1066222>] __lock_acquire+0x968/0xbed
[ 1.703334] [<c1066542>] lock_acquire+0x9b/0xb8
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c19fbb3f>] __mutex_lock_common+0x3a/0x34d
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e24a>] ? clocksource_watchdog_work+0x14/0x94
[ 1.703334] [<c19fbecc>] mutex_lock_nested+0x24/0x2c
[ 1.703334] [<c105dde6>] ? clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105dde6>] clocksource_change_rating+0x1b/0x86
[ 1.703334] [<c105e277>] clocksource_watchdog_work+0x41/0x94
[ 1.703334] [<c1050d96>] worker_thread+0x179/0x24a
[ 1.703334] [<c1050d4c>] ? worker_thread+0x12f/0x24a
[ 1.703334] [<c105e236>] ? clocksource_watchdog_work+0x0/0x94
[ 1.703334] [<c1054d71>] ? autoremove_wake_function+0x0/0x38
[ 1.703334] [<c1050c1d>] ? worker_thread+0x0/0x24a
[ 1.703334] [<c1054ad7>] kthread+0x66/0x6b
[ 1.703334] [<c1054a71>] ? kthread+0x0/0x6b
[ 1.703334] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 2.464242] initcall cfg80211_init+0x0/0x69 returned 0 after 735675 usecs
[ 2.466667] calling ieee80211_init+0x0/0x24 @ 1
[ 2.470003] initcall ieee80211_init+0x0/0x24 returned 0 after 0 usecs
[ 2.473332] calling rfkill_init+0x0/0x60 @ 1
[ 2.476665] device class 'rfkill': registering
[ 2.480036] device: 'rfkill': device_add
[ 2.483377] initcall rfkill_init+0x0/0x60 returned 0 after 6510 usecs
[ 2.486667] calling sysctl_init+0x0/0x3b @ 1
[ 2.490001] initcall sysctl_init+0x0/0x3b returned 0 after 0 usecs
[ 2.493335] calling pci_iommu_init+0x0/0xc @ 1
[ 2.496667] initcall pci_iommu_init+0x0/0xc returned 0 after 0 usecs
[ 2.500001] calling print_all_ICs+0x0/0x4a7 @ 1
[ 2.503331]
[ 2.503332] printing PIC contents
[ 2.506666] ... PIC IMR: fffa
[ 2.509694] ... PIC IRR: 0001
[ 2.509997] ... PIC ISR: 0001
[ 2.513333] ... PIC ELCR: 0828
[ 2.516666] printing local APIC contents on CPU#0/0:
[ 2.519995] ... APIC ID: 00000000 (0)
[ 2.519995] ... APIC VERSION: 00040010
[ 2.519995] ... APIC TASKPRI: 00000000 (00)
[ 2.519995] ... APIC ARBPRI: 000000e0 (e0)
[ 2.519995] ... APIC PROCPRI: 00000000
[ 2.519995] ... APIC LDR: 01000000
[ 2.519995] ... APIC DFR: ffffffff
[ 2.519995] ... APIC SPIV: 000001ff
[ 2.519995] ... APIC ISR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000000000
[ 2.519995] ... APIC TMR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000000000
[ 2.519995] ... APIC IRR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000008000
[ 2.519995] ... APIC ESR: 00000000
[ 2.519995] ... APIC ICR: 000008fd
[ 2.519995] ... APIC ICR2: 02000000
[ 2.519995] ... APIC LVTT: 000200ef
[ 2.519995] ... APIC LVTPC: 00000400
[ 2.519995] ... APIC LVT0: 00010700
[ 2.519995] ... APIC LVT1: 00000400
[ 2.519995] ... APIC LVTERR: 000000fe
[ 2.519995] ... APIC TMICT: 0000a396
[ 2.519995] ... APIC TMCCT: 0000860f
[ 2.519995] ... APIC TDCR: 00000003
[ 2.519995]
[ 2.517145] printing local APIC contents on CPU#1/1:
[ 2.519995] ... APIC ID: 01000000 (1)
[ 2.519995] ... APIC VERSION: 00040010
[ 2.519995] ... APIC TASKPRI: 00000000 (00)
[ 2.519995] ... APIC ARBPRI: 000000e0 (e0)
[ 2.519995] ... APIC PROCPRI: 00000000
[ 2.519995] ... APIC LDR: 02000000
[ 2.519995] ... APIC DFR: ffffffff
[ 2.519995] ... APIC SPIV: 000001ff
[ 2.519995] ... APIC ISR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000000000
[ 2.519995] ... APIC TMR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000000000
[ 2.519995] ... APIC IRR field:
[ 2.519995] 0000000000000000000000000000000000000000000000000000000000008000
[ 2.519995] ... APIC ESR: 00000000
[ 2.519995] ... APIC ICR: 000008fd
[ 2.519995] ... APIC ICR2: 01000000
[ 2.519995] ... APIC LVTT: 000200ef
[ 2.519995] ... APIC LVTPC: 00010400
[ 2.519995] ... APIC LVT0: 00010700
[ 2.519995] ... APIC LVT1: 00010400
[ 2.519995] ... APIC LVTERR: 000000fe
[ 2.519995] ... APIC TMICT: 0000a396
[ 2.519995] ... APIC TMCCT: 00006fb0
[ 2.519995] ... APIC TDCR: 00000003
[ 2.519995]
[ 2.628165] number of MP IRQ sources: 17.
[ 2.629998] number of IO-APIC #2 registers: 24.
[ 2.636664] testing the IO APIC.......................
[ 2.640000]
[ 2.641467] IO APIC #2......
[ 2.643331] .... register #00: 00000000
[ 2.646665] ....... : physical APIC id: 00
[ 2.649997] ....... : Delivery Type: 0
[ 2.653331] ....... : LTS : 0
[ 2.656664] .... register #01: 00170011
[ 2.659998] ....... : max redirection entries: 0017
[ 2.663331] ....... : PRQ implemented: 0
[ 2.666664] ....... : IO APIC version: 0011
[ 2.669997] .... register #02: 00000000
[ 2.673331] ....... : arbitration: 00
[ 2.676664] .... IRQ redirection table:
[ 2.679997] NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect:
[ 2.683333] 00 003 0 0 0 0 0 1 1 30
[ 2.686667] 01 003 0 0 0 0 0 1 1 31
[ 2.693333] 02 000 1 0 0 0 0 0 0 00
[ 2.696666] 03 003 1 1 0 1 0 1 1 33
[ 2.703333] 04 003 0 0 0 0 0 1 1 34
[ 2.710000] 05 003 1 1 0 1 0 1 1 35
[ 2.713333] 06 003 0 0 0 0 0 1 1 36
[ 2.720002] 07 003 1 0 0 0 0 1 1 37
[ 2.723333] 08 003 0 0 0 0 0 1 1 38
[ 2.730000] 09 003 0 0 0 0 0 1 1 39
[ 2.733333] 0a 003 0 0 0 0 0 1 1 3A
[ 2.740000] 0b 003 1 1 0 1 0 1 1 3B
[ 2.743333] 0c 003 0 0 0 0 0 1 1 3C
[ 2.750000] 0d 003 0 0 0 0 0 1 1 3D
[ 2.756666] 0e 003 0 0 0 0 0 1 1 3E
[ 2.759999] 0f 003 0 0 0 0 0 1 1 3F
[ 2.766667] 10 000 1 0 0 0 0 0 0 00
[ 2.769999] 11 000 1 0 0 0 0 0 0 00
[ 2.776666] 12 000 1 0 0 0 0 0 0 00
[ 2.780000] 13 000 1 0 0 0 0 0 0 00
[ 2.786666] 14 000 1 0 0 0 0 0 0 00
[ 2.793201] 15 000 1 0 0 0 0 0 0 00
[ 2.796666] 16 000 1 0 0 0 0 0 0 00
[ 2.803332] 17 000 1 0 0 0 0 0 0 00
[ 2.806665] IRQ to pin mappings:
[ 2.809998] IRQ0 -> 0:0
[ 2.814021] IRQ1 -> 0:1
[ 2.816835] IRQ3 -> 0:3
[ 2.819258] IRQ4 -> 0:4
[ 2.820687] IRQ5 -> 0:5
[ 2.824020] IRQ6 -> 0:6
[ 2.826446] IRQ7 -> 0:7
[ 2.827354] IRQ8 -> 0:8
[ 2.830687] IRQ9 -> 0:9
[ 2.833501] IRQ10 -> 0:10
[ 2.836099] IRQ11 -> 0:11
[ 2.837441] IRQ12 -> 0:12
[ 2.840774] IRQ13 -> 0:13
[ 2.844107] IRQ14 -> 0:14
[ 2.846833] IRQ15 -> 0:15
[ 2.849537] .................................... done.
[ 2.850000] initcall print_all_ICs+0x0/0x4a7 returned 0 after 338541 usecs
[ 2.853332] calling hpet_late_init+0x0/0xc5 @ 1
[ 2.856666] initcall hpet_late_init+0x0/0xc5 returned -19 after 0 usecs
[ 2.859999] calling clocksource_done_booting+0x0/0x16 @ 1
[ 2.863331] Switching to clocksource jiffies
[ 2.866665] initcall clocksource_done_booting+0x0/0x16 returned 0 after 3255 usecs
[ 2.869999] calling ftrace_init_debugfs+0x0/0x16a @ 1
[ 2.873372] initcall ftrace_init_debugfs+0x0/0x16a returned 0 after 0 usecs
[ 2.876666] calling rb_init_debugfs+0x0/0x27 @ 1
[ 2.880002] initcall rb_init_debugfs+0x0/0x27 returned 0 after 0 usecs
[ 2.883332] calling tracer_init_debugfs+0x0/0x26c @ 1
[ 2.886859] initcall tracer_init_debugfs+0x0/0x26c returned 0 after 0 usecs
[ 2.890000] calling init_trace_printk_function_export+0x0/0x2a @ 1
[ 2.893336] initcall init_trace_printk_function_export+0x0/0x2a returned 0 after 0 usecs
[ 2.896665] calling event_trace_init+0x0/0x410 @ 1
[ 2.920427] initcall event_trace_init+0x0/0x410 returned 0 after 19531 usecs
[ 2.923334] calling ksym_tracer_stat_init+0x0/0x27 @ 1
[ 2.926672] initcall ksym_tracer_stat_init+0x0/0x27 returned 0 after 0 usecs
[ 2.930000] calling init_pipe_fs+0x0/0x3d @ 1
[ 2.933360] initcall init_pipe_fs+0x0/0x3d returned 0 after 0 usecs
[ 2.936666] calling anon_inode_init+0x0/0xeb @ 1
[ 2.940008] initcall anon_inode_init+0x0/0xeb returned 0 after 0 usecs
[ 2.943333] calling tomoyo_initerface_init+0x0/0x112 @ 1
[ 2.946727] initcall tomoyo_initerface_init+0x0/0x112 returned 0 after 0 usecs
[ 2.950001] calling blk_scsi_ioctl_init+0x0/0x294 @ 1
[ 2.953333] initcall blk_scsi_ioctl_init+0x0/0x294 returned 0 after 0 usecs
[ 2.956666] calling chr_dev_init+0x0/0x89 @ 1
[ 2.960008] device class 'mem': registering
[ 2.963436] device: 'mem': device_add
[ 2.966721] device: 'null': device_add
[ 2.970050] device: 'port': device_add
[ 2.973382] device: 'zero': device_add
[ 2.976718] device: 'full': device_add
[ 2.980048] device: 'random': device_add
[ 2.983382] device: 'urandom': device_add
[ 2.986714] device: 'kmsg': device_add
[ 2.990056] device: 'oldmem': device_add
[ 2.993382] initcall chr_dev_init+0x0/0x89 returned 0 after 32552 usecs
[ 2.996666] calling firmware_class_init+0x0/0x61 @ 1
[ 2.999997] device class 'firmware': registering
[ 3.003375] initcall firmware_class_init+0x0/0x61 returned 0 after 3255 usecs
[ 3.006667] calling ieee1394_init+0x0/0x208 @ 1
[ 3.013375] bus: 'ieee1394': registered
[ 3.016667] device class 'ieee1394_host': registering
[ 3.020042] device class 'ieee1394_protocol': registering
[ 3.023377] device class 'ieee1394_node': registering
[ 3.026709] device class 'ieee1394': registering
[ 3.030043] bus: 'ieee1394': add driver nodemgr
[ 3.033380] initcall ieee1394_init+0x0/0x208 returned 0 after 22786 usecs
[ 3.036666] calling init_pcmcia_bus+0x0/0x6c @ 1
[ 3.040044] bus: 'pcmcia': registered
[ 3.043343] initcall init_pcmcia_bus+0x0/0x6c returned 0 after 3255 usecs
[ 3.046666] calling cpufreq_gov_performance_init+0x0/0xf @ 1
[ 3.050000] initcall cpufreq_gov_performance_init+0x0/0xf returned 0 after 0 usecs
[ 3.053332] calling cpufreq_gov_powersave_init+0x0/0xf @ 1
[ 3.056667] initcall cpufreq_gov_powersave_init+0x0/0xf returned 0 after 0 usecs
[ 3.059998] calling ssb_modinit+0x0/0x64 @ 1
[ 3.063375] bus: 'ssb': registered
[ 3.066667] bus: 'pci': add driver b43-pci-bridge
[ 3.070060] initcall ssb_modinit+0x0/0x64 returned 0 after 6510 usecs
[ 3.073333] calling pcibios_assign_resources+0x0/0x81 @ 1
[ 3.076728] pci 0000:00:09.0: PCI bridge, secondary bus 0000:05
[ 3.079998] pci 0000:00:09.0: IO window: 0xc000-0xcfff
[ 3.083333] pci 0000:00:09.0: MEM window: 0xda000000-0xda0fffff
[ 3.086666] pci 0000:00:09.0: PREFETCH window: disabled
[ 3.089999] pci 0000:00:0b.0: PCI bridge, secondary bus 0000:04
[ 3.093330] pci 0000:00:0b.0: IO window: disabled
[ 3.096666] pci 0000:00:0b.0: MEM window: disabled
[ 3.099999] pci 0000:00:0b.0: PREFETCH window: disabled
[ 3.103332] pci 0000:00:0c.0: PCI bridge, secondary bus 0000:03
[ 3.106663] pci 0000:00:0c.0: IO window: disabled
[ 3.109999] pci 0000:00:0c.0: MEM window: disabled
[ 3.113332] pci 0000:00:0c.0: PREFETCH window: disabled
[ 3.116666] pci 0000:00:0d.0: PCI bridge, secondary bus 0000:02
[ 3.119997] pci 0000:00:0d.0: IO window: disabled
[ 3.123332] pci 0000:00:0d.0: MEM window: disabled
[ 3.126665] pci 0000:00:0d.0: PREFETCH window: disabled
[ 3.130004] pci 0000:00:0e.0: PCI bridge, secondary bus 0000:01
[ 3.133332] pci 0000:00:0e.0: IO window: 0xb000-0xbfff
[ 3.136666] pci 0000:00:0e.0: MEM window: 0xd8000000-0xd9ffffff
[ 3.139999] pci 0000:00:0e.0: PREFETCH window: 0x000000d0000000-0x000000d7ffffff
[ 3.143339] pci 0000:00:09.0: setting latency timer to 64
[ 3.146670] pci 0000:00:0b.0: setting latency timer to 64
[ 3.150002] pci 0000:00:0c.0: setting latency timer to 64
[ 3.153335] pci 0000:00:0d.0: setting latency timer to 64
[ 3.156669] pci 0000:00:0e.0: setting latency timer to 64
[ 3.160000] pci_bus 0000:00: resource 0 io: [0x00-0xffff]
[ 3.163331] pci_bus 0000:00: resource 1 mem: [0x000000-0xffffffffffffffff]
[ 3.166664] pci_bus 0000:05: resource 0 io: [0xc000-0xcfff]
[ 3.169998] pci_bus 0000:05: resource 1 mem: [0xda000000-0xda0fffff]
[ 3.173331] pci_bus 0000:05: resource 3 io: [0x00-0xffff]
[ 3.176665] pci_bus 0000:05: resource 4 mem: [0x000000-0xffffffffffffffff]
[ 3.179998] pci_bus 0000:01: resource 0 io: [0xb000-0xbfff]
[ 3.183331] pci_bus 0000:01: resource 1 mem: [0xd8000000-0xd9ffffff]
[ 3.186665] pci_bus 0000:01: resource 2 pref mem [0xd0000000-0xd7ffffff]
[ 3.189999] initcall pcibios_assign_resources+0x0/0x81 returned 0 after 110676 usecs
[ 3.193332] calling sysctl_core_init+0x0/0x2d @ 1
[ 3.196706] initcall sysctl_core_init+0x0/0x2d returned 0 after 0 usecs
[ 3.199999] calling inet_init+0x0/0x1cb @ 1
[ 3.203344] NET: Registered protocol family 2
[ 3.206814] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 3.210607] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[ 3.217937] TCP bind hash table entries: 65536 (order: 9, 2621440 bytes)
[ 3.222111] TCP: Hash tables configured (established 131072 bind 65536)
[ 3.223332] TCP reno registered
[ 3.226818] initcall inet_init+0x0/0x1cb returned 0 after 22786 usecs
[ 3.229999] calling af_unix_init+0x0/0x47 @ 1
[ 3.233345] NET: Registered protocol family 1
[ 3.236682] initcall af_unix_init+0x0/0x47 returned 0 after 3255 usecs
[ 3.240001] calling populate_rootfs+0x0/0x8a @ 1
[ 3.243421] initcall populate_rootfs+0x0/0x8a returned 0 after 0 usecs
[ 3.246666] calling i8259A_init_sysfs+0x0/0x1d @ 1
[ 3.249998] Registering sysdev class 'i8259'
[ 3.253423] Registering sys device of class 'i8259'
[ 3.256668] Registering sys device 'i82590'
[ 3.260048] initcall i8259A_init_sysfs+0x0/0x1d returned 0 after 9765 usecs
[ 3.263333] calling sbf_init+0x0/0xdb @ 1
[ 3.266666] initcall sbf_init+0x0/0xdb returned 0 after 0 usecs
[ 3.269999] calling i8237A_init_sysfs+0x0/0x1d @ 1
[ 3.273330] Registering sysdev class 'i8237'
[ 3.276709] Registering sys device of class 'i8237'
[ 3.280001] Registering sys device 'i82370'
[ 3.283372] initcall i8237A_init_sysfs+0x0/0x1d returned 0 after 9765 usecs
[ 3.286665] calling add_rtc_cmos+0x0/0x31 @ 1
[ 3.290000] Registering platform device 'rtc_cmos'. Parent at platform
[ 3.293331] device: 'rtc_cmos': device_add
[ 3.296670] bus: 'platform': add device rtc_cmos
[ 3.300048] platform rtc_cmos: registered platform RTC device (no PNP device found)
[ 3.303332] initcall add_rtc_cmos+0x0/0x31 returned 0 after 13020 usecs
[ 3.306666] calling cache_sysfs_init+0x0/0x28d @ 1
[ 3.310079] initcall cache_sysfs_init+0x0/0x28d returned 0 after 0 usecs
[ 3.313332] calling cpu_debug_init+0x0/0x216 @ 1
[ 3.321195] cpu0(2) debug files 137
[ 3.325313] cpu1(2) debug files 137
[ 3.326669] initcall cpu_debug_init+0x0/0x216 returned 0 after 9765 usecs
[ 3.329998] calling mce_init_device+0x0/0x276 @ 1
[ 3.333333] Registering sysdev class 'machinecheck'
[ 3.336756] Registering sys device of class 'machinecheck'
[ 3.340004] Registering sys device 'machinecheck0'
[ 3.343374] Registering sys device of class 'machinecheck'
[ 3.346667] Registering sys device 'machinecheck1'
[ 3.350038] device: 'mcelog': device_add
[ 3.353387] initcall mce_init_device+0x0/0x276 returned 0 after 19531 usecs
[ 3.356665] calling threshold_init_device+0x0/0x6a @ 1
[ 3.359998] initcall threshold_init_device+0x0/0x6a returned 0 after 0 usecs
[ 3.363333] calling inject_init+0x0/0x20 @ 1
[ 3.366664] Machine check injector initialized
[ 3.369998] initcall inject_init+0x0/0x20 returned 0 after 3255 usecs
[ 3.373331] calling longrun_init+0x0/0x2d @ 1
[ 3.376665] initcall longrun_init+0x0/0x2d returned -19 after 0 usecs
[ 3.379998] calling cpufreq_gx_init+0x0/0x163 @ 1
[ 3.383331] initcall cpufreq_gx_init+0x0/0x163 returned -19 after 0 usecs
[ 3.386664] calling speedstep_init+0x0/0xb3 @ 1
[ 3.389998] initcall speedstep_init+0x0/0xb3 returned -19 after 0 usecs
[ 3.393331] calling msr_init+0x0/0xff @ 1
[ 3.396669] device class 'msr': registering
[ 3.400046] device: 'msr0': device_add
[ 3.403381] device: 'msr1': device_add
[ 3.406715] initcall msr_init+0x0/0xff returned 0 after 9765 usecs
[ 3.409998] calling cpuid_init+0x0/0xff @ 1
[ 3.413332] device class 'cpuid': registering
[ 3.416716] device: 'cpu0': device_add
[ 3.420056] device: 'cpu1': device_add
[ 3.423382] initcall cpuid_init+0x0/0xff returned 0 after 9765 usecs
[ 3.426666] calling ioapic_init_sysfs+0x0/0x84 @ 1
[ 3.429997] Registering sysdev class 'ioapic'
[ 3.433374] Registering sys device of class 'ioapic'
[ 3.436667] Registering sys device 'ioapic0'
[ 3.440036] initcall ioapic_init_sysfs+0x0/0x84 returned 0 after 9765 usecs
[ 3.443332] calling add_pcspkr+0x0/0x28 @ 1
[ 3.446666] Registering platform device 'pcspkr'. Parent at platform
[ 3.449997] device: 'pcspkr': device_add
[ 3.453334] bus: 'platform': add device pcspkr
[ 3.456712] initcall add_pcspkr+0x0/0x28 returned 0 after 9765 usecs
[ 3.460000] calling start_periodic_check_for_corruption+0x0/0x37 @ 1
[ 3.463331] Scanning for low memory corruption every 60 seconds
[ 3.466668] initcall start_periodic_check_for_corruption+0x0/0x37 returned 0 after 3255 usecs
[ 3.469999] calling pt_dump_init+0x0/0x69 @ 1
[ 3.473346] initcall pt_dump_init+0x0/0x69 returned 0 after 0 usecs
[ 3.476665] calling aes_init+0x0/0xf @ 1
[ 3.480085] initcall aes_init+0x0/0xf returned 0 after 0 usecs
[ 3.483332] calling init+0x0/0xf @ 1
[ 3.486696] initcall init+0x0/0xf returned 0 after 0 usecs
[ 3.490004] calling crc32c_intel_mod_init+0x0/0x1d @ 1
[ 3.493332] initcall crc32c_intel_mod_init+0x0/0x1d returned -19 after 0 usecs
[ 3.496665] calling init_sched_debug_procfs+0x0/0x27 @ 1
[ 3.500005] initcall init_sched_debug_procfs+0x0/0x27 returned 0 after 0 usecs
[ 3.503332] calling proc_schedstat_init+0x0/0x1c @ 1
[ 3.506667] initcall proc_schedstat_init+0x0/0x1c returned 0 after 0 usecs
[ 3.509998] calling proc_execdomains_init+0x0/0x1c @ 1
[ 3.513338] initcall proc_execdomains_init+0x0/0x1c returned 0 after 0 usecs
[ 3.516666] calling ioresources_init+0x0/0x31 @ 1
[ 3.520003] initcall ioresources_init+0x0/0x31 returned 0 after 0 usecs
[ 3.523332] calling uid_cache_init+0x0/0x78 @ 1
[ 3.526671] initcall uid_cache_init+0x0/0x78 returned 0 after 0 usecs
[ 3.529997] calling init_posix_timers+0x0/0xb0 @ 1
[ 3.533333] initcall init_posix_timers+0x0/0xb0 returned 0 after 0 usecs
[ 3.536665] calling init_posix_cpu_timers+0x0/0xb7 @ 1
[ 3.539998] initcall init_posix_cpu_timers+0x0/0xb7 returned 0 after 0 usecs
[ 3.543330] calling nsproxy_cache_init+0x0/0x27 @ 1
[ 3.546665] initcall nsproxy_cache_init+0x0/0x27 returned 0 after 0 usecs
[ 3.550000] calling create_proc_profile+0x0/0x1f4 @ 1
[ 3.553331] initcall create_proc_profile+0x0/0x1f4 returned 0 after 0 usecs
[ 3.556664] calling timekeeping_init_device+0x0/0x1d @ 1
[ 3.559996] Registering sysdev class 'timekeeping'
[ 3.563376] Registering sys device of class 'timekeeping'
[ 3.566667] Registering sys device 'timekeeping0'
[ 3.570037] initcall timekeeping_init_device+0x0/0x1d returned 0 after 9765 usecs
[ 3.573331] calling init_clocksource_sysfs+0x0/0x43 @ 1
[ 3.576663] Registering sysdev class 'clocksource'
[ 3.580038] Registering sys device of class 'clocksource'
[ 3.583333] Registering sys device 'clocksource0'
[ 3.586703] initcall init_clocksource_sysfs+0x0/0x43 returned 0 after 9765 usecs
[ 3.589998] calling init_timer_list_procfs+0x0/0x27 @ 1
[ 3.593334] initcall init_timer_list_procfs+0x0/0x27 returned 0 after 0 usecs
[ 3.596664] calling init_tstats_procfs+0x0/0x27 @ 1
[ 3.599999] initcall init_tstats_procfs+0x0/0x27 returned 0 after 0 usecs
[ 3.603331] calling lockdep_proc_init+0x0/0x67 @ 1
[ 3.606671] initcall lockdep_proc_init+0x0/0x67 returned 0 after 0 usecs
[ 3.609997] calling futex_init+0x0/0x8d @ 1
[ 3.613343] initcall futex_init+0x0/0x8d returned 0 after 0 usecs
[ 3.616664] calling proc_dma_init+0x0/0x1c @ 1
[ 3.620000] initcall proc_dma_init+0x0/0x1c returned 0 after 0 usecs
[ 3.623331] calling kallsyms_init+0x0/0x1f @ 1
[ 3.626666] initcall kallsyms_init+0x0/0x1f returned 0 after 0 usecs
[ 3.629997] calling ikconfig_init+0x0/0x3a @ 1
[ 3.633332] initcall ikconfig_init+0x0/0x3a returned 0 after 0 usecs
[ 3.636664] calling hung_task_init+0x0/0x42 @ 1
[ 3.640027] initcall hung_task_init+0x0/0x42 returned 0 after 0 usecs
[ 3.643331] calling utsname_sysctl_init+0x0/0x11 @ 1
[ 3.646678] sysctl table check failed: /kernel/ostype .1.1 No proc_handler
[ 3.655320] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 3.656664] Call Trace:
[ 3.660000] [<c19fa80e>] ? printk+0x14/0x16
[ 3.663332] [<c105bbc0>] set_fail+0x38/0x45
[ 3.666665] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 3.669999] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 3.673332] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 3.676666] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 3.679998] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 3.683332] [<c1ff4e19>] ? utsname_sysctl_init+0x0/0x11
[ 3.686665] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 3.689998] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 3.693331] [<c1ff4e26>] utsname_sysctl_init+0xd/0x11
[ 3.696665] [<c1001074>] do_one_initcall+0x6a/0x177
[ 3.700000] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.703331] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.706665] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.709999] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 3.713333] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 3.716665] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 3.719998] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 3.723334] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 3.726665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.730000] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 3.733332] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 3.736665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.739998] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 3.743333] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 3.746667] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 3.749999] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 3.753332] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 3.756666] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 3.759998] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 3.763333] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 3.766669] sysctl table check failed: /kernel/osrelease .1.2 No proc_handler
[ 3.776665] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 3.779995] Call Trace:
[ 3.782419] [<c19fa80e>] ? printk+0x14/0x16
[ 3.783332] [<c105bbc0>] set_fail+0x38/0x45
[ 3.786665] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 3.789999] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 3.793331] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 3.796665] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 3.799998] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 3.803332] [<c1ff4e19>] ? utsname_sysctl_init+0x0/0x11
[ 3.806664] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 3.809998] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 3.813331] [<c1ff4e26>] utsname_sysctl_init+0xd/0x11
[ 3.816665] [<c1001074>] do_one_initcall+0x6a/0x177
[ 3.819999] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.823332] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.826665] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.829999] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 3.833331] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 3.836665] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 3.839998] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 3.843332] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 3.846664] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.849998] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 3.853331] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 3.856665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.859997] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 3.863331] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 3.866664] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 3.869999] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 3.873331] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 3.876665] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 3.879998] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 3.883333] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 3.886669] sysctl table check failed: /kernel/version .1.4 No proc_handler
[ 3.893330] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 3.896663] Call Trace:
[ 3.899997] [<c19fa80e>] ? printk+0x14/0x16
[ 3.903331] [<c105bbc0>] set_fail+0x38/0x45
[ 3.906664] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 3.909999] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 3.913331] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 3.916665] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 3.919998] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 3.923332] [<c1ff4e19>] ? utsname_sysctl_init+0x0/0x11
[ 3.926664] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 3.929998] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 3.933331] [<c1ff4e26>] utsname_sysctl_init+0xd/0x11
[ 3.936665] [<c1001074>] do_one_initcall+0x6a/0x177
[ 3.939998] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.943331] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.946664] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 3.949999] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 3.953331] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 3.956665] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 3.959998] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 3.963332] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 3.966664] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.969998] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 3.973331] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 3.976665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 3.979997] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 3.983331] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 3.986665] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 3.989998] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 3.993331] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 3.996665] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 3.999997] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 4.003334] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 4.006668] sysctl table check failed: /kernel/hostname .1.7 No proc_handler
[ 4.015319] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 4.016663] Call Trace:
[ 4.019997] [<c19fa80e>] ? printk+0x14/0x16
[ 4.023331] [<c105bbc0>] set_fail+0x38/0x45
[ 4.026664] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 4.029999] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 4.033331] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 4.036665] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 4.039997] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 4.043332] [<c1ff4e19>] ? utsname_sysctl_init+0x0/0x11
[ 4.046664] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 4.049998] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 4.053330] [<c1ff4e26>] utsname_sysctl_init+0xd/0x11
[ 4.056665] [<c1001074>] do_one_initcall+0x6a/0x177
[ 4.059998] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.063331] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.066664] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.069999] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 4.073331] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 4.076665] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 4.079997] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 4.083332] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 4.086664] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 4.089998] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 4.093331] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 4.096665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 4.099997] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 4.103331] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 4.106664] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 4.109998] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 4.113331] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 4.116664] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 4.119997] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 4.123332] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 4.126668] sysctl table check failed: /kernel/domainname .1.8 No proc_handler
[ 4.136664] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 4.139995] Call Trace:
[ 4.142419] [<c19fa80e>] ? printk+0x14/0x16
[ 4.143331] [<c105bbc0>] set_fail+0x38/0x45
[ 4.146664] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 4.149999] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 4.153331] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 4.156665] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 4.159997] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 4.163331] [<c1ff4e19>] ? utsname_sysctl_init+0x0/0x11
[ 4.166664] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 4.169997] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 4.173330] [<c1ff4e26>] utsname_sysctl_init+0xd/0x11
[ 4.176664] [<c1001074>] do_one_initcall+0x6a/0x177
[ 4.179998] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.183331] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.186664] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 4.189999] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 4.193330] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 4.196664] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 4.199997] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 4.203332] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 4.206664] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 4.209998] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 4.213330] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 4.216665] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 4.219997] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 4.223331] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 4.226664] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 4.229998] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 4.233330] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 4.236664] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 4.239997] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 4.243332] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 4.246664] initcall utsname_sysctl_init+0x0/0x11 returned 0 after 585936 usecs
[ 4.249997] calling init_lstats_procfs+0x0/0x1f @ 1
[ 4.253334] initcall init_lstats_procfs+0x0/0x1f returned 0 after 0 usecs
[ 4.256664] calling ftrace_nodyn_init+0x0/0x11 @ 1
[ 4.259999] initcall ftrace_nodyn_init+0x0/0x11 returned 0 after 0 usecs
[ 4.263330] calling init_events+0x0/0x5a @ 1
[ 4.266669] initcall init_events+0x0/0x5a returned 0 after 0 usecs
[ 4.269998] calling init_sched_switch_trace+0x0/0xf @ 1
[ 4.273333] Testing tracer sched_switch: PASSED
[ 4.380616] initcall init_sched_switch_trace+0x0/0xf returned 0 after 104166 usecs
[ 4.383330] calling init_function_trace+0x0/0xf @ 1
[ 4.386663] Testing tracer function: PASSED
[ 4.500791] initcall init_function_trace+0x0/0xf returned 0 after 110676 usecs
[ 4.503330] calling init_wakeup_tracer+0x0/0x1d @ 1
[ 4.506663] Testing tracer wakeup: PASSED
[ 4.717243] Testing tracer wakeup_rt: PASSED
[ 4.927238] initcall init_wakeup_tracer+0x0/0x1d returned 0 after 410155 usecs
[ 4.929997] calling stack_trace_init+0x0/0x5b @ 1
[ 4.933340] initcall stack_trace_init+0x0/0x5b returned 0 after 0 usecs
[ 4.936663] calling init_blk_tracer+0x0/0x4b @ 1
[ 4.939997] initcall init_blk_tracer+0x0/0x4b returned 0 after 0 usecs
[ 4.943330] calling init_ksym_trace+0x0/0x47 @ 1
[ 4.946666] Testing tracer ksym_tracer: PASSED
[ 4.970588] initcall init_ksym_trace+0x0/0x47 returned 0 after 22786 usecs
[ 4.973329] calling perf_counter_sysfs_init+0x0/0x14 @ 1
[ 4.976674] initcall perf_counter_sysfs_init+0x0/0x14 returned 0 after 0 usecs
[ 4.979996] calling init_per_zone_wmark_min+0x0/0x65 @ 1
[ 4.983404] initcall init_per_zone_wmark_min+0x0/0x65 returned 0 after 0 usecs
[ 4.986662] calling pdflush_init+0x0/0x1b @ 1
[ 4.990049] initcall pdflush_init+0x0/0x1b returned 0 after 0 usecs
[ 4.993330] calling kswapd_init+0x0/0x50 @ 1
[ 4.996691] initcall kswapd_init+0x0/0x50 returned 0 after 0 usecs
[ 4.999997] calling init_tmpfs+0x0/0xb9 @ 1
[ 5.003378] initcall init_tmpfs+0x0/0xb9 returned 0 after 0 usecs
[ 5.006663] calling setup_vmstat+0x0/0xa2 @ 1
[ 5.010014] initcall setup_vmstat+0x0/0xa2 returned 0 after 0 usecs
[ 5.013329] calling mm_sysfs_init+0x0/0x22 @ 1
[ 5.016668] initcall mm_sysfs_init+0x0/0x22 returned 0 after 0 usecs
[ 5.019996] calling proc_vmalloc_init+0x0/0x1f @ 1
[ 5.023338] initcall proc_vmalloc_init+0x0/0x1f returned 0 after 0 usecs
[ 5.026662] calling init_emergency_pool+0x0/0x58 @ 1
[ 5.030131] highmem bounce pool size: 64 pages
[ 5.033330] initcall init_emergency_pool+0x0/0x58 returned 0 after 3255 usecs
[ 5.036663] calling hugetlb_init+0x0/0x2f4 @ 1
[ 5.039996] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 5.043342] initcall hugetlb_init+0x0/0x2f4 returned 0 after 3255 usecs
[ 5.046662] calling fasync_init+0x0/0x24 @ 1
[ 5.050000] initcall fasync_init+0x0/0x24 returned 0 after 0 usecs
[ 5.053329] calling proc_filesystems_init+0x0/0x1c @ 1
[ 5.056665] initcall proc_filesystems_init+0x0/0x1c returned 0 after 0 usecs
[ 5.059995] calling dnotify_init+0x0/0x6f @ 1
[ 5.063333] initcall dnotify_init+0x0/0x6f returned 0 after 0 usecs
[ 5.066662] calling inotify_setup+0x0/0x11 @ 1
[ 5.069996] initcall inotify_setup+0x0/0x11 returned 0 after 0 usecs
[ 5.073329] calling inotify_user_setup+0x0/0x9e @ 1
[ 5.076677] initcall inotify_user_setup+0x0/0x9e returned 0 after 0 usecs
[ 5.079996] calling aio_setup+0x0/0x66 @ 1
[ 5.083378] initcall aio_setup+0x0/0x66 returned 0 after 0 usecs
[ 5.086663] calling proc_locks_init+0x0/0x1c @ 1
[ 5.090000] initcall proc_locks_init+0x0/0x1c returned 0 after 0 usecs
[ 5.093329] calling init_mbcache+0x0/0x11 @ 1
[ 5.096663] initcall init_mbcache+0x0/0x11 returned 0 after 0 usecs
[ 5.099995] calling dquot_init+0x0/0xe4 @ 1
[ 5.103328] VFS: Disk quotas dquot_6.5.2
[ 5.106724] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 5.110006] initcall dquot_init+0x0/0xe4 returned 0 after 6510 usecs
[ 5.113329] calling init_v1_quota_format+0x0/0xf @ 1
[ 5.116663] initcall init_v1_quota_format+0x0/0xf returned 0 after 0 usecs
[ 5.119995] calling init_v2_quota_format+0x0/0xf @ 1
[ 5.123330] initcall init_v2_quota_format+0x0/0xf returned 0 after 0 usecs
[ 5.126662] calling proc_cmdline_init+0x0/0x1c @ 1
[ 5.129999] initcall proc_cmdline_init+0x0/0x1c returned 0 after 0 usecs
[ 5.133329] calling proc_cpuinfo_init+0x0/0x1c @ 1
[ 5.136669] initcall proc_cpuinfo_init+0x0/0x1c returned 0 after 0 usecs
[ 5.139996] calling proc_devices_init+0x0/0x1c @ 1
[ 5.143331] initcall proc_devices_init+0x0/0x1c returned 0 after 0 usecs
[ 5.146662] calling proc_interrupts_init+0x0/0x1c @ 1
[ 5.149998] initcall proc_interrupts_init+0x0/0x1c returned 0 after 0 usecs
[ 5.153329] calling proc_loadavg_init+0x0/0x1c @ 1
[ 5.156665] initcall proc_loadavg_init+0x0/0x1c returned 0 after 0 usecs
[ 5.159995] calling proc_meminfo_init+0x0/0x1c @ 1
[ 5.163331] initcall proc_meminfo_init+0x0/0x1c returned 0 after 0 usecs
[ 5.166662] calling proc_stat_init+0x0/0x1c @ 1
[ 5.169998] initcall proc_stat_init+0x0/0x1c returned 0 after 0 usecs
[ 5.173329] calling proc_uptime_init+0x0/0x1c @ 1
[ 5.176665] initcall proc_uptime_init+0x0/0x1c returned 0 after 0 usecs
[ 5.179999] calling proc_version_init+0x0/0x1c @ 1
[ 5.183332] initcall proc_version_init+0x0/0x1c returned 0 after 0 usecs
[ 5.186662] calling proc_softirqs_init+0x0/0x1c @ 1
[ 5.189998] initcall proc_softirqs_init+0x0/0x1c returned 0 after 0 usecs
[ 5.193329] calling proc_kcore_init+0x0/0x40 @ 1
[ 5.196665] initcall proc_kcore_init+0x0/0x40 returned 0 after 0 usecs
[ 5.199995] calling vmcore_init+0x0/0x9b3 @ 1
[ 5.203330] initcall vmcore_init+0x0/0x9b3 returned 0 after 0 usecs
[ 5.206662] calling proc_kmsg_init+0x0/0x1f @ 1
[ 5.209998] initcall proc_kmsg_init+0x0/0x1f returned 0 after 0 usecs
[ 5.213329] calling configfs_init+0x0/0xd6 @ 1
[ 5.216676] initcall configfs_init+0x0/0xd6 returned 0 after 0 usecs
[ 5.219996] calling init_devpts_fs+0x0/0x3d @ 1
[ 5.223345] initcall init_devpts_fs+0x0/0x3d returned 0 after 0 usecs
[ 5.226662] calling init_ext3_fs+0x0/0x64 @ 1
[ 5.230002] initcall init_ext3_fs+0x0/0x64 returned 0 after 0 usecs
[ 5.233329] calling init_ext2_fs+0x0/0x64 @ 1
[ 5.236671] initcall init_ext2_fs+0x0/0x64 returned 0 after 0 usecs
[ 5.239996] calling journal_init+0x0/0xb6 @ 1
[ 5.243351] initcall journal_init+0x0/0xb6 returned 0 after 0 usecs
[ 5.246662] calling journal_init+0x0/0x9a @ 1
[ 5.250003] initcall journal_init+0x0/0x9a returned 0 after 0 usecs
[ 5.253329] calling init_ramfs_fs+0x0/0xf @ 1
[ 5.256664] initcall init_ramfs_fs+0x0/0xf returned 0 after 0 usecs
[ 5.259996] calling init_hugetlbfs_fs+0x0/0x82 @ 1
[ 5.263361] initcall init_hugetlbfs_fs+0x0/0x82 returned 0 after 0 usecs
[ 5.266663] calling init_fat_fs+0x0/0x46 @ 1
[ 5.269998] initcall init_fat_fs+0x0/0x46 returned 0 after 0 usecs
[ 5.273329] calling init_msdos_fs+0x0/0xf @ 1
[ 5.276664] initcall init_msdos_fs+0x0/0xf returned 0 after 0 usecs
[ 5.279995] calling init_nfs_fs+0x0/0x11c @ 1
[ 5.283406] initcall init_nfs_fs+0x0/0x11c returned 0 after 0 usecs
[ 5.286663] calling init_nfsd+0x0/0xca @ 1
[ 5.289994] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 5.293550] initcall init_nfsd+0x0/0xca returned 0 after 3255 usecs
[ 5.296663] calling init_nlm+0x0/0x1c @ 1
[ 5.300035] initcall init_nlm+0x0/0x1c returned 0 after 0 usecs
[ 5.303329] calling init_nls_cp437+0x0/0xf @ 1
[ 5.306663] initcall init_nls_cp437+0x0/0xf returned 0 after 0 usecs
[ 5.310000] calling init_nls_cp737+0x0/0xf @ 1
[ 5.313329] initcall init_nls_cp737+0x0/0xf returned 0 after 0 usecs
[ 5.316663] calling init_nls_cp775+0x0/0xf @ 1
[ 5.319996] initcall init_nls_cp775+0x0/0xf returned 0 after 0 usecs
[ 5.323329] calling init_nls_cp850+0x0/0xf @ 1
[ 5.326663] initcall init_nls_cp850+0x0/0xf returned 0 after 0 usecs
[ 5.329995] calling init_nls_cp852+0x0/0xf @ 1
[ 5.333329] initcall init_nls_cp852+0x0/0xf returned 0 after 0 usecs
[ 5.336662] calling init_nls_cp855+0x0/0xf @ 1
[ 5.339996] initcall init_nls_cp855+0x0/0xf returned 0 after 0 usecs
[ 5.343328] calling init_nls_cp857+0x0/0xf @ 1
[ 5.346662] initcall init_nls_cp857+0x0/0xf returned 0 after 0 usecs
[ 5.349995] calling init_nls_cp861+0x0/0xf @ 1
[ 5.353329] initcall init_nls_cp861+0x0/0xf returned 0 after 0 usecs
[ 5.356662] calling init_nls_cp863+0x0/0xf @ 1
[ 5.359996] initcall init_nls_cp863+0x0/0xf returned 0 after 0 usecs
[ 5.363328] calling init_nls_cp865+0x0/0xf @ 1
[ 5.366662] initcall init_nls_cp865+0x0/0xf returned 0 after 0 usecs
[ 5.369995] calling init_nls_cp869+0x0/0xf @ 1
[ 5.373329] initcall init_nls_cp869+0x0/0xf returned 0 after 0 usecs
[ 5.376662] calling init_nls_cp874+0x0/0xf @ 1
[ 5.379996] initcall init_nls_cp874+0x0/0xf returned 0 after 0 usecs
[ 5.383328] calling init_nls_cp949+0x0/0xf @ 1
[ 5.386662] initcall init_nls_cp949+0x0/0xf returned 0 after 0 usecs
[ 5.389995] calling init_nls_cp950+0x0/0xf @ 1
[ 5.393329] initcall init_nls_cp950+0x0/0xf returned 0 after 0 usecs
[ 5.396662] calling init_nls_cp1250+0x0/0xf @ 1
[ 5.399996] initcall init_nls_cp1250+0x0/0xf returned 0 after 0 usecs
[ 5.403328] calling init_nls_ascii+0x0/0xf @ 1
[ 5.406662] initcall init_nls_ascii+0x0/0xf returned 0 after 0 usecs
[ 5.409995] calling init_nls_iso8859_2+0x0/0xf @ 1
[ 5.413329] initcall init_nls_iso8859_2+0x0/0xf returned 0 after 0 usecs
[ 5.416662] calling init_nls_iso8859_4+0x0/0xf @ 1
[ 5.419996] initcall init_nls_iso8859_4+0x0/0xf returned 0 after 0 usecs
[ 5.423328] calling init_nls_iso8859_6+0x0/0xf @ 1
[ 5.426662] initcall init_nls_iso8859_6+0x0/0xf returned 0 after 0 usecs
[ 5.429995] calling init_nls_iso8859_7+0x0/0xf @ 1
[ 5.433329] initcall init_nls_iso8859_7+0x0/0xf returned 0 after 0 usecs
[ 5.436664] calling init_nls_cp1255+0x0/0xf @ 1
[ 5.439996] initcall init_nls_cp1255+0x0/0xf returned 0 after 0 usecs
[ 5.443328] calling init_nls_iso8859_9+0x0/0xf @ 1
[ 5.446662] initcall init_nls_iso8859_9+0x0/0xf returned 0 after 0 usecs
[ 5.449995] calling init_nls_iso8859_13+0x0/0xf @ 1
[ 5.453329] initcall init_nls_iso8859_13+0x0/0xf returned 0 after 0 usecs
[ 5.456662] calling init_nls_iso8859_14+0x0/0xf @ 1
[ 5.459996] initcall init_nls_iso8859_14+0x0/0xf returned 0 after 0 usecs
[ 5.463328] calling init_nls_iso8859_15+0x0/0xf @ 1
[ 5.466662] initcall init_nls_iso8859_15+0x0/0xf returned 0 after 0 usecs
[ 5.469995] calling init_nls_koi8_r+0x0/0xf @ 1
[ 5.473329] initcall init_nls_koi8_r+0x0/0xf returned 0 after 0 usecs
[ 5.476662] calling init_nls_utf8+0x0/0x1f @ 1
[ 5.479996] initcall init_nls_utf8+0x0/0x1f returned 0 after 0 usecs
[ 5.483328] calling init_smb_fs+0x0/0x64 @ 1
[ 5.486664] initcall init_smb_fs+0x0/0x64 returned 0 after 0 usecs
[ 5.493330] calling init_ncp_fs+0x0/0x54 @ 1
[ 5.496664] initcall init_ncp_fs+0x0/0x54 returned 0 after 0 usecs
[ 5.503328] calling init_ntfs_fs+0x0/0x1ea @ 1
[ 5.506660] NTFS driver 2.1.29 [Flags: R/W DEBUG].
[ 5.513357] initcall init_ntfs_fs+0x0/0x1ea returned 0 after 6510 usecs
[ 5.519995] calling init_autofs_fs+0x0/0xf @ 1
[ 5.523330] initcall init_autofs_fs+0x0/0xf returned 0 after 0 usecs
[ 5.529995] calling init_jfs_fs+0x0/0x207 @ 1
[ 5.533345] JFS: nTxBlock = 7693, nTxLock = 61550
[ 5.544201] initcall init_jfs_fs+0x0/0x207 returned 0 after 9765 usecs
[ 5.549999] calling init_xfs_fs+0x0/0x9b @ 1
[ 5.553327] SGI XFS with ACLs, security attributes, realtime, no debug enabled
[ 5.562387] initcall init_xfs_fs+0x0/0x9b returned 0 after 6510 usecs
[ 5.566663] calling ocfs2_init+0x0/0x316 @ 1
[ 5.573328] OCFS2 1.5.0
[ 5.575889] initcall ocfs2_init+0x0/0x316 returned 0 after 0 usecs
[ 5.579996] calling ocfs2_stack_glue_init+0x0/0x7c @ 1
[ 5.586716] initcall ocfs2_stack_glue_init+0x0/0x7c returned 0 after 0 usecs
[ 5.593328] calling init_o2nm+0x0/0x92 @ 1
[ 5.596660] OCFS2 Node Manager 1.5.0
[ 5.602357] initcall init_o2nm+0x0/0x92 returned 0 after 3255 usecs
[ 5.606662] calling ipc_init+0x0/0x20 @ 1
[ 5.610000] msgmni has been set to 1683
[ 5.613333] initcall ipc_init+0x0/0x20 returned 0 after 3255 usecs
[ 5.619995] calling ipc_sysctl_init+0x0/0x11 @ 1
[ 5.626672] sysctl table check failed: /kernel/shmmax .1.34 No proc_handler
[ 5.632072] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 5.639993] Call Trace:
[ 5.643331] [<c19fa80e>] ? printk+0x14/0x16
[ 5.646664] [<c105bbc0>] set_fail+0x38/0x45
[ 5.649996] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 5.656662] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 5.659997] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 5.666662] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 5.673329] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 5.676662] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 5.679998] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 5.686662] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 5.693329] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 5.696662] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 5.703329] [<c1001074>] do_one_initcall+0x6a/0x177
[ 5.706665] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.713329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.716662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.723329] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 5.726664] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 5.733329] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 5.739996] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 5.743331] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 5.749996] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 5.753330] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 5.759997] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 5.763328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 5.769995] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 5.773330] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 5.779996] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 5.783329] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 5.789996] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 5.793331] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 5.799996] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 5.803330] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 5.810002] sysctl table check failed: /kernel/shmall .1.41 No proc_handler
[ 5.815144] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 5.823327] Call Trace:
[ 5.823328] [<c19fa80e>] ? printk+0x14/0x16
[ 5.829996] [<c105bbc0>] set_fail+0x38/0x45
[ 5.833329] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 5.839996] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 5.843329] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 5.849996] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 5.856662] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 5.859995] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 5.863328] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 5.869995] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 5.873329] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 5.879995] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 5.883328] [<c1001074>] do_one_initcall+0x6a/0x177
[ 5.889996] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.896662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.899996] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 5.906662] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 5.909995] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 5.916662] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 5.919995] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 5.926662] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 5.933329] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 5.936664] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 5.943329] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 5.946662] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 5.949995] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 5.956662] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 5.963329] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 5.966662] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 5.973329] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 5.976662] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 5.979995] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 5.986662] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 5.990000] sysctl table check failed: /kernel/shmmni .1.45 No proc_handler
[ 5.996660] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.006660] Call Trace:
[ 6.006661] [<c19fa80e>] ? printk+0x14/0x16
[ 6.013329] [<c105bbc0>] set_fail+0x38/0x45
[ 6.016662] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.019995] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.026662] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.033329] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.036662] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.043329] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.046662] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.053329] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.056661] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.063328] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.066661] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.073329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.076662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.083329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.086662] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 6.093328] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 6.096662] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 6.103329] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 6.109995] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 6.113328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.119996] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 6.123328] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 6.129995] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.133328] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 6.139995] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 6.143328] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 6.149995] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 6.153329] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 6.159995] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 6.163328] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 6.169995] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 6.173333] sysctl table check failed: /kernel/msgmax .1.35 No proc_handler
[ 6.179994] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.186659] Call Trace:
[ 6.189083] [<c19fa80e>] ? printk+0x14/0x16
[ 6.193331] [<c105bbc0>] set_fail+0x38/0x45
[ 6.199995] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.203328] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.209995] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.213328] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.219995] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.226662] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.229994] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.233328] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.239995] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.246661] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.249994] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.253329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.259995] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.266662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.269995] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 6.276662] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 6.279995] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 6.286662] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 6.289995] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 6.296662] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.303329] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 6.306662] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 6.313328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.316661] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 6.323328] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 6.326662] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 6.333328] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 6.336666] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 6.339996] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 6.346662] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 6.349996] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 6.356667] sysctl table check failed: /kernel/msgmni .1.42 No proc_handler
[ 6.363326] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.369993] Call Trace:
[ 6.373328] [<c19fa80e>] ? printk+0x14/0x16
[ 6.376662] [<c105bbc0>] set_fail+0x38/0x45
[ 6.379996] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.386662] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.389995] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.396662] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.403329] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.406662] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.413328] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.416662] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.423328] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.426661] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.433328] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.436662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.443329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.446662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.453331] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 6.456662] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 6.463329] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 6.469995] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 6.473329] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 6.479997] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.483329] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 6.489995] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 6.493328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.499995] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 6.503329] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 6.509995] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 6.513328] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 6.519995] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 6.523329] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 6.529995] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 6.533329] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 6.540000] sysctl table check failed: /kernel/msgmnb .1.36 No proc_handler
[ 6.546659] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.553326] Call Trace:
[ 6.556661] [<c19fa80e>] ? printk+0x14/0x16
[ 6.559995] [<c105bbc0>] set_fail+0x38/0x45
[ 6.563329] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.569995] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.573328] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.579995] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.586662] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.589995] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.593328] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.599995] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.606662] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.609995] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.616661] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.619995] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.626662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.629995] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.636662] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 6.639995] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 6.646662] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 6.653328] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 6.656662] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 6.663328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.666662] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 6.673328] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 6.676661] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.683328] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 6.686662] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 6.693328] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 6.696661] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 6.703328] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 6.706662] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 6.713330] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 6.716662] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 6.723333] sysctl table check failed: /kernel/sem .1.43 No proc_handler
[ 6.729994] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.736659] Call Trace:
[ 6.736660] [<c19fa80e>] ? printk+0x14/0x16
[ 6.743328] [<c105bbc0>] set_fail+0x38/0x45
[ 6.746662] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.749995] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.756662] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.763328] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.766662] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.773328] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.776661] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.783328] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.786661] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.793328] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.796661] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.803329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.806662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.813328] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.816662] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 6.823328] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 6.826662] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 6.833328] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 6.839995] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 6.843328] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.849995] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 6.853328] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 6.859994] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 6.863328] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 6.869995] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 6.873328] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 6.879995] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 6.883328] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 6.889995] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 6.893328] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 6.899995] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 6.903334] sysctl table check failed: /kernel/auto_msgmni No proc_handler
[ 6.909993] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 6.916659] Call Trace:
[ 6.919994] [<c19fa80e>] ? printk+0x14/0x16
[ 6.923328] [<c105bbc0>] set_fail+0x38/0x45
[ 6.929995] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 6.933328] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 6.939995] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 6.946661] [<c1ffc6a6>] ? ipc_init_proc_interface+0x8a/0x9f
[ 6.949995] [<c105e4f8>] ? jiffies_read+0x8/0x14
[ 6.956661] [<c105cfc0>] ? ktime_get+0x68/0xce
[ 6.959994] [<c1ffc745>] ? ipc_sysctl_init+0x0/0x11
[ 6.963328] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 6.969997] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 6.976661] [<c1ffc752>] ipc_sysctl_init+0xd/0x11
[ 6.979994] [<c1001074>] do_one_initcall+0x6a/0x177
[ 6.986662] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.989995] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.996661] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 6.999995] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 7.006661] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 7.009995] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 7.016661] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 7.023328] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 7.026661] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.033328] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 7.036661] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 7.043327] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.046661] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 7.053328] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 7.056661] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 7.063328] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 7.066661] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 7.073328] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 7.076661] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 7.079995] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 7.086661] initcall ipc_sysctl_init+0x0/0x11 returned 0 after 1425779 usecs
[ 7.093327] calling init_mqueue_fs+0x0/0xa3 @ 1
[ 7.099941] sysctl table check failed: /fs/mqueue/queues_max No proc_handler
[ 7.103327] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 7.106658] Call Trace:
[ 7.109085] [<c19fa80e>] ? printk+0x14/0x16
[ 7.109996] [<c105bbc0>] set_fail+0x38/0x45
[ 7.113328] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 7.116661] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.119994] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.123328] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 7.126660] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.129993] [<c105840a>] ? up_write+0x1b/0x30
[ 7.133327] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.136660] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 7.139993] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 7.143329] [<c12a0a06>] mq_register_sysctl_table+0x12/0x14
[ 7.146660] [<c1ffc78a>] init_mqueue_fs+0x34/0xa3
[ 7.149993] [<c1001074>] do_one_initcall+0x6a/0x177
[ 7.153329] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.156660] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.159994] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.163330] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 7.166661] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 7.169994] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 7.173327] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 7.176662] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 7.179995] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.183328] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 7.186661] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 7.189993] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.193327] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 7.196661] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 7.199994] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 7.203327] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 7.206660] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 7.209995] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 7.213327] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 7.216661] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 7.219998] sysctl table check failed: /fs/mqueue/msg_max No proc_handler
[ 7.226659] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 7.229992] Call Trace:
[ 7.233326] [<c19fa80e>] ? printk+0x14/0x16
[ 7.236661] [<c105bbc0>] set_fail+0x38/0x45
[ 7.239994] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 7.243327] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.246660] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.249994] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 7.253327] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.256660] [<c105840a>] ? up_write+0x1b/0x30
[ 7.259993] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.263327] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 7.266660] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 7.269994] [<c12a0a06>] mq_register_sysctl_table+0x12/0x14
[ 7.273326] [<c1ffc78a>] init_mqueue_fs+0x34/0xa3
[ 7.276660] [<c1001074>] do_one_initcall+0x6a/0x177
[ 7.279994] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.283327] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.286660] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.289994] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 7.293329] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 7.296661] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 7.299993] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 7.303327] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 7.306660] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.309994] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 7.313327] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 7.316660] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.319993] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 7.323327] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 7.326660] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 7.329994] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 7.333327] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 7.336661] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 7.339993] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 7.343327] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 7.346668] sysctl table check failed: /fs/mqueue/msgsize_max No proc_handler
[ 7.354968] Pid: 1, comm: swapper Tainted: G W 2.6.31-rc6-tip #4534
[ 7.356658] Call Trace:
[ 7.359994] [<c19fa80e>] ? printk+0x14/0x16
[ 7.363328] [<c105bbc0>] set_fail+0x38/0x45
[ 7.366661] [<c105bff2>] sysctl_check_table+0x425/0x490
[ 7.369994] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.373327] [<c105c008>] sysctl_check_table+0x43b/0x490
[ 7.376661] [<c104331f>] __register_sysctl_paths+0xb6/0x230
[ 7.379994] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.383327] [<c105840a>] ? up_write+0x1b/0x30
[ 7.386660] [<c1ffc756>] ? init_mqueue_fs+0x0/0xa3
[ 7.389994] [<c10434bc>] register_sysctl_paths+0x23/0x25
[ 7.393327] [<c10434d2>] register_sysctl_table+0x14/0x16
[ 7.396661] [<c12a0a06>] mq_register_sysctl_table+0x12/0x14
[ 7.399994] [<c1ffc78a>] init_mqueue_fs+0x34/0xa3
[ 7.403327] [<c1001074>] do_one_initcall+0x6a/0x177
[ 7.406661] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.409994] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.413328] [<c1066498>] ? __lock_acquire+0xbde/0xbed
[ 7.416661] [<c1064d61>] ? mark_held_locks+0x47/0x5f
[ 7.419994] [<c10b3070>] ? kmem_cache_free+0x9b/0xcf
[ 7.423328] [<c1064fdf>] ? trace_hardirqs_on_caller+0x10b/0x133
[ 7.426661] [<c1065012>] ? trace_hardirqs_on+0xb/0xd
[ 7.429994] [<c12e4870>] ? ida_get_new_above+0x158/0x172
[ 7.433327] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.436661] [<c12ed8c5>] ? _raw_spin_unlock+0x92/0x98
[ 7.439994] [<c19fccd3>] ? _spin_unlock+0x22/0x25
[ 7.443327] [<c10fd27d>] ? proc_register+0x14b/0x15c
[ 7.446660] [<c10fd3a6>] ? create_proc_entry+0x7c/0x90
[ 7.449994] [<c1071412>] ? register_irq_proc+0x91/0xad
[ 7.453327] [<c107138f>] ? register_irq_proc+0xe/0xad
[ 7.456660] [<c106f180>] ? irq_to_desc+0x8/0x21
[ 7.459994] [<c1071486>] ? init_irq_proc+0x58/0x65
[ 7.463327] [<c1fe2665>] kernel_init+0x170/0x1c1
[ 7.466660] [<c1fe24f5>] ? kernel_init+0x0/0x1c1
[ 7.469994] [<c1004227>] kernel_thread_helper+0x7/0x10
[ 7.473335] initcall init_mqueue_fs+0x0/0xa3 returned 0 after 367838 usecs
[ 7.479994] calling key_proc_init+0x0/0x2c @ 1
[ 7.483330] initcall key_proc_init+0x0/0x2c returned 0 after 0 usecs
[ 7.489992] calling crypto_wq_init+0x0/0x2f @ 1
[ 7.496296] initcall crypto_wq_init+0x0/0x2f returned 0 after 0 usecs
[ 7.499993] calling crypto_algapi_init+0x0/0xc @ 1
[ 7.506683] initcall crypto_algapi_init+0x0/0xc returned 0 after 0 usecs
[ 7.513326] calling chainiv_module_init+0x0/0xf @ 1
[ 7.516661] initcall chainiv_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.523326] calling eseqiv_module_init+0x0/0xf @ 1
[ 7.529993] initcall eseqiv_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.536661] calling seqiv_module_init+0x0/0xf @ 1
[ 7.539993] initcall seqiv_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.546659] calling hmac_module_init+0x0/0xf @ 1
[ 7.553327] initcall hmac_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.556659] calling crypto_xcbc_module_init+0x0/0xf @ 1
[ 7.563327] initcall crypto_xcbc_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.569993] calling crypto_null_mod_init+0x0/0x69 @ 1
[ 7.577511] alg: No test for cipher_null (cipher_null-generic)
[ 7.583350] alg: No test for ecb(cipher_null) (ecb-cipher_null)
[ 7.586667] alg: No test for digest_null (digest_null-generic)
[ 7.595040] alg: No test for compress_null (compress_null-generic)
[ 7.596662] initcall crypto_null_mod_init+0x0/0x69 returned 0 after 19531 usecs
[ 7.603327] calling md4_mod_init+0x0/0xf @ 1
[ 7.609453] initcall md4_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.613334] calling md5_mod_init+0x0/0xf @ 1
[ 7.620013] initcall md5_mod_init+0x0/0xf returned 0 after 3255 usecs
[ 7.623326] calling rmd128_mod_init+0x0/0xf @ 1
[ 7.630967] initcall rmd128_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.636659] calling rmd256_mod_init+0x0/0xf @ 1
[ 7.641975] initcall rmd256_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.646660] calling sha1_generic_mod_init+0x0/0xf @ 1
[ 7.653502] initcall sha1_generic_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.659993] calling sha256_generic_mod_init+0x0/0x33 @ 1
[ 7.665806] cryptomgr_test used greatest stack depth: 6376 bytes left
[ 7.665806] initcall sha256_generic_mod_init+0x0/0x33 returned 0 after 3255 usecs
[ 7.673329] calling wp512_mod_init+0x0/0x52 @ 1
[ 7.680936] initcall wp512_mod_init+0x0/0x52 returned 0 after 0 usecs
[ 7.686666] calling tgr192_mod_init+0x0/0x52 @ 1
[ 7.692368] initcall tgr192_mod_init+0x0/0x52 returned 0 after 0 usecs
[ 7.696660] calling crypto_ecb_module_init+0x0/0xf @ 1
[ 7.703327] initcall crypto_ecb_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.709992] calling crypto_cbc_module_init+0x0/0xf @ 1
[ 7.713326] initcall crypto_cbc_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.723326] calling crypto_pcbc_module_init+0x0/0xf @ 1
[ 7.726660] initcall crypto_pcbc_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.733325] calling crypto_cts_module_init+0x0/0xf @ 1
[ 7.739993] initcall crypto_cts_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.746659] calling crypto_ctr_module_init+0x0/0x35 @ 1
[ 7.753327] initcall crypto_ctr_module_init+0x0/0x35 returned 0 after 0 usecs
[ 7.759992] calling crypto_gcm_module_init+0x0/0x4f @ 1
[ 7.763327] initcall crypto_gcm_module_init+0x0/0x4f returned 0 after 0 usecs
[ 7.769992] calling crypto_ccm_module_init+0x0/0x4f @ 1
[ 7.776660] initcall crypto_ccm_module_init+0x0/0x4f returned 0 after 0 usecs
[ 7.783325] calling des_generic_mod_init+0x0/0x33 @ 1
[ 7.790433] initcall des_generic_mod_init+0x0/0x33 returned 0 after 0 usecs
[ 7.796659] calling fcrypt_mod_init+0x0/0xf @ 1
[ 7.802106] alg: No test for fcrypt (fcrypt-generic)
[ 7.803329] initcall fcrypt_mod_init+0x0/0xf returned 0 after 3255 usecs
[ 7.809993] calling blowfish_mod_init+0x0/0xf @ 1
[ 7.815153] initcall blowfish_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.819992] calling serpent_mod_init+0x0/0x33 @ 1
[ 7.827175] initcall serpent_mod_init+0x0/0x33 returned 0 after 0 usecs
[ 7.833326] calling aes_init+0x0/0xf @ 1
[ 7.837895] initcall aes_init+0x0/0xf returned 0 after 0 usecs
[ 7.843326] calling cast6_mod_init+0x0/0xf @ 1
[ 7.848235] initcall cast6_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.853326] calling arc4_init+0x0/0xf @ 1
[ 7.858661] initcall arc4_init+0x0/0xf returned 0 after 0 usecs
[ 7.863326] calling tea_mod_init+0x0/0x52 @ 1
[ 7.869019] initcall tea_mod_init+0x0/0x52 returned 0 after 0 usecs
[ 7.873326] calling khazad_mod_init+0x0/0xf @ 1
[ 7.880106] initcall khazad_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.883326] calling anubis_mod_init+0x0/0xf @ 1
[ 7.891140] initcall anubis_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.896660] calling salsa20_generic_mod_init+0x0/0xf @ 1
[ 7.902994] initcall salsa20_generic_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.909993] calling deflate_mod_init+0x0/0xf @ 1
[ 7.914870] initcall deflate_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.919993] calling zlib_mod_init+0x0/0xf @ 1
[ 7.926094] initcall zlib_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.929996] calling michael_mic_init+0x0/0xf @ 1
[ 7.937339] initcall michael_mic_init+0x0/0xf returned 0 after 0 usecs
[ 7.943326] calling crc32c_mod_init+0x0/0xf @ 1
[ 7.948430] initcall crc32c_mod_init+0x0/0xf returned 0 after 0 usecs
[ 7.953326] calling crypto_authenc_module_init+0x0/0xf @ 1
[ 7.959993] initcall crypto_authenc_module_init+0x0/0xf returned 0 after 0 usecs
[ 7.966659] calling krng_mod_init+0x0/0xf @ 1
[ 7.972178] alg: No test for stdrng (krng)
[ 7.973328] initcall krng_mod_init+0x0/0xf returned 0 after 3255 usecs
[ 7.979992] calling prng_mod_init+0x0/0x24 @ 1
[ 7.987262] alg: No test for stdrng (ansi_cprng)
[ 7.989995] initcall prng_mod_init+0x0/0x24 returned 0 after 3255 usecs
[ 7.996659] calling proc_genhd_init+0x0/0x31 @ 1
[ 8.000000] initcall proc_genhd_init+0x0/0x31 returned 0 after 0 usecs
[ 8.006659] calling bsg_init+0x0/0x10d @ 1
[ 8.013335] device class 'bsg': registering
[ 8.018021] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 8.023326] initcall bsg_init+0x0/0x10d returned 0 after 9765 usecs
[ 8.029992] calling noop_init+0x0/0x11 @ 1
[ 8.033325] io scheduler noop registered
[ 8.036658] initcall noop_init+0x0/0x11 returned 0 after 3255 usecs
[ 8.043325] calling as_init+0x0/0x11 @ 1
[ 8.046658] io scheduler anticipatory registered
[ 8.053325] initcall as_init+0x0/0x11 returned 0 after 6510 usecs
[ 8.059992] calling deadline_init+0x0/0x11 @ 1
[ 8.063324] io scheduler deadline registered (default)
[ 8.069992] initcall deadline_init+0x0/0x11 returned 0 after 6510 usecs
[ 8.076658] calling cfq_init+0x0/0x89 @ 1
[ 8.079996] io scheduler cfq registered
[ 8.083325] initcall cfq_init+0x0/0x89 returned 0 after 3255 usecs
[ 8.089992] calling libcrc32c_mod_init+0x0/0x29 @ 1
[ 8.093328] initcall libcrc32c_mod_init+0x0/0x29 returned 0 after 0 usecs
[ 8.099992] calling percpu_counter_startup+0x0/0x28 @ 1
[ 8.106659] initcall percpu_counter_startup+0x0/0x28 returned 0 after 0 usecs
[ 8.113326] calling bt8xxgpio_init+0x0/0x1b @ 1
[ 8.116659] bus: 'pci': add driver bt8xxgpio
[ 8.123771] initcall bt8xxgpio_init+0x0/0x1b returned 0 after 6510 usecs
[ 8.129994] calling pci_init+0x0/0x31 @ 1
[ 8.133354] initcall pci_init+0x0/0x31 returned 0 after 0 usecs
[ 8.139992] calling pci_proc_init+0x0/0x5b @ 1
[ 8.143414] initcall pci_proc_init+0x0/0x5b returned 0 after 0 usecs
[ 8.149992] calling pcie_portdrv_init+0x0/0x41 @ 1
[ 8.156083] bus: 'pci_express': registered
[ 8.159992] bus: 'pci': add driver pcieport-driver
[ 8.163333] bus: 'pci': driver_probe_device: matched device 0000:00:0b.0 with driver pcieport-driver
[ 8.173324] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0b.0
[ 8.182495] bus: 'pci': driver_probe_device: matched device 0000:00:0c.0 with driver pcieport-driver
[ 8.189994] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0c.0
[ 8.200108] bus: 'pci': driver_probe_device: matched device 0000:00:0d.0 with driver pcieport-driver
[ 8.206658] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0d.0
[ 8.217710] bus: 'pci': driver_probe_device: matched device 0000:00:0e.0 with driver pcieport-driver
[ 8.226658] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0e.0
[ 8.235314] initcall pcie_portdrv_init+0x0/0x41 returned 0 after 78124 usecs
[ 8.239993] calling aer_service_init+0x0/0x1d @ 1
[ 8.246658] bus: 'pci_express': add driver aer
[ 8.251614] initcall aer_service_init+0x0/0x1d returned 0 after 3255 usecs
[ 8.256659] calling aer_inject_init+0x0/0xf @ 1
[ 8.263327] device: 'aer_inject': device_add
[ 8.267838] initcall aer_inject_init+0x0/0xf returned 0 after 3255 usecs
[ 8.273326] calling pci_stub_init+0x0/0x16 @ 1
[ 8.276658] bus: 'pci': add driver pci-stub
[ 8.283179] initcall pci_stub_init+0x0/0x16 returned 0 after 3255 usecs
[ 8.286659] calling platform_lcd_init+0x0/0xf @ 1
[ 8.293326] bus: 'platform': add driver platform-lcd
[ 8.299468] initcall platform_lcd_init+0x0/0xf returned 0 after 3255 usecs
[ 8.303326] calling genericbl_init+0x0/0xf @ 1
[ 8.309991] bus: 'platform': add driver generic-bl
[ 8.315588] initcall genericbl_init+0x0/0xf returned 0 after 3255 usecs
[ 8.319992] calling kb3886_init+0x0/0x35 @ 1
[ 8.323327] initcall kb3886_init+0x0/0x35 returned -19 after 0 usecs
[ 8.329992] calling display_class_init+0x0/0x69 @ 1
[ 8.336669] device class 'display': registering
[ 8.342286] initcall display_class_init+0x0/0x69 returned 0 after 3255 usecs
[ 8.346659] calling arcfb_init+0x0/0x60 @ 1
[ 8.353326] initcall arcfb_init+0x0/0x60 returned -6 after 0 usecs
[ 8.356659] initcall arcfb_init+0x0/0x60 returned with error code -6
[ 8.363325] calling cyber2000fb_init+0x0/0xb2 @ 1
[ 8.369992] bus: 'pci': add driver CyberPro
[ 8.375055] initcall cyber2000fb_init+0x0/0xb2 returned 0 after 3255 usecs
[ 8.379993] calling rivafb_init+0x0/0x187 @ 1
[ 8.383324] rivafb_setup START
[ 8.386658] bus: 'pci': add driver rivafb
[ 8.393351] initcall rivafb_init+0x0/0x187 returned 0 after 9765 usecs
[ 8.396659] calling nvidiafb_init+0x0/0x27e @ 1
[ 8.403324] nvidiafb_setup START
[ 8.406658] bus: 'pci': add driver nvidiafb
[ 8.411806] initcall nvidiafb_init+0x0/0x27e returned 0 after 6510 usecs
[ 8.416659] calling atyfb_init+0x0/0x1b9 @ 1
[ 8.419991] bus: 'pci': add driver atyfb
[ 8.426718] initcall atyfb_init+0x0/0x1b9 returned 0 after 6510 usecs
[ 8.429993] calling aty128fb_init+0x0/0xfc @ 1
[ 8.436658] bus: 'pci': add driver aty128fb
[ 8.441796] initcall aty128fb_init+0x0/0xfc returned 0 after 3255 usecs
[ 8.446662] calling viafb_init+0x0/0x1086 @ 1
[ 8.449991] VIA Graphics Intergration Chipset framebuffer 2.4 initializing
[ 8.456703] device: 'i2c-0': device_add
[ 16.301404] ioremap failed
[ 16.303316] initcall viafb_init+0x0/0x1086 returned -1 after 7669260 usecs
[ 16.309982] initcall viafb_init+0x0/0x1086 returned with error code -1
[ 16.316649] calling kyrofb_init+0x0/0xab @ 1
[ 16.323315] bus: 'pci': add driver kyrofb
[ 16.327770] initcall kyrofb_init+0x0/0xab returned 0 after 3255 usecs
[ 16.333316] calling savagefb_init+0x0/0x62 @ 1
[ 16.336651] bus: 'pci': add driver savagefb
[ 16.342853] initcall savagefb_init+0x0/0x62 returned 0 after 3255 usecs
[ 16.346649] calling lxfb_init+0x0/0xcb @ 1
[ 16.353315] bus: 'pci': add driver lxfb
[ 16.357410] initcall lxfb_init+0x0/0xcb returned 0 after 3255 usecs
[ 16.363315] calling tdfxfb_init+0x0/0xe3 @ 1
[ 16.366648] bus: 'pci': add driver tdfxfb
[ 16.371945] initcall tdfxfb_init+0x0/0xe3 returned 0 after 3255 usecs
[ 16.376650] calling vt8623fb_init+0x0/0x4b @ 1
[ 16.379981] bus: 'pci': add driver vt8623fb
[ 16.387075] initcall vt8623fb_init+0x0/0x4b returned 0 after 6510 usecs
[ 16.393316] calling tridentfb_init+0x0/0x1dc @ 1
[ 16.396648] bus: 'pci': add driver tridentfb
[ 16.402568] initcall tridentfb_init+0x0/0x1dc returned 0 after 3255 usecs
[ 16.406651] calling hecubafb_init+0x0/0xf @ 1
[ 16.413314] bus: 'platform': add driver hecubafb
[ 16.418334] initcall hecubafb_init+0x0/0xf returned 0 after 3255 usecs
[ 16.423315] calling n411_init+0x0/0x7c @ 1
[ 16.426646] no IO addresses supplied
[ 16.429982] initcall n411_init+0x0/0x7c returned -22 after 3255 usecs
[ 16.436649] initcall n411_init+0x0/0x7c returned with error code -22
[ 16.443316] calling sstfb_init+0x0/0x191 @ 1
[ 16.446648] bus: 'pci': add driver sstfb
[ 16.453619] initcall sstfb_init+0x0/0x191 returned 0 after 6510 usecs
[ 16.456649] calling metronomefb_init+0x0/0xf @ 1
[ 16.463314] bus: 'platform': add driver metronomefb
[ 16.469565] initcall metronomefb_init+0x0/0xf returned 0 after 3255 usecs
[ 16.473315] calling carminefb_init+0x0/0x31 @ 1
[ 16.479981] bus: 'pci': add driver carminefb
[ 16.485165] initcall carminefb_init+0x0/0x31 returned 0 after 3255 usecs
[ 16.489982] calling mb862xxfb_init+0x0/0xf @ 1
[ 16.493314] initcall mb862xxfb_init+0x0/0xf returned -19 after 0 usecs
[ 16.499981] calling uvesafb_init+0x0/0x359 @ 1
[ 16.506651] bus: 'platform': add driver uvesafb
[ 16.511853] Registering platform device 'uvesafb.0'. Parent at platform
[ 16.516648] device: 'uvesafb.0': device_add
[ 16.519984] bus: 'platform': add device uvesafb.0
[ 16.527281] bus: 'platform': driver_probe_device: matched device uvesafb.0 with driver uvesafb
[ 16.533314] bus: 'platform': really_probe: probing driver uvesafb with device uvesafb.0
[ 16.543876] uvesafb: failed to execute /sbin/v86d
[ 16.546647] uvesafb: make sure that the v86d helper is installed and executable
[ 16.553315] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[ 16.559981] uvesafb: vbe_init() failed with -22
[ 16.566651] uvesafb: probe of uvesafb.0 failed with error -22
[ 16.569985] initcall uvesafb_init+0x0/0x359 returned 0 after 61848 usecs
[ 16.576650] calling rand_initialize+0x0/0x2a @ 1
[ 16.583350] initcall rand_initialize+0x0/0x2a returned 0 after 0 usecs
[ 16.589982] calling tty_init+0x0/0xd5 @ 1
[ 16.593316] device: 'tty': device_add
[ 16.598191] device: 'console': device_add
[ 16.602177] device: 'tty0': device_add
[ 16.605901] device class 'vc': registering
[ 16.609970] device: 'vcs': device_add
[ 16.613619] device: 'vcsa': device_add
[ 16.617343] device: 'vcs1': device_add
[ 16.621071] device: 'vcsa1': device_add
[ 16.624884] device: 'tty1': device_add
[ 16.628618] device: 'tty2': device_add
[ 16.632337] device: 'tty3': device_add
[ 16.636064] device: 'tty4': device_add
[ 16.639790] device: 'tty5': device_add
[ 16.643527] device: 'tty6': device_add
[ 16.647248] device: 'tty7': device_add
[ 16.650982] device: 'tty8': device_add
[ 16.654701] device: 'tty9': device_add
[ 16.658426] device: 'tty10': device_add
[ 16.662240] device: 'tty11': device_add
[ 16.666054] device: 'tty12': device_add
[ 16.669867] device: 'tty13': device_add
[ 16.673683] device: 'tty14': device_add
[ 16.677495] device: 'tty15': device_add
[ 16.681310] device: 'tty16': device_add
[ 16.685122] device: 'tty17': device_add
[ 16.688939] device: 'tty18': device_add
[ 16.692748] device: 'tty19': device_add
[ 16.696564] device: 'tty20': device_add
[ 16.700380] device: 'tty21': device_add
[ 16.704191] device: 'tty22': device_add
[ 16.708005] device: 'tty23': device_add
[ 16.711818] device: 'tty24': device_add
[ 16.715641] device: 'tty25': device_add
[ 16.719445] device: 'tty26': device_add
[ 16.723258] device: 'tty27': device_add
[ 16.727075] device: 'tty28': device_add
[ 16.730886] device: 'tty29': device_add
[ 16.734702] device: 'tty30': device_add
[ 16.738514] device: 'tty31': device_add
[ 16.742328] device: 'tty32': device_add
[ 16.746140] device: 'tty33': device_add
[ 16.749954] device: 'tty34': device_add
[ 16.753770] device: 'tty35': device_add
[ 16.757582] device: 'tty36': device_add
[ 16.761398] device: 'tty37': device_add
[ 16.765209] device: 'tty38': device_add
[ 16.769023] device: 'tty39': device_add
[ 16.772836] device: 'tty40': device_add
[ 16.776666] device: 'tty41': device_add
[ 16.780483] device: 'tty42': device_add
[ 16.784280] device: 'tty43': device_add
[ 16.788092] device: 'tty44': device_add
[ 16.791906] device: 'tty45': device_add
[ 16.795719] device: 'tty46': device_add
[ 16.799532] device: 'tty47': device_add
[ 16.803359] device: 'tty48': device_add
[ 16.807164] device: 'tty49': device_add
[ 16.810974] device: 'tty50': device_add
[ 16.814790] device: 'tty51': device_add
[ 16.818601] device: 'tty52': device_add
[ 16.822414] device: 'tty53': device_add
[ 16.826227] device: 'tty54': device_add
[ 16.830045] device: 'tty55': device_add
[ 16.833857] device: 'tty56': device_add
[ 16.837670] device: 'tty57': device_add
[ 16.841484] device: 'tty58': device_add
[ 16.845278] device: 'tty59': device_add
[ 16.849113] device: 'tty60': device_add
[ 16.852933] device: 'tty61': device_add
[ 16.856759] device: 'tty62': device_add
[ 16.860555] device: 'tty63': device_add
[ 16.864368] initcall tty_init+0x0/0xd5 returned 0 after 263671 usecs
[ 16.869985] calling pty_init+0x0/0x4ab @ 1
[ 16.873326] device: 'ptyp0': device_add
[ 16.878671] device: 'ptyp1': device_add
[ 16.882479] device: 'ptyp2': device_add
[ 16.886292] device: 'ptyp3': device_add
[ 16.890110] device: 'ptyp4': device_add
[ 16.893922] device: 'ptyp5': device_add
[ 16.897737] device: 'ptyp6': device_add
[ 16.901549] device: 'ptyp7': device_add
[ 16.905363] device: 'ptyp8': device_add
[ 16.909176] device: 'ptyp9': device_add
[ 16.913598] device: 'ptypa': device_add
[ 16.917411] device: 'ptypb': device_add
[ 16.921234] device: 'ptypc': device_add
[ 16.925038] device: 'ptypd': device_add
[ 16.928851] device: 'ptype': device_add
[ 16.932665] device: 'ptypf': device_add
[ 16.936479] device: 'ptyq0': device_add
[ 16.940296] device: 'ptyq1': device_add
[ 16.944108] device: 'ptyq2': device_add
[ 16.947923] device: 'ptyq3': device_add
[ 16.951734] device: 'ptyq4': device_add
[ 16.955547] device: 'ptyq5': device_add
[ 16.959361] device: 'ptyq6': device_add
[ 16.963173] device: 'ptyq7': device_add
[ 16.966988] device: 'ptyq8': device_add
[ 16.970802] device: 'ptyq9': device_add
[ 16.974615] device: 'ptyqa': device_add
[ 16.978430] device: 'ptyqb': device_add
[ 16.982243] device: 'ptyqc': device_add
[ 16.986064] device: 'ptyqd': device_add
[ 16.989869] device: 'ptyqe': device_add
[ 16.993682] device: 'ptyqf': device_add
[ 16.997497] device: 'ptyr0': device_add
[ 17.001314] device: 'ptyr1': device_add
[ 17.005125] device: 'ptyr2': device_add
[ 17.008938] device: 'ptyr3': device_add
[ 17.012751] device: 'ptyr4': device_add
[ 17.016565] device: 'ptyr5': device_add
[ 17.020380] device: 'ptyr6': device_add
[ 17.024193] device: 'ptyr7': device_add
[ 17.028008] device: 'ptyr8': device_add
[ 17.031821] device: 'ptyr9': device_add
[ 17.035635] device: 'ptyra': device_add
[ 17.039448] device: 'ptyrb': device_add
[ 17.043261] device: 'ptyrc': device_add
[ 17.047076] device: 'ptyrd': device_add
[ 17.050897] device: 'ptyre': device_add
[ 17.054704] device: 'ptyrf': device_add
[ 17.058517] device: 'ptys0': device_add
[ 17.062334] device: 'ptys1': device_add
[ 17.066146] device: 'ptys2': device_add
[ 17.069955] device: 'ptys3': device_add
[ 17.073772] device: 'ptys4': device_add
[ 17.077586] device: 'ptys5': device_add
[ 17.081398] device: 'ptys6': device_add
[ 17.085213] device: 'ptys7': device_add
[ 17.089025] device: 'ptys8': device_add
[ 17.092839] device: 'ptys9': device_add
[ 17.096668] device: 'ptysa': device_add
[ 17.100467] device: 'ptysb': device_add
[ 17.104281] device: 'ptysc': device_add
[ 17.108094] device: 'ptysd': device_add
[ 17.111908] device: 'ptyse': device_add
[ 17.115729] device: 'ptysf': device_add
[ 17.119535] device: 'ptyt0': device_add
[ 17.123365] device: 'ptyt1': device_add
[ 17.127162] device: 'ptyt2': device_add
[ 17.130977] device: 'ptyt3': device_add
[ 17.134791] device: 'ptyt4': device_add
[ 17.138605] device: 'ptyt5': device_add
[ 17.142416] device: 'ptyt6': device_add
[ 17.146231] device: 'ptyt7': device_add
[ 17.150048] device: 'ptyt8': device_add
[ 17.153859] device: 'ptyt9': device_add
[ 17.157673] device: 'ptyta': device_add
[ 17.161486] device: 'ptytb': device_add
[ 17.165274] device: 'ptytc': device_add
[ 17.169117] device: 'ptytd': device_add
[ 17.172927] device: 'ptyte': device_add
[ 17.176761] device: 'ptytf': device_add
[ 17.180562] device: 'ptyu0': device_add
[ 17.184372] device: 'ptyu1': device_add
[ 17.188187] device: 'ptyu2': device_add
[ 17.191996] device: 'ptyu3': device_add
[ 17.195809] device: 'ptyu4': device_add
[ 17.199621] device: 'ptyu5': device_add
[ 17.203438] device: 'ptyu6': device_add
[ 17.207250] device: 'ptyu7': device_add
[ 17.211073] device: 'ptyu8': device_add
[ 17.214879] device: 'ptyu9': device_add
[ 17.218689] device: 'ptyua': device_add
[ 17.222504] device: 'ptyub': device_add
[ 17.226317] device: 'ptyuc': device_add
[ 17.230133] device: 'ptyud': device_add
[ 17.233946] device: 'ptyue': device_add
[ 17.237759] device: 'ptyuf': device_add
[ 17.241573] device: 'ptyv0': device_add
[ 17.245395] device: 'ptyv1': device_add
[ 17.249200] device: 'ptyv2': device_add
[ 17.253012] device: 'ptyv3': device_add
[ 17.256830] device: 'ptyv4': device_add
[ 17.260642] device: 'ptyv5': device_add
[ 17.264455] device: 'ptyv6': device_add
[ 17.268268] device: 'ptyv7': device_add
[ 17.272082] device: 'ptyv8': device_add
[ 17.275896] device: 'ptyv9': device_add
[ 17.279708] device: 'ptyva': device_add
[ 17.283525] device: 'ptyvb': device_add
[ 17.287338] device: 'ptyvc': device_add
[ 17.291151] device: 'ptyvd': device_add
[ 17.294966] device: 'ptyve': device_add
[ 17.298778] device: 'ptyvf': device_add
[ 17.302592] device: 'ptyw0': device_add
[ 17.306408] device: 'ptyw1': device_add
[ 17.310228] device: 'ptyw2': device_add
[ 17.314033] device: 'ptyw3': device_add
[ 17.317847] device: 'ptyw4': device_add
[ 17.321661] device: 'ptyw5': device_add
[ 17.325473] device: 'ptyw6': device_add
[ 17.329286] device: 'ptyw7': device_add
[ 17.333100] device: 'ptyw8': device_add
[ 17.336925] device: 'ptyw9': device_add
[ 17.340729] device: 'ptywa': device_add
[ 17.344543] device: 'ptywb': device_add
[ 17.346693] device: 'ptywc': device_add
[ 17.352169] device: 'ptywd': device_add
[ 17.355983] device: 'ptywe': device_add
[ 17.359796] device: 'ptywf': device_add
[ 17.363612] device: 'ptyx0': device_add
[ 17.367428] device: 'ptyx1': device_add
[ 17.371239] device: 'ptyx2': device_add
[ 17.375059] device: 'ptyx3': device_add
[ 17.378866] device: 'ptyx4': device_add
[ 17.382679] device: 'ptyx5': device_add
[ 17.386492] device: 'ptyx6': device_add
[ 17.390308] device: 'ptyx7': device_add
[ 17.394121] device: 'ptyx8': device_add
[ 17.397935] device: 'ptyx9': device_add
[ 17.401749] device: 'ptyxa': device_add
[ 17.405561] device: 'ptyxb': device_add
[ 17.409381] device: 'ptyxc': device_add
[ 17.413188] device: 'ptyxd': device_add
[ 17.417005] device: 'ptyxe': device_add
[ 17.420817] device: 'ptyxf': device_add
[ 17.424630] device: 'ptyy0': device_add
[ 17.428458] device: 'ptyy1': device_add
[ 17.432258] device: 'ptyy2': device_add
[ 17.436072] device: 'ptyy3': device_add
[ 17.439890] device: 'ptyy4': device_add
[ 17.443699] device: 'ptyy5': device_add
[ 17.447512] device: 'ptyy6': device_add
[ 17.451326] device: 'ptyy7': device_add
[ 17.455140] device: 'ptyy8': device_add
[ 17.458952] device: 'ptyy9': device_add
[ 17.462766] device: 'ptyya': device_add
[ 17.466579] device: 'ptyyb': device_add
[ 17.470395] device: 'ptyyc': device_add
[ 17.474208] device: 'ptyyd': device_add
[ 17.478022] device: 'ptyye': device_add
[ 17.481836] device: 'ptyyf': device_add
[ 17.485648] device: 'ptyz0': device_add
[ 17.489465] device: 'ptyz1': device_add
[ 17.493274] device: 'ptyz2': device_add
[ 17.497092] device: 'ptyz3': device_add
[ 17.500905] device: 'ptyz4': device_add
[ 17.504734] device: 'ptyz5': device_add
[ 17.508532] device: 'ptyz6': device_add
[ 17.512344] device: 'ptyz7': device_add
[ 17.516158] device: 'ptyz8': device_add
[ 17.519972] device: 'ptyz9': device_add
[ 17.523787] device: 'ptyza': device_add
[ 17.527600] device: 'ptyzb': device_add
[ 17.531414] device: 'ptyzc': device_add
[ 17.535228] device: 'ptyzd': device_add
[ 17.539042] device: 'ptyze': device_add
[ 17.542855] device: 'ptyzf': device_add
[ 17.546685] device: 'ptya0': device_add
[ 17.550487] device: 'ptya1': device_add
[ 17.554300] device: 'ptya2': device_add
[ 17.558109] device: 'ptya3': device_add
[ 17.561923] device: 'ptya4': device_add
[ 17.565736] device: 'ptya5': device_add
[ 17.569557] device: 'ptya6': device_add
[ 17.573370] device: 'ptya7': device_add
[ 17.577179] device: 'ptya8': device_add
[ 17.580993] device: 'ptya9': device_add
[ 17.584807] device: 'ptyaa': device_add
[ 17.588621] device: 'ptyab': device_add
[ 17.592432] device: 'ptyac': device_add
[ 17.596245] device: 'ptyad': device_add
[ 17.600677] device: 'ptyae': device_add
[ 17.604490] device: 'ptyaf': device_add
[ 17.608304] device: 'ptyb0': device_add
[ 17.612120] device: 'ptyb1': device_add
[ 17.615929] device: 'ptyb2': device_add
[ 17.619743] device: 'ptyb3': device_add
[ 17.623560] device: 'ptyb4': device_add
[ 17.627373] device: 'ptyb5': device_add
[ 17.631186] device: 'ptyb6': device_add
[ 17.635007] device: 'ptyb7': device_add
[ 17.638813] device: 'ptyb8': device_add
[ 17.642626] device: 'ptyb9': device_add
[ 17.646439] device: 'ptyba': device_add
[ 17.650256] device: 'ptybb': device_add
[ 17.654068] device: 'ptybc': device_add
[ 17.657882] device: 'ptybd': device_add
[ 17.661697] device: 'ptybe': device_add
[ 17.665511] device: 'ptybf': device_add
[ 17.669321] device: 'ptyc0': device_add
[ 17.673139] device: 'ptyc1': device_add
[ 17.676951] device: 'ptyc2': device_add
[ 17.680764] device: 'ptyc3': device_add
[ 17.684577] device: 'ptyc4': device_add
[ 17.688392] device: 'ptyc5': device_add
[ 17.692206] device: 'ptyc6': device_add
[ 17.696018] device: 'ptyc7': device_add
[ 17.699840] device: 'ptyc8': device_add
[ 17.703648] device: 'ptyc9': device_add
[ 17.707459] device: 'ptyca': device_add
[ 17.711275] device: 'ptycb': device_add
[ 17.715088] device: 'ptycc': device_add
[ 17.718901] device: 'ptycd': device_add
[ 17.722714] device: 'ptyce': device_add
[ 17.726528] device: 'ptycf': device_add
[ 17.730345] device: 'ptyd0': device_add
[ 17.734158] device: 'ptyd1': device_add
[ 17.737970] device: 'ptyd2': device_add
[ 17.741783] device: 'ptyd3': device_add
[ 17.745597] device: 'ptyd4': device_add
[ 17.749410] device: 'ptyd5': device_add
[ 17.753224] device: 'ptyd6': device_add
[ 17.757040] device: 'ptyd7': device_add
[ 17.760852] device: 'ptyd8': device_add
[ 17.764674] device: 'ptyd9': device_add
[ 17.768480] device: 'ptyda': device_add
[ 17.772293] device: 'ptydb': device_add
[ 17.776107] device: 'ptydc': device_add
[ 17.779921] device: 'ptydd': device_add
[ 17.783736] device: 'ptyde': device_add
[ 17.787548] device: 'ptydf': device_add
[ 17.791363] device: 'ptye0': device_add
[ 17.795183] device: 'ptye1': device_add
[ 17.798990] device: 'ptye2': device_add
[ 17.802802] device: 'ptye3': device_add
[ 17.806616] device: 'ptye4': device_add
[ 17.810431] device: 'ptye5': device_add
[ 17.814245] device: 'ptye6': device_add
[ 17.818058] device: 'ptye7': device_add
[ 17.821872] device: 'ptye8': device_add
[ 17.825685] device: 'ptye9': device_add
[ 17.829506] device: 'ptyea': device_add
[ 17.833327] device: 'ptyeb': device_add
[ 17.837124] device: 'ptyec': device_add
[ 17.840939] device: 'ptyed': device_add
[ 17.844755] device: 'ptyee': device_add
[ 17.848567] device: 'ptyef': device_add
[ 17.852382] device: 'ttyp0': device_add
[ 17.856193] device: 'ttyp1': device_add
[ 17.860018] device: 'ttyp2': device_add
[ 17.863827] device: 'ttyp3': device_add
[ 17.867634] device: 'ttyp4': device_add
[ 17.871446] device: 'ttyp5': device_add
[ 17.875260] device: 'ttyp6': device_add
[ 17.879073] device: 'ttyp7': device_add
[ 17.882887] device: 'ttyp8': device_add
[ 17.886704] device: 'ttyp9': device_add
[ 17.890515] device: 'ttypa': device_add
[ 17.894336] device: 'ttypb': device_add
[ 17.898142] device: 'ttypc': device_add
[ 17.901956] device: 'ttypd': device_add
[ 17.905770] device: 'ttype': device_add
[ 17.909583] device: 'ttypf': device_add
[ 17.913399] device: 'ttyq0': device_add
[ 17.917215] device: 'ttyq1': device_add
[ 17.921028] device: 'ttyq2': device_add
[ 17.924838] device: 'ttyq3': device_add
[ 17.928653] device: 'ttyq4': device_add
[ 17.932464] device: 'ttyq5': device_add
[ 17.936277] device: 'ttyq6': device_add
[ 17.940094] device: 'ttyq7': device_add
[ 17.943906] device: 'ttyq8': device_add
[ 17.947722] device: 'ttyq9': device_add
[ 17.951534] device: 'ttyqa': device_add
[ 17.955348] device: 'ttyqb': device_add
[ 17.959169] device: 'ttyqc': device_add
[ 17.962973] device: 'ttyqd': device_add
[ 17.966790] device: 'ttyqe': device_add
[ 17.970602] device: 'ttyqf': device_add
[ 17.974416] device: 'ttyr0': device_add
[ 17.978234] device: 'ttyr1': device_add
[ 17.982042] device: 'ttyr2': device_add
[ 17.985856] device: 'ttyr3': device_add
[ 17.989669] device: 'ttyr4': device_add
[ 17.993487] device: 'ttyr5': device_add
[ 17.997298] device: 'ttyr6': device_add
[ 18.001113] device: 'ttyr7': device_add
[ 18.004927] device: 'ttyr8': device_add
[ 18.008738] device: 'ttyr9': device_add
[ 18.012553] device: 'ttyra': device_add
[ 18.016364] device: 'ttyrb': device_add
[ 18.020182] device: 'ttyrc': device_add
[ 18.024002] device: 'ttyrd': device_add
[ 18.027809] device: 'ttyre': device_add
[ 18.031622] device: 'ttyrf': device_add
[ 18.035436] device: 'ttys0': device_add
[ 18.039251] device: 'ttys1': device_add
[ 18.043060] device: 'ttys2': device_add
[ 18.046878] device: 'ttys3': device_add
[ 18.050690] device: 'ttys4': device_add
[ 18.054504] device: 'ttys5': device_add
[ 18.058317] device: 'ttys6': device_add
[ 18.062130] device: 'ttys7': device_add
[ 18.065944] device: 'ttys8': device_add
[ 18.069756] device: 'ttys9': device_add
[ 18.073574] device: 'ttysa': device_add
[ 18.077386] device: 'ttysb': device_add
[ 18.081199] device: 'ttysc': device_add
[ 18.085014] device: 'ttysd': device_add
[ 18.088833] device: 'ttyse': device_add
[ 18.092640] device: 'ttysf': device_add
[ 18.096452] device: 'ttyt0': device_add
[ 18.100273] device: 'ttyt1': device_add
[ 18.104082] device: 'ttyt2': device_add
[ 18.107895] device: 'ttyt3': device_add
[ 18.111709] device: 'ttyt4': device_add
[ 18.115522] device: 'ttyt5': device_add
[ 18.119336] device: 'ttyt6': device_add
[ 18.123148] device: 'ttyt7': device_add
[ 18.126966] device: 'ttyt8': device_add
[ 18.130778] device: 'ttyt9': device_add
[ 18.134591] device: 'ttyta': device_add
[ 18.138406] device: 'ttytb': device_add
[ 18.142218] device: 'ttytc': device_add
[ 18.146032] device: 'ttytd': device_add
[ 18.149846] device: 'ttyte': device_add
[ 18.153668] device: 'ttytf': device_add
[ 18.157474] device: 'ttyu0': device_add
[ 18.161291] device: 'ttyu1': device_add
[ 18.165103] device: 'ttyu2': device_add
[ 18.168920] device: 'ttyu3': device_add
[ 18.172729] device: 'ttyu4': device_add
[ 18.176540] device: 'ttyu5': device_add
[ 18.180357] device: 'ttyu6': device_add
[ 18.184170] device: 'ttyu7': device_add
[ 18.187983] device: 'ttyu8': device_add
[ 18.191797] device: 'ttyu9': device_add
[ 18.195610] device: 'ttyua': device_add
[ 18.199424] device: 'ttyub': device_add
[ 18.203236] device: 'ttyuc': device_add
[ 18.207054] device: 'ttyud': device_add
[ 18.210866] device: 'ttyue': device_add
[ 18.214680] device: 'ttyuf': device_add
[ 18.218500] device: 'ttyv0': device_add
[ 18.222308] device: 'ttyv1': device_add
[ 18.226119] device: 'ttyv2': device_add
[ 18.229931] device: 'ttyv3': device_add
[ 18.233749] device: 'ttyv4': device_add
[ 18.237561] device: 'ttyv5': device_add
[ 18.241375] device: 'ttyv6': device_add
[ 18.245189] device: 'ttyv7': device_add
[ 18.249001] device: 'ttyv8': device_add
[ 18.252815] device: 'ttyv9': device_add
[ 18.256628] device: 'ttyva': device_add
[ 18.260445] device: 'ttyvb': device_add
[ 18.264257] device: 'ttyvc': device_add
[ 18.268072] device: 'ttyvd': device_add
[ 18.271884] device: 'ttyve': device_add
[ 18.275699] device: 'ttyvf': device_add
[ 18.279522] device: 'ttyw0': device_add
[ 18.283356] device: 'ttyw1': device_add
[ 18.287798] device: 'ttyw2': device_add
[ 18.291611] device: 'ttyw3': device_add
[ 18.295426] device: 'ttyw4': device_add
[ 18.299239] device: 'ttyw5': device_add
[ 18.303053] device: 'ttyw6': device_add
[ 18.306867] device: 'ttyw7': device_add
[ 18.310681] device: 'ttyw8': device_add
[ 18.314494] device: 'ttyw9': device_add
[ 18.318307] device: 'ttywa': device_add
[ 18.322122] device: 'ttywb': device_add
[ 18.325934] device: 'ttywc': device_add
[ 18.329748] device: 'ttywd': device_add
[ 18.333563] device: 'ttywe': device_add
[ 18.337384] device: 'ttywf': device_add
[ 18.341190] device: 'ttyx0': device_add
[ 18.345006] device: 'ttyx1': device_add
[ 18.346701] device: 'ttyx2': device_add
[ 18.352630] device: 'ttyx3': device_add
[ 18.356443] device: 'ttyx4': device_add
[ 18.360259] device: 'ttyx5': device_add
[ 18.364072] device: 'ttyx6': device_add
[ 18.367886] device: 'ttyx7': device_add
[ 18.371699] device: 'ttyx8': device_add
[ 18.375513] device: 'ttyx9': device_add
[ 18.379325] device: 'ttyxa': device_add
[ 18.383139] device: 'ttyxb': device_add
[ 18.386956] device: 'ttyxc': device_add
[ 18.390769] device: 'ttyxd': device_add
[ 18.394581] device: 'ttyxe': device_add
[ 18.398395] device: 'ttyxf': device_add
[ 18.402212] device: 'ttyy0': device_add
[ 18.406030] device: 'ttyy1': device_add
[ 18.409844] device: 'ttyy2': device_add
[ 18.413667] device: 'ttyy3': device_add
[ 18.417472] device: 'ttyy4': device_add
[ 18.421285] device: 'ttyy5': device_add
[ 18.425100] device: 'ttyy6': device_add
[ 18.428913] device: 'ttyy7': device_add
[ 18.432726] device: 'ttyy8': device_add
[ 18.436540] device: 'ttyy9': device_add
[ 18.440355] device: 'ttyya': device_add
[ 18.444168] device: 'ttyyb': device_add
[ 18.447982] device: 'ttyyc': device_add
[ 18.451795] device: 'ttyyd': device_add
[ 18.455609] device: 'ttyye': device_add
[ 18.459421] device: 'ttyyf': device_add
[ 18.463236] device: 'ttyz0': device_add
[ 18.467055] device: 'ttyz1': device_add
[ 18.470864] device: 'ttyz2': device_add
[ 18.474678] device: 'ttyz3': device_add
[ 18.478499] device: 'ttyz4': device_add
[ 18.482313] device: 'ttyz5': device_add
[ 18.486127] device: 'ttyz6': device_add
[ 18.489940] device: 'ttyz7': device_add
[ 18.493757] device: 'ttyz8': device_add
[ 18.497568] device: 'ttyz9': device_add
[ 18.501382] device: 'ttyza': device_add
[ 18.505196] device: 'ttyzb': device_add
[ 18.509010] device: 'ttyzc': device_add
[ 18.512822] device: 'ttyzd': device_add
[ 18.516665] device: 'ttyze': device_add
[ 18.520478] device: 'ttyzf': device_add
[ 18.524292] device: 'ttya0': device_add
[ 18.528117] device: 'ttya1': device_add
[ 18.531926] device: 'ttya2': device_add
[ 18.535739] device: 'ttya3': device_add
[ 18.539553] device: 'ttya4': device_add
[ 18.543376] device: 'ttya5': device_add
[ 18.547191] device: 'ttya6': device_add
[ 18.551004] device: 'ttya7': device_add
[ 18.554818] device: 'ttya8': device_add
[ 18.558605] device: 'ttya9': device_add
[ 18.562466] device: 'ttyaa': device_add
[ 18.566279] device: 'ttyab': device_add
[ 18.570096] device: 'ttyac': device_add
[ 18.573919] device: 'ttyad': device_add
[ 18.577736] device: 'ttyae': device_add
[ 18.581550] device: 'ttyaf': device_add
[ 18.585363] device: 'ttyb0': device_add
[ 18.589186] device: 'ttyb1': device_add
[ 18.592996] device: 'ttyb2': device_add
[ 18.596812] device: 'ttyb3': device_add
[ 18.600626] device: 'ttyb4': device_add
[ 18.604439] device: 'ttyb5': device_add
[ 18.608261] device: 'ttyb6': device_add
[ 18.612075] device: 'ttyb7': device_add
[ 18.615887] device: 'ttyb8': device_add
[ 18.619701] device: 'ttyb9': device_add
[ 18.623517] device: 'ttyba': device_add
[ 18.627330] device: 'ttybb': device_add
[ 18.631144] device: 'ttybc': device_add
[ 18.634959] device: 'ttybd': device_add
[ 18.638772] device: 'ttybe': device_add
[ 18.642585] device: 'ttybf': device_add
[ 18.646409] device: 'ttyc0': device_add
[ 18.650232] device: 'ttyc1': device_add
[ 18.654042] device: 'ttyc2': device_add
[ 18.657856] device: 'ttyc3': device_add
[ 18.661670] device: 'ttyc4': device_add
[ 18.665483] device: 'ttyc5': device_add
[ 18.669297] device: 'ttyc6': device_add
[ 18.673119] device: 'ttyc7': device_add
[ 18.676935] device: 'ttyc8': device_add
[ 18.680747] device: 'ttyc9': device_add
[ 18.684561] device: 'ttyca': device_add
[ 18.688375] device: 'ttycb': device_add
[ 18.692189] device: 'ttycc': device_add
[ 18.696001] device: 'ttycd': device_add
[ 18.699815] device: 'ttyce': device_add
[ 18.703630] device: 'ttycf': device_add
[ 18.707444] device: 'ttyd0': device_add
[ 18.711269] device: 'ttyd1': device_add
[ 18.715088] device: 'ttyd2': device_add
[ 18.718901] device: 'ttyd3': device_add
[ 18.722714] device: 'ttyd4': device_add
[ 18.726529] device: 'ttyd5': device_add
[ 18.730344] device: 'ttyd6': device_add
[ 18.734157] device: 'ttyd7': device_add
[ 18.737980] device: 'ttyd8': device_add
[ 18.741793] device: 'ttyd9': device_add
[ 18.745606] device: 'ttyda': device_add
[ 18.749420] device: 'ttydb': device_add
[ 18.753242] device: 'ttydc': device_add
[ 18.757068] device: 'ttydd': device_add
[ 18.760888] device: 'ttyde': device_add
[ 18.764702] device: 'ttydf': device_add
[ 18.768528] device: 'ttye0': device_add
[ 18.772349] device: 'ttye1': device_add
[ 18.776167] device: 'ttye2': device_add
[ 18.779997] device: 'ttye3': device_add
[ 18.783813] device: 'ttye4': device_add
[ 18.787628] device: 'ttye5': device_add
[ 18.791450] device: 'ttye6': device_add
[ 18.795271] device: 'ttye7': device_add
[ 18.799084] device: 'ttye8': device_add
[ 18.802906] device: 'ttye9': device_add
[ 18.806732] device: 'ttyea': device_add
[ 18.810553] device: 'ttyeb': device_add
[ 18.814367] device: 'ttyec': device_add
[ 18.818189] device: 'ttyed': device_add
[ 18.822012] device: 'ttyee': device_add
[ 18.825832] device: 'ttyef': device_add
[ 18.829655] device: 'ptmx': device_add
[ 18.833436] initcall pty_init+0x0/0x4ab returned 0 after 1914060 usecs
[ 18.836648] calling sysrq_init+0x0/0x1f @ 1
[ 18.843323] initcall sysrq_init+0x0/0x1f returned 0 after 0 usecs
[ 18.849980] calling init+0x0/0xf @ 1
[ 18.853313] bus: 'virtio': add driver virtio_console
[ 18.858803] initcall init+0x0/0xf returned 0 after 3255 usecs
[ 18.863314] calling nvram_init+0x0/0x70 @ 1
[ 18.866647] device: 'nvram': device_add
[ 18.872600] Non-volatile memory driver v1.3
[ 18.876647] initcall nvram_init+0x0/0x70 returned 0 after 9765 usecs
[ 18.879979] calling timeriomem_rng_init+0x0/0xf @ 1
[ 18.886647] bus: 'platform': add driver timeriomem_rng
[ 18.893126] initcall timeriomem_rng_init+0x0/0xf returned 0 after 3255 usecs
[ 18.899980] calling mod_init+0x0/0x9f @ 1
[ 18.903347] initcall mod_init+0x0/0x9f returned -19 after 0 usecs
[ 18.909980] calling mod_init+0x0/0x93 @ 1
[ 18.913339] initcall mod_init+0x0/0x93 returned -19 after 0 usecs
[ 18.919980] calling mod_init+0x0/0x41 @ 1
[ 18.923313] initcall mod_init+0x0/0x41 returned -19 after 0 usecs
[ 18.929980] calling init+0x0/0x81 @ 1
[ 18.933312] bus: 'virtio': add driver virtio_rng
[ 18.938887] initcall init+0x0/0x81 returned 0 after 3255 usecs
[ 18.943314] calling nsc_gpio_init+0x0/0x11 @ 1
[ 18.946644] nsc_gpio initializing
[ 18.949980] initcall nsc_gpio_init+0x0/0x11 returned 0 after 3255 usecs
[ 18.956646] calling tlclk_init+0x0/0x1cb @ 1
[ 18.963317] telclk_interrup = 0xf non-mcpbl0010 hw.
[ 18.966650] initcall tlclk_init+0x0/0x1cb returned -6 after 3255 usecs
[ 18.973313] initcall tlclk_init+0x0/0x1cb returned with error code -6
[ 18.979982] calling agp_init+0x0/0x21 @ 1
[ 18.983312] Linux agpgart interface v0.103
[ 18.986646] initcall agp_init+0x0/0x21 returned 0 after 3255 usecs
[ 18.993313] calling agp_ati_init+0x0/0x24 @ 1
[ 18.996647] bus: 'pci': add driver agpgart-ati
[ 19.004424] initcall agp_ati_init+0x0/0x24 returned 0 after 6510 usecs
[ 19.009980] calling agp_amdk7_init+0x0/0x24 @ 1
[ 19.013312] bus: 'pci': add driver agpgart-amdk7
[ 19.020630] initcall agp_amdk7_init+0x0/0x24 returned 0 after 6510 usecs
[ 19.026647] calling agp_amd64_init+0x0/0xaf @ 1
[ 19.029979] bus: 'pci': add driver agpgart-amd64
[ 19.036490] initcall agp_amd64_init+0x0/0xaf returned -19 after 3255 usecs
[ 19.043313] calling agp_efficeon_init+0x0/0x39 @ 1
[ 19.046646] bus: 'pci': add driver agpgart-efficeon
[ 19.053131] initcall agp_efficeon_init+0x0/0x39 returned 0 after 3255 usecs
[ 19.059980] calling agp_intel_init+0x0/0x24 @ 1
[ 19.063313] bus: 'pci': add driver agpgart-intel
[ 19.069258] initcall agp_intel_init+0x0/0x24 returned 0 after 3255 usecs
[ 19.073313] calling agp_nvidia_init+0x0/0x24 @ 1
[ 19.079979] bus: 'pci': add driver agpgart-nvidia
[ 19.085287] initcall agp_nvidia_init+0x0/0x24 returned 0 after 3255 usecs
[ 19.089980] calling agp_sis_init+0x0/0x24 @ 1
[ 19.093312] bus: 'pci': add driver agpgart-sis
[ 19.100893] initcall agp_sis_init+0x0/0x24 returned 0 after 6510 usecs
[ 19.106647] calling agp_serverworks_init+0x0/0x24 @ 1
[ 19.109979] bus: 'pci': add driver agpgart-serverworks
[ 19.117618] initcall agp_serverworks_init+0x0/0x24 returned 0 after 6510 usecs
[ 19.123313] calling agp_via_init+0x0/0x24 @ 1
[ 19.126646] bus: 'pci': add driver agpgart-via
[ 19.133662] initcall agp_via_init+0x0/0x24 returned 0 after 6510 usecs
[ 19.139980] calling init_ipwireless+0x0/0x36 @ 1
[ 19.143311] ipwireless 1.1 by Stephen Blackheath, Ben Martel, Jiri Kosina and David Sterba
[ 19.149983] bus: 'pcmcia': add driver ipwireless
[ 19.157661] initcall init_ipwireless+0x0/0x36 returned 0 after 13020 usecs
[ 19.163313] calling synclink_cs_init+0x0/0x128 @ 1
[ 19.166645] SyncLink PC Card driver $Revision: 4.34 $
[ 19.173312] bus: 'pcmcia': add driver synclink_cs
[ 19.179067] device: 'ttySLP0': device_add
[ 19.183097] device: 'ttySLP1': device_add
[ 19.187090] device: 'ttySLP2': device_add
[ 19.191082] device: 'ttySLP3': device_add
[ 19.195070] SyncLink PC Card driver $Revision: 4.34 $, tty major#249
[ 19.199981] initcall synclink_cs_init+0x0/0x128 returned 0 after 32552 usecs
[ 19.206646] calling cmm_init+0x0/0xa0 @ 1
[ 19.209978] cm4000_cs.c v2.4.0gm6 - All bugs added by Harald Welte
[ 19.216645] device class 'cardman_4000': registering
[ 19.223557] bus: 'pcmcia': add driver cm4000_cs
[ 19.228064] initcall cmm_init+0x0/0xa0 returned 0 after 16276 usecs
[ 19.233313] calling ipmi_init_msghandler_mod+0x0/0xc @ 1
[ 19.236648] bus: 'platform': add driver ipmi
[ 19.243927] ipmi message handler version 39.2
[ 19.246651] initcall ipmi_init_msghandler_mod+0x0/0xc returned 0 after 9765 usecs
[ 19.253313] calling init_ipmi_devintf+0x0/0xd1 @ 1
[ 19.259978] ipmi device interface
[ 19.263311] device class 'ipmi': registering
[ 19.268103] initcall init_ipmi_devintf+0x0/0xd1 returned 0 after 6510 usecs
[ 19.273314] calling init_ipmi_si+0x0/0x567 @ 1
[ 19.276646] bus: 'platform': add driver ipmi_si
[ 19.284057] IPMI System Interface driver.
[ 19.286647] bus: 'pci': add driver ipmi_si
[ 19.319994] bus: 'pci': remove driver ipmi_si
[ 19.326231] driver: 'ipmi_si': driver_release
[ 19.329986] bus: 'platform': remove driver ipmi_si
[ 19.335330] driver: 'ipmi_si': driver_release
[ 19.336649] ipmi_si: Unable to find any System Interface(s)
[ 19.343313] initcall init_ipmi_si+0x0/0x567 returned -19 after 65104 usecs
[ 19.349982] calling ipmi_wdog_init+0x0/0xfe @ 1
[ 19.353322] IPMI Watchdog: driver initialized
[ 19.359980] initcall ipmi_wdog_init+0x0/0xfe returned 0 after 6510 usecs
[ 19.366648] calling ipmi_poweroff_init+0x0/0x7d @ 1
[ 19.369978] Copyright (C) 2004 MontaVista Software - IPMI Powerdown via sys_reboot.
[ 19.380000] initcall ipmi_poweroff_init+0x0/0x7d returned 0 after 9765 usecs
[ 19.386646] calling hangcheck_init+0x0/0xa9 @ 1
[ 19.389978] Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
[ 19.399978] Hangcheck: Using get_cycles().
[ 19.403314] initcall hangcheck_init+0x0/0xa9 returned 0 after 13020 usecs
[ 19.409980] calling init_nsc+0x0/0x19f @ 1
[ 19.413324] initcall init_nsc+0x0/0x19f returned -19 after 0 usecs
[ 19.419980] calling drm_core_init+0x0/0xec @ 1
[ 19.423314] device class 'drm': registering
[ 19.430592] [drm] Initialized drm 1.1.0 20060810
[ 19.433314] initcall drm_core_init+0x0/0xec returned 0 after 9765 usecs
[ 19.439979] calling r128_init+0x0/0x19 @ 1
[ 19.443513] initcall r128_init+0x0/0x19 returned 0 after 0 usecs
[ 19.449980] calling radeon_init+0x0/0x23 @ 1
[ 19.453948] IOAPIC[0]: Set routing entry (2-5 -> 0x35 -> IRQ 5 Mode:1 Active:1)
[ 19.463316] pci 0000:01:00.0: PCI->APIC IRQ transform: INT A -> IRQ 5
[ 19.469981] pci 0000:01:00.0: setting latency timer to 64
[ 19.473400] device: 'card0': device_add
[ 19.479817] [drm] Initialized radeon 1.30.0 20080528 for 0000:01:00.0 on minor 0
[ 19.487840] initcall radeon_init+0x0/0x23 returned 0 after 32552 usecs
[ 19.493315] calling mga_init+0x0/0x19 @ 1
[ 19.496665] initcall mga_init+0x0/0x19 returned 0 after 0 usecs
[ 19.503313] calling sis_init+0x0/0x19 @ 1
[ 19.506684] initcall sis_init+0x0/0x19 returned 0 after 0 usecs
[ 19.513313] calling savage_init+0x0/0x19 @ 1
[ 19.516752] initcall savage_init+0x0/0x19 returned 0 after 0 usecs
[ 19.523313] calling via_init+0x0/0x1e @ 1
[ 19.526691] initcall via_init+0x0/0x1e returned 0 after 0 usecs
[ 19.533313] calling cn_proc_init+0x0/0x30 @ 1
[ 19.536649] initcall cn_proc_init+0x0/0x30 returned 0 after 0 usecs
[ 19.543312] calling i810fb_init+0x0/0x35f @ 1
[ 19.549982] bus: 'pci': add driver i810fb
[ 19.554261] initcall i810fb_init+0x0/0x35f returned 0 after 3255 usecs
[ 19.559980] calling serial8250_init+0x0/0x114 @ 1
[ 19.563312] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 19.569989] Registering platform device 'serial8250'. Parent at platform
[ 19.576645] device: 'serial8250': device_add
[ 19.579982] bus: 'platform': add device serial8250
[ 19.587449] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 19.593316] device: 'ttyS0': device_add
[ 19.597330] device: 'ttyS1': device_add
[ 19.601163] device: 'ttyS2': device_add
[ 19.604996] device: 'ttyS3': device_add
[ 19.608827] bus: 'platform': add driver serial8250
[ 19.613318] bus: 'platform': driver_probe_device: matched device serial8250 with driver serial8250
[ 19.619978] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
[ 19.629982] driver: 'serial8250': driver_bound: bound to device 'serial8250'
[ 19.636645] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
[ 19.645800] initcall serial8250_init+0x0/0x114 returned 0 after 78124 usecs
[ 19.649981] calling serial8250_pci_init+0x0/0x16 @ 1
[ 19.656646] bus: 'pci': add driver serial
[ 19.661775] initcall serial8250_pci_init+0x0/0x16 returned 0 after 3255 usecs
[ 19.666646] calling init_serial_cs+0x0/0xf @ 1
[ 19.670000] bus: 'pcmcia': add driver serial_cs
[ 19.677872] initcall init_serial_cs+0x0/0xf returned 0 after 6510 usecs
[ 19.683313] calling jsm_init_module+0x0/0x3a @ 1
[ 19.686677] bus: 'pci': add driver jsm
[ 19.692876] initcall jsm_init_module+0x0/0x3a returned 0 after 3255 usecs
[ 19.696647] calling topology_sysfs_init+0x0/0x7c @ 1
[ 19.703333] initcall topology_sysfs_init+0x0/0x7c returned 0 after 0 usecs
[ 19.709979] calling floppy_init+0x0/0xd18 @ 1
[ 19.713343] bus: 'platform': add driver floppy
[ 19.720347] Floppy drive(s): fd0 is 1.44M
[ 19.740745] FDC 0 is a post-1991 82077
[ 19.743532] Registering platform device 'floppy.0'. Parent at platform
[ 19.749983] device: 'floppy.0': device_add
[ 19.756649] bus: 'platform': add device floppy.0
[ 19.761585] bus: 'platform': driver_probe_device: matched device floppy.0 with driver floppy
[ 19.766645] bus: 'platform': really_probe: probing driver floppy with device floppy.0
[ 19.776648] driver: 'floppy.0': driver_bound: bound to device 'floppy'
[ 19.783314] bus: 'platform': really_probe: bound device floppy.0 to driver floppy
[ 19.789995] device: 'fd0': device_add
[ 19.795412] device: '2:0': device_add
[ 19.799062] initcall floppy_init+0x0/0xd18 returned 0 after 81380 usecs
[ 19.803312] calling loop_init+0x0/0x16a @ 1
[ 19.806727] device: 'loop0': device_add
[ 19.813728] device: '7:0': device_add
[ 19.817368] device: 'loop1': device_add
[ 19.821196] device: '7:1': device_add
[ 19.824826] device: 'loop2': device_add
[ 19.828660] device: '7:2': device_add
[ 19.832298] device: 'loop3': device_add
[ 19.836129] device: '7:3': device_add
[ 19.839769] device: 'loop4': device_add
[ 19.843603] device: '7:4': device_add
[ 19.847242] device: 'loop5': device_add
[ 19.851072] device: '7:5': device_add
[ 19.854703] device: 'loop6': device_add
[ 19.858533] device: '7:6': device_add
[ 19.862177] device: 'loop7': device_add
[ 19.866004] device: '7:7': device_add
[ 19.869636] loop: module loaded
[ 19.869979] initcall loop_init+0x0/0x16a returned 0 after 61848 usecs
[ 19.876646] calling cpqarray_init+0x0/0x24e @ 1
[ 19.883311] Compaq SMART2 Driver (v 2.6.0)
[ 19.886646] bus: 'pci': add driver cpqarray
[ 19.892011] bus: 'pci': remove driver cpqarray
[ 19.896409] driver: 'cpqarray': driver_release
[ 19.899980] initcall cpqarray_init+0x0/0x24e returned -19 after 16276 usecs
[ 19.906645] calling cciss_init+0x0/0x47 @ 1
[ 19.909977] HP CISS Driver (v 3.6.20)
[ 19.915657] bus: 'cciss': registered
[ 19.916645] bus: 'pci': add driver cciss
[ 19.923122] initcall cciss_init+0x0/0x47 returned 0 after 9765 usecs
[ 19.929981] calling DAC960_init_module+0x0/0x46 @ 1
[ 19.933312] bus: 'pci': add driver DAC960
[ 19.938992] device: 'dac960_gam': device_add
[ 19.943265] initcall DAC960_init_module+0x0/0x46 returned 0 after 6510 usecs
[ 19.949980] calling pkt_init+0x0/0x190 @ 1
[ 19.953320] device class 'pktcdvd': registering
[ 19.958926] device: 'pktcdvd!control': device_add
[ 19.963639] initcall pkt_init+0x0/0x190 returned 0 after 9765 usecs
[ 19.966646] calling mm_init+0x0/0x14a @ 1
[ 19.973313] bus: 'pci': add driver umem
[ 19.977763] MM: desc_per_page = 128
[ 19.979980] initcall mm_init+0x0/0x14a returned 0 after 6510 usecs
[ 19.986645] calling init+0x0/0x24 @ 1
[ 19.989979] bus: 'virtio': add driver virtio_blk
[ 19.995686] initcall init+0x0/0x24 returned 0 after 3255 usecs
[ 19.999979] calling carm_init+0x0/0x16 @ 1
[ 20.003312] bus: 'pci': add driver sx8
[ 20.009389] initcall carm_init+0x0/0x16 returned 0 after 3255 usecs
[ 20.013312] calling ub_init+0x0/0x71 @ 1
[ 20.016647] bus: 'usb': add driver ub
[ 20.023247] usbcore: registered new interface driver ub
[ 20.026660] initcall ub_init+0x0/0x71 returned 0 after 9765 usecs
[ 20.033312] calling ibmasm_init+0x0/0x56 @ 1
[ 20.036653] bus: 'pci': add driver ibmasm
[ 20.042846] ibmasm: IBM ASM Service Processor Driver version 1.0 loaded
[ 20.046646] initcall ibmasm_init+0x0/0x56 returned 0 after 9765 usecs
[ 20.053313] calling ics932s401_init+0x0/0x11 @ 1
[ 20.059979] bus: 'i2c': add driver ics932s401
[ 20.064851] initcall ics932s401_init+0x0/0x11 returned 0 after 3255 usecs
[ 20.069980] calling ioc4_init+0x0/0x1b @ 1
[ 20.073312] bus: 'pci': add driver IOC4
[ 20.079594] initcall ioc4_init+0x0/0x1b returned 0 after 3255 usecs
[ 20.083312] calling ilo_init+0x0/0x81 @ 1
[ 20.086645] device class 'iLO': registering
[ 20.094058] bus: 'pci': add driver hpilo
[ 20.097975] initcall ilo_init+0x0/0x81 returned 0 after 9765 usecs
[ 20.103312] calling c2port_init+0x0/0x45 @ 1
[ 20.106644] Silicon Labs C2 port support v. 0.51.0 - (C) 2007 Rodolfo Giometti
[ 20.113311] device class 'c2port': registering
[ 20.120058] initcall c2port_init+0x0/0x45 returned 0 after 13020 usecs
[ 20.123312] calling duramar2150_c2port_init+0x0/0x67 @ 1
[ 20.129990] device: 'c2port0': device_add
[ 20.135936] c2port c2port0: C2 port uc added
[ 20.139979] c2port c2port0: uc flash has 30 blocks x 512 bytes (15360 bytes total)
[ 20.146646] initcall duramar2150_c2port_init+0x0/0x67 returned 0 after 16276 usecs
[ 20.153312] calling eeprom_init+0x0/0x11 @ 1
[ 20.156645] bus: 'i2c': add driver eeprom
[ 20.163572] initcall eeprom_init+0x0/0x11 returned 0 after 6510 usecs
[ 20.166646] calling max6875_init+0x0/0x11 @ 1
[ 20.173311] bus: 'i2c': add driver max6875
[ 20.178478] initcall max6875_init+0x0/0x11 returned 0 after 3255 usecs
[ 20.183312] calling pasic3_base_init+0x0/0x14 @ 1
[ 20.186646] bus: 'platform': add driver pasic3
[ 20.194171] bus: 'platform': remove driver pasic3
[ 20.198838] driver: 'pasic3': driver_release
[ 20.199979] initcall pasic3_base_init+0x0/0x14 returned -19 after 13020 usecs
[ 20.209978] calling scsi_tgt_init+0x0/0x7d @ 1
[ 20.214707] device: 'tgt': device_add
[ 20.218549] initcall scsi_tgt_init+0x0/0x7d returned 0 after 3255 usecs
[ 20.223312] calling spi_transport_init+0x0/0x65 @ 1
[ 20.229985] device class 'spi_transport': registering
[ 20.235077] device class 'spi_host': registering
[ 20.239667] initcall spi_transport_init+0x0/0x65 returned 0 after 6510 usecs
[ 20.243312] calling fc_transport_init+0x0/0x43 @ 1
[ 20.249978] device class 'fc_host': registering
[ 20.256047] device class 'fc_vports': registering
[ 20.260728] device class 'fc_remote_ports': registering
[ 20.265929] device class 'fc_transport': registering
[ 20.270870] initcall fc_transport_init+0x0/0x43 returned 0 after 19531 usecs
[ 20.276646] calling iscsi_transport_init+0x0/0x125 @ 1
[ 20.279977] Loading iSCSI transport class v2.0-870.
[ 20.286644] device class 'iscsi_transport': registering
[ 20.293143] device class 'iscsi_endpoint': registering
[ 20.298266] device class 'iscsi_host': registering
[ 20.303026] device class 'iscsi_connection': registering
[ 20.308313] device class 'iscsi_session': registering
[ 20.313379] initcall iscsi_transport_init+0x0/0x125 returned 0 after 32552 usecs
[ 20.319979] calling sas_transport_init+0x0/0x9f @ 1
[ 20.323310] device class 'sas_host': registering
[ 20.330325] device class 'sas_phy': registering
[ 20.334826] device class 'sas_port': registering
[ 20.339429] device class 'sas_device': registering
[ 20.344188] device class 'sas_end_device': registering
[ 20.346691] device class 'sas_expander': registering
[ 20.354242] initcall sas_transport_init+0x0/0x9f returned 0 after 29296 usecs
[ 20.359978] calling sas_class_init+0x0/0x2c @ 1
[ 20.363316] initcall sas_class_init+0x0/0x2c returned 0 after 0 usecs
[ 20.369978] calling scsi_dh_init+0x0/0x34 @ 1
[ 20.376646] initcall scsi_dh_init+0x0/0x34 returned 0 after 0 usecs
[ 20.379978] calling rdac_init+0x0/0x26 @ 1
[ 20.386644] rdac: device handler registered
[ 20.389978] initcall rdac_init+0x0/0x26 returned 0 after 3255 usecs
[ 20.396644] calling hp_sw_init+0x0/0xf @ 1
[ 20.399977] hp_sw: device handler registered
[ 20.403311] initcall hp_sw_init+0x0/0xf returned 0 after 3255 usecs
[ 20.409978] calling clariion_init+0x0/0x2c @ 1
[ 20.416644] emc: device handler registered
[ 20.419978] initcall clariion_init+0x0/0x2c returned 0 after 3255 usecs
[ 20.426644] calling libfc_init+0x0/0x65 @ 1
[ 20.431622] initcall libfc_init+0x0/0x65 returned 0 after 0 usecs
[ 20.436645] calling fcoe_init+0x0/0x126 @ 1
[ 20.441925] initcall fcoe_init+0x0/0x126 returned 0 after 0 usecs
[ 20.446645] calling iscsi_sw_tcp_init+0x0/0x3a @ 1
[ 20.449980] device: 'tcp': device_add
[ 20.456527] iscsi: registered transport (tcp)
[ 20.459979] initcall iscsi_sw_tcp_init+0x0/0x3a returned 0 after 9765 usecs
[ 20.466645] calling NCR_700_init+0x0/0x1c @ 1
[ 20.469979] initcall NCR_700_init+0x0/0x1c returned 0 after 0 usecs
[ 20.476644] calling sim710_init+0x0/0x11 @ 1
[ 20.479978] initcall sim710_init+0x0/0x11 returned 0 after 0 usecs
[ 20.486644] calling advansys_init+0x0/0x16 @ 1
[ 20.493314] bus: 'pci': add driver advansys
[ 20.497618] initcall advansys_init+0x0/0x16 returned 0 after 3255 usecs
[ 20.503312] calling BusLogic_init+0x0/0x193d @ 1
[ 20.506707] initcall BusLogic_init+0x0/0x193d returned 0 after 0 usecs
[ 20.513312] calling adpt_init+0x0/0xdb8 @ 1
[ 20.516643] Loading Adaptec I2O RAID: Version 2.4 Build 5go
[ 20.523313] Detecting Adaptec I2O RAID controllers...
[ 20.529985] initcall adpt_init+0x0/0xdb8 returned -19 after 13020 usecs
[ 20.536647] calling arcmsr_module_init+0x0/0x1b @ 1
[ 20.539979] bus: 'pci': add driver arcmsr
[ 20.545720] initcall arcmsr_module_init+0x0/0x1b returned 0 after 3255 usecs
[ 20.549978] calling ahc_linux_init+0x0/0x5c @ 1
[ 20.556648] bus: 'pci': add driver aic7xxx
[ 20.561411] initcall ahc_linux_init+0x0/0x5c returned 0 after 3255 usecs
[ 20.566645] calling ahd_linux_init+0x0/0x6e @ 1
[ 20.569981] bus: 'pci': add driver aic79xx
[ 20.576757] initcall ahd_linux_init+0x0/0x6e returned 0 after 6510 usecs
[ 20.583312] calling init_this_scsi_driver+0x0/0xc5 @ 1
[ 20.586882] initcall init_this_scsi_driver+0x0/0xc5 returned -19 after 0 usecs
[ 20.593312] calling aic94xx_init+0x0/0x115 @ 1
[ 20.599977] aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
[ 20.606658] bus: 'pci': add driver aic94xx
[ 20.611363] initcall aic94xx_init+0x0/0x115 returned 0 after 9765 usecs
[ 20.616645] calling init_this_scsi_driver+0x0/0xc5 @ 1
[ 20.619979] initcall init_this_scsi_driver+0x0/0xc5 returned -19 after 0 usecs
[ 20.629978] calling init_this_scsi_driver+0x0/0xc5 @ 1
[ 20.633351] scsi: <fdomain> Detection failed (no card)
[ 20.639979] initcall init_this_scsi_driver+0x0/0xc5 returned -19 after 6510 usecs
[ 20.646645] calling NCR_D700_init+0x0/0xf @ 1
[ 20.649978] initcall NCR_D700_init+0x0/0xf returned 0 after 0 usecs
[ 20.656646] calling NCR_Q720_init+0x0/0x29 @ 1
[ 20.659986] initcall NCR_Q720_init+0x0/0x29 returned 0 after 0 usecs
[ 20.666645] calling qla2x00_module_init+0x0/0xfd @ 1
[ 20.673321] QLogic Fibre Channel HBA Driver: 8.03.01-k4
[ 20.676646] bus: 'pci': add driver qla2xxx
[ 20.683915] initcall qla2x00_module_init+0x0/0xfd returned 0 after 9765 usecs
[ 20.689979] calling qla4xxx_module_init+0x0/0xbd @ 1
[ 20.693316] device: 'qla4xxx': device_add
[ 20.700021] iscsi: registered transport (qla4xxx)
[ 20.703313] bus: 'pci': add driver qla4xxx
[ 20.708781] QLogic iSCSI HBA Driver
[ 20.709979] initcall qla4xxx_module_init+0x0/0xbd returned 0 after 16276 usecs
[ 20.716645] calling sym2_init+0x0/0xdf @ 1
[ 20.723314] bus: 'pci': add driver sym53c8xx
[ 20.727852] initcall sym2_init+0x0/0xdf returned 0 after 3255 usecs
[ 20.733312] calling ibmmca_init+0x0/0x14 @ 1
[ 20.736645] initcall ibmmca_init+0x0/0x14 returned 0 after 0 usecs
[ 20.743312] calling init_this_scsi_driver+0x0/0xc5 @ 1
[ 20.746651] initcall init_this_scsi_driver+0x0/0xc5 returned -19 after 0 usecs
[ 20.756646] calling dc395x_module_init+0x0/0x16 @ 1
[ 20.759978] bus: 'pci': add driver dc395x
[ 20.765899] initcall dc395x_module_init+0x0/0x16 returned 0 after 3255 usecs
[ 20.769979] calling dc390_module_init+0x0/0x8b @ 1
[ 20.776644] DC390: clustering now enabled by default. If you get problems load
[ 20.783312] with "disable_clustering=1" and report to maintainers
[ 20.789979] bus: 'pci': add driver tmscsim
[ 20.795714] initcall dc390_module_init+0x0/0x8b returned 0 after 16276 usecs
[ 20.799979] calling megaraid_init+0x0/0x9d @ 1
[ 20.806656] bus: 'pci': add driver megaraid_legacy
[ 20.812548] initcall megaraid_init+0x0/0x9d returned 0 after 3255 usecs
[ 20.816645] calling megasas_init+0x0/0x11b @ 1
[ 20.823311] megasas: 00.00.04.01 Thu July 24 11:41:51 PST 2008
[ 20.826650] bus: 'pci': add driver megaraid_sas
[ 20.833965] initcall megasas_init+0x0/0x11b returned 0 after 9765 usecs
[ 20.839979] calling atp870u_init+0x0/0x16 @ 1
[ 20.843312] bus: 'pci': add driver atp870u
[ 20.849034] initcall atp870u_init+0x0/0x16 returned 0 after 3255 usecs
[ 20.853312] calling gdth_init+0x0/0xd5 @ 1
[ 20.856645] GDT-HA: Storage RAID Controller Driver. Version: 3.05
[ 20.863312] bus: 'pci': add driver gdth
[ 20.869577] initcall gdth_init+0x0/0xd5 returned 0 after 9765 usecs
[ 20.873312] calling inia100_init+0x0/0x16 @ 1
[ 20.879979] bus: 'pci': add driver inia100
[ 20.884314] initcall inia100_init+0x0/0x16 returned 0 after 3255 usecs
[ 20.889978] calling twa_init+0x0/0x25 @ 1
[ 20.893310] 3ware 9000 Storage Controller device driver for Linux v2.26.02.012.
[ 20.899979] bus: 'pci': add driver 3w-9xxx
[ 20.906240] initcall twa_init+0x0/0x25 returned 0 after 9765 usecs
[ 20.909978] calling ipr_init+0x0/0x2a @ 1
[ 20.913310] ipr: IBM Power RAID SCSI Device Driver version: 2.4.3 (June 10, 2009)
[ 20.923312] bus: 'pci': add driver ipr
[ 20.927651] initcall ipr_init+0x0/0x2a returned 0 after 13020 usecs
[ 20.933312] calling hptiop_module_init+0x0/0x2a @ 1
[ 20.936644] RocketRAID 3xxx/4xxx Controller driver v1.3 (071203)
[ 20.943312] bus: 'pci': add driver hptiop
[ 20.948798] initcall hptiop_module_init+0x0/0x2a returned 0 after 9765 usecs
[ 20.953312] calling cxgb3i_init_module+0x0/0x31 @ 1
[ 20.959979] cxgb3i: tag itt 0x1fff, 13 bits, age 0xf, 4 bits.
[ 20.963312] device: 'cxgb3i': device_add
[ 20.970370] iscsi: registered transport (cxgb3i)
[ 20.973319] initcall cxgb3i_init_module+0x0/0x31 returned 0 after 13020 usecs
[ 20.979979] calling init_osst+0x0/0x10f @ 1
[ 20.983311] osst :I: Tape driver with OnStream support version 0.99.4
[ 20.983313] osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
[ 20.996644] device class 'onstream_tape': registering
[ 21.004433] bus: 'scsi': add driver osst
[ 21.008342] initcall init_osst+0x0/0x10f returned 0 after 22786 usecs
[ 21.013312] calling init_sd+0x0/0xdb @ 1
[ 21.016652] device class 'scsi_disk': registering
[ 21.023412] bus: 'scsi': add driver sd
[ 21.027140] initcall init_sd+0x0/0xdb returned 0 after 9765 usecs
[ 21.029978] calling init_sg+0x0/0x133 @ 1
[ 21.036645] device class 'scsi_generic': registering
[ 21.042218] initcall init_sg+0x0/0x133 returned 0 after 3255 usecs
[ 21.046645] calling osd_uld_init+0x0/0xb6 @ 1
[ 21.049977] device class 'scsi_osd': registering
[ 21.057387] bus: 'scsi': add driver osd
[ 21.061204] osd: LOADED open-osd 0.1.0
[ 21.063312] initcall osd_uld_init+0x0/0xb6 returned 0 after 13020 usecs
[ 21.069978] calling ahci_init+0x0/0x16 @ 1
[ 21.073313] bus: 'pci': add driver ahci
[ 21.079512] initcall ahci_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.083312] calling k2_sata_init+0x0/0x16 @ 1
[ 21.089979] bus: 'pci': add driver sata_svw
[ 21.094324] initcall k2_sata_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.099978] calling piix_init+0x0/0x24 @ 1
[ 21.103312] bus: 'pci': add driver ata_piix
[ 21.109154] initcall piix_init+0x0/0x24 returned 0 after 3255 usecs
[ 21.113312] calling pdc_ata_init+0x0/0x16 @ 1
[ 21.116646] bus: 'pci': add driver sata_promise
[ 21.124320] initcall pdc_ata_init+0x0/0x16 returned 0 after 6510 usecs
[ 21.129979] calling qs_ata_init+0x0/0x16 @ 1
[ 21.133312] bus: 'pci': add driver sata_qstor
[ 21.139477] initcall qs_ata_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.143312] calling vsc_sata_init+0x0/0x16 @ 1
[ 21.149979] bus: 'pci': add driver sata_vsc
[ 21.154560] initcall vsc_sata_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.159979] calling sis_init+0x0/0x16 @ 1
[ 21.163312] bus: 'pci': add driver sata_sis
[ 21.169382] initcall sis_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.173312] calling pdc_sata_init+0x0/0x16 @ 1
[ 21.176646] bus: 'pci': add driver sata_sx4
[ 21.184204] initcall pdc_sata_init+0x0/0x16 returned 0 after 6510 usecs
[ 21.189978] calling nv_init+0x0/0x16 @ 1
[ 21.193312] bus: 'pci': add driver sata_nv
[ 21.198852] initcall nv_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.203312] calling uli_init+0x0/0x16 @ 1
[ 21.206646] bus: 'pci': add driver sata_uli
[ 21.213151] initcall uli_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.216645] calling mv_init+0x0/0x3a @ 1
[ 21.219979] bus: 'pci': add driver sata_mv
[ 21.227369] bus: 'platform': add driver sata_mv
[ 21.231867] initcall mv_init+0x0/0x3a returned 0 after 9765 usecs
[ 21.236645] calling adma_ata_init+0x0/0x16 @ 1
[ 21.239979] bus: 'pci': add driver pdc_adma
[ 21.246606] initcall adma_ata_init+0x0/0x16 returned 0 after 3255 usecs
[ 21.249978] calling ali_init+0x0/0x40 @ 1
[ 21.256652] bus: 'pci': add driver pata_ali
[ 21.261431] initcall ali_init+0x0/0x40 returned 0 after 3255 usecs
[ 21.266645] calling amd_init+0x0/0x16 @ 1
[ 21.269979] bus: 'pci': add driver pata_amd
[ 21.273319] bus: 'pci': driver_probe_device: matched device 0000:00:06.0 with driver pata_amd
[ 21.283310] bus: 'pci': really_probe: probing driver pata_amd with device 0000:00:06.0
[ 21.292169] pata_amd 0000:00:06.0: version 0.4.1
[ 21.293363] pata_amd 0000:00:06.0: setting latency timer to 64
[ 21.296710] scsi0 : pata_amd
[ 21.299990] device: 'host0': device_add
[ 21.303325] device: 'host0': device_add
[ 21.306720] scsi1 : pata_amd
[ 21.309978] device: 'host1': device_add
[ 21.313315] device: 'host1': device_add
[ 21.316714] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xf000 irq 14
[ 21.319979] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xf008 irq 15
[ 21.490264] ata1.00: ATA-6: HDS722525VLAT80, V36OA60A, max UDMA/100
[ 21.496645] ata1.00: 488397168 sectors, multi 1: LBA48
[ 21.503332] ata1: nv_mode_filter: 0x3f39f&0x3f07f->0x3f01f, BIOS=0x3f000 (0xc60000c0) ACPI=0x0
[ 21.530192] ata1.00: configured for UDMA/100
[ 21.536537] async_waiting @ 1442
[ 21.536644] async_continuing @ 1442 after 0 usec
[ 21.540101] scsi 0:0:0:0: Direct-Access ATA HDS722525VLAT80 V36O PQ: 0 ANSI: 5
[ 21.543315] device: 'target0:0:0': device_add
[ 21.546654] device: '0:0:0:0': device_add
[ 21.550009] bus: 'scsi': add device 0:0:0:0
[ 21.553369] bus: 'scsi': driver_probe_device: matched device 0:0:0:0 with driver osst
[ 21.556644] bus: 'scsi': really_probe: probing driver osst with device 0:0:0:0
[ 21.559989] bus: 'scsi': driver_probe_device: matched device 0:0:0:0 with driver sd
[ 21.563310] bus: 'scsi': really_probe: probing driver sd with device 0:0:0:0
[ 21.566660] device: '0:0:0:0': device_add
[ 21.570039] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 21.573406] sd 0:0:0:0: [sda] Write Protect is off
[ 21.576644] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 21.580024] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 21.583314] device: 'sda': device_add
[ 21.586864] sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 >
[ 21.668733] device: 'sda1': device_add
[ 21.670010] device: 'sda2': device_add
[ 21.673339] device: 'sda3': device_add
[ 21.676679] device: 'sda5': device_add
[ 21.680019] device: 'sda6': device_add
[ 21.683339] device: 'sda7': device_add
[ 21.686671] device: 'sda8': device_add
[ 21.690004] device: 'sda9': device_add
[ 21.693346] device: 'sda10': device_add
[ 21.696769] device: '8:0': device_add
[ 21.700181] sd 0:0:0:0: [sda] Attached SCSI disk
[ 21.703316] driver: '0:0:0:0': driver_bound: bound to device 'sd'
[ 21.706645] bus: 'scsi': really_probe: bound device 0:0:0:0 to driver sd
[ 21.709979] device: '0:0:0:0': device_add
[ 21.713363] device: 'sg0': device_add
[ 21.716802] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 21.719988] device: '0:0:0:0': device_add
[ 21.723386] async_waiting @ 1442
[ 21.726644] async_continuing @ 1442 after 0 usec
[ 21.900217] ata2.01: ATAPI: DVDRW IDE 16X, VER A079, max UDMA/66
[ 21.906663] ata2: nv_mode_filter: 0x1f39f&0x707f->0x701f, BIOS=0x7000 (0xc60000c0) ACPI=0x0
[ 21.926833] ata2.01: configured for UDMA/33
[ 21.933515] async_waiting @ 1442
[ 21.936607] async_continuing @ 1442 after 0 usec
[ 21.936749] scsi 1:0:1:0: CD-ROM DVDRW IDE 16X A079 PQ: 0 ANSI: 5
[ 21.939985] device: 'target1:0:1': device_add
[ 21.943324] device: '1:0:1:0': device_add
[ 21.946667] bus: 'scsi': add device 1:0:1:0
[ 21.950030] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver osst
[ 21.953310] bus: 'scsi': really_probe: probing driver osst with device 1:0:1:0
[ 21.956654] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver sd
[ 21.959976] bus: 'scsi': really_probe: probing driver sd with device 1:0:1:0
[ 21.963319] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver osd
[ 21.966643] bus: 'scsi': really_probe: probing driver osd with device 1:0:1:0
[ 21.969986] device: '1:0:1:0': device_add
[ 21.973360] device: 'sg1': device_add
[ 21.976724] scsi 1:0:1:0: Attached scsi generic sg1 type 5
[ 21.979983] device: '1:0:1:0': device_add
[ 21.983383] driver: '0000:00:06.0': driver_bound: bound to device 'pata_amd'
[ 21.983383] work_for_cpu used greatest stack depth: 5808 bytes left
[ 21.996661] bus: 'pci': really_probe: bound device 0000:00:06.0 to driver pata_amd
[ 22.005002] initcall amd_init+0x0/0x16 returned 0 after 716145 usecs
[ 22.009982] calling atiixp_init+0x0/0x16 @ 1
[ 22.013315] bus: 'pci': add driver pata_atiixp
[ 22.020084] initcall atiixp_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.023312] calling cmd640_init+0x0/0x16 @ 1
[ 22.029979] bus: 'pci': add driver pata_cmd640
[ 22.035239] initcall cmd640_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.039977] calling cmd64x_init+0x0/0x16 @ 1
[ 22.043312] bus: 'pci': add driver pata_cmd64x
[ 22.050414] initcall cmd64x_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.056644] calling cs5520_init+0x0/0x16 @ 1
[ 22.059980] bus: 'pci': add driver pata_cs5520
[ 22.065573] initcall cs5520_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.069977] calling cs5530_init+0x0/0x16 @ 1
[ 22.073312] bus: 'pci': add driver pata_cs5530
[ 22.080740] initcall cs5530_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.086644] calling cy82c693_init+0x0/0x16 @ 1
[ 22.089979] bus: 'pci': add driver pata_cypress
[ 22.096166] initcall cy82c693_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.099977] calling efar_init+0x0/0x16 @ 1
[ 22.106645] bus: 'pci': add driver pata_efar
[ 22.111163] initcall efar_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.116644] calling hpt36x_init+0x0/0x16 @ 1
[ 22.119979] bus: 'pci': add driver pata_hpt366
[ 22.126155] initcall hpt36x_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.129977] calling hpt37x_init+0x0/0x16 @ 1
[ 22.136649] bus: 'pci': add driver pata_hpt37x
[ 22.141326] initcall hpt37x_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.146644] calling hpt3x2n_init+0x0/0x16 @ 1
[ 22.149979] bus: 'pci': add driver pata_hpt3x2n
[ 22.156670] initcall hpt3x2n_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.159978] calling jmicron_init+0x0/0x16 @ 1
[ 22.166646] bus: 'pci': add driver pata_jmicron
[ 22.172093] initcall jmicron_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.176644] calling ns87410_init+0x0/0x16 @ 1
[ 22.179979] bus: 'pci': add driver pata_ns87410
[ 22.187523] initcall ns87410_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.193311] calling ns87415_init+0x0/0x16 @ 1
[ 22.196646] bus: 'pci': add driver pata_ns87415
[ 22.202948] initcall ns87415_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.206645] calling optidma_init+0x0/0x16 @ 1
[ 22.213313] bus: 'pci': add driver pata_optidma
[ 22.218377] initcall optidma_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.223311] calling marvell_init+0x0/0x16 @ 1
[ 22.226646] bus: 'pci': add driver pata_marvell
[ 22.233806] initcall marvell_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.239978] calling mpiix_init+0x0/0x16 @ 1
[ 22.243313] bus: 'pci': add driver pata_mpiix
[ 22.248885] initcall mpiix_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.253311] calling oldpiix_init+0x0/0x16 @ 1
[ 22.256646] bus: 'pci': add driver pata_oldpiix
[ 22.264151] initcall oldpiix_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.269978] calling pcmcia_init+0x0/0xf @ 1
[ 22.273323] bus: 'pcmcia': add driver pata_pcmcia
[ 22.279556] initcall pcmcia_init+0x0/0xf returned 0 after 3255 usecs
[ 22.283311] calling pdc2027x_init+0x0/0x16 @ 1
[ 22.289980] bus: 'pci': add driver pata_pdc2027x
[ 22.294996] initcall pdc2027x_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.299978] calling pdc202xx_init+0x0/0x16 @ 1
[ 22.303313] bus: 'pci': add driver pata_pdc202xx_old
[ 22.311033] initcall pdc202xx_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.316645] calling radisys_init+0x0/0x16 @ 1
[ 22.319980] bus: 'pci': add driver pata_radisys
[ 22.326543] initcall radisys_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.329978] calling rz1000_init+0x0/0x16 @ 1
[ 22.336650] bus: 'pci': add driver pata_rz1000
[ 22.341809] initcall rz1000_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.346645] calling serverworks_init+0x0/0x16 @ 1
[ 22.349980] bus: 'pci': add driver pata_serverworks
[ 22.357837] initcall serverworks_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.363312] calling sil680_init+0x0/0x16 @ 1
[ 22.366646] bus: 'pci': add driver pata_sil680
[ 22.373438] initcall sil680_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.376645] calling via_init+0x0/0x16 @ 1
[ 22.383314] bus: 'pci': add driver pata_via
[ 22.388086] initcall via_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.393314] calling sl82c105_init+0x0/0x16 @ 1
[ 22.396647] bus: 'pci': add driver pata_sl82c105
[ 22.403346] initcall sl82c105_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.406644] calling sis_init+0x0/0x16 @ 1
[ 22.413313] bus: 'pci': add driver pata_sis
[ 22.418160] initcall sis_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.423311] calling sch_init+0x0/0x16 @ 1
[ 22.426646] bus: 'pci': add driver pata_sch
[ 22.432546] initcall sch_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.436644] calling pata_platform_init+0x0/0xf @ 1
[ 22.443311] bus: 'platform': add driver pata_platform
[ 22.448575] initcall pata_platform_init+0x0/0xf returned 0 after 3255 usecs
[ 22.453311] calling e1000_init_module+0x0/0x53 @ 1
[ 22.459976] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
[ 22.463310] e1000e: Copyright (c) 1999-2008 Intel Corporation.
[ 22.469979] bus: 'pci': add driver e1000e
[ 22.476059] initcall e1000_init_module+0x0/0x53 returned 0 after 13020 usecs
[ 22.479977] calling igb_init_module+0x0/0x43 @ 1
[ 22.486643] Intel(R) Gigabit Ethernet Network Driver - version 1.3.16-k2
[ 22.493309] Copyright (c) 2007-2009 Intel Corporation.
[ 22.496646] bus: 'pci': add driver igb
[ 22.503272] initcall igb_init_module+0x0/0x43 returned 0 after 13020 usecs
[ 22.509977] calling igbvf_init_module+0x0/0x53 @ 1
[ 22.513309] Intel(R) Virtual Function Network Driver - version 1.0.0-k0
[ 22.519976] Copyright (c) 2009 Intel Corporation.
[ 22.523313] bus: 'pci': add driver igbvf
[ 22.530151] initcall igbvf_init_module+0x0/0x53 returned 0 after 16276 usecs
[ 22.536644] calling ixgbe_init_module+0x0/0x43 @ 1
[ 22.539976] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 2.0.34-k2
[ 22.546642] ixgbe: Copyright (c) 1999-2009 Intel Corporation.
[ 22.553313] bus: 'pci': add driver ixgbe
[ 22.559435] initcall ixgbe_init_module+0x0/0x43 returned 0 after 16276 usecs
[ 22.563312] calling ixgb_init_module+0x0/0x39 @ 1
[ 22.569976] Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI
[ 22.576642] Copyright (c) 1999-2008 Intel Corporation.
[ 22.579979] bus: 'pci': add driver ixgb
[ 22.586741] initcall ixgb_init_module+0x0/0x39 returned 0 after 16276 usecs
[ 22.593311] calling ipg_init_module+0x0/0x16 @ 1
[ 22.596646] bus: 'pci': add driver Sundance Technology IPG Triple-Speed Ethernet
[ 22.605722] initcall ipg_init_module+0x0/0x16 returned 0 after 6510 usecs
[ 22.609977] calling t1_init_module+0x0/0x16 @ 1
[ 22.616646] bus: 'pci': add driver cxgb
[ 22.620889] initcall t1_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 22.626644] calling cxgb3_init_module+0x0/0x1b @ 1
[ 22.629981] bus: 'pci': add driver cxgb3
[ 22.636315] initcall cxgb3_init_module+0x0/0x1b returned 0 after 3255 usecs
[ 22.639977] calling vcan_init_module+0x0/0x2e @ 1
[ 22.646642] vcan: Virtual CAN interface driver
[ 22.649982] initcall vcan_init_module+0x0/0x2e returned 0 after 3255 usecs
[ 22.656644] calling can_dev_init+0x0/0x26 @ 1
[ 22.663310] CAN device driver interface
[ 22.666644] initcall can_dev_init+0x0/0x26 returned 0 after 3255 usecs
[ 22.673311] calling bonding_init+0x0/0x712 @ 1
[ 22.676642] Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
[ 22.683311] bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.
[ 22.702102] device: 'bond0': device_add
[ 22.705966] initcall bonding_init+0x0/0x712 returned 0 after 26041 usecs
[ 22.709979] calling atl1_init_module+0x0/0x16 @ 1
[ 22.716649] bus: 'pci': add driver atl1
[ 22.721596] initcall atl1_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 22.726645] calling atl2_init_module+0x0/0x39 @ 1
[ 22.729976] Atheros(R) L2 Ethernet Driver - version 2.2.3
[ 22.736642] Copyright (c) 2007 Atheros Corporation.
[ 22.743314] bus: 'pci': add driver atl2
[ 22.747248] initcall atl2_init_module+0x0/0x39 returned 0 after 16276 usecs
[ 22.753311] calling atl1e_init_module+0x0/0x16 @ 1
[ 22.756647] bus: 'pci': add driver ATL1E
[ 22.762936] initcall atl1e_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 22.766645] calling bdx_module_init+0x0/0x7c @ 1
[ 22.773310] tehuti: Tehuti Networks(R) Network Driver, 7.29.3
[ 22.779976] tehuti: Options: hw_csum
[ 22.783313] bus: 'pci': add driver tehuti
[ 22.787900] initcall bdx_module_init+0x0/0x7c returned 0 after 13020 usecs
[ 22.793311] calling enic_init_module+0x0/0x2a @ 1
[ 22.796642] enic: Cisco 10G Ethernet Driver, ver 1.0.0.933
[ 22.803314] bus: 'pci': add driver enic
[ 22.808787] initcall enic_init_module+0x0/0x2a returned 0 after 9765 usecs
[ 22.813311] calling jme_init_module+0x0/0x25 @ 1
[ 22.819976] jme: JMicron JMC2XX ethernet driver version 1.0.4
[ 22.823313] bus: 'pci': add driver jme
[ 22.829760] initcall jme_init_module+0x0/0x25 returned 0 after 6510 usecs
[ 22.833311] calling happy_meal_probe+0x0/0x16 @ 1
[ 22.839980] bus: 'pci': add driver hme
[ 22.845016] initcall happy_meal_probe+0x0/0x16 returned 0 after 3255 usecs
[ 22.849978] calling gem_init+0x0/0x16 @ 1
[ 22.853314] bus: 'pci': add driver gem
[ 22.859663] initcall gem_init+0x0/0x16 returned 0 after 3255 usecs
[ 22.863311] calling vortex_init+0x0/0x9c @ 1
[ 22.869982] bus: 'pci': add driver 3c59x
[ 22.874056] initcall vortex_init+0x0/0x9c returned 0 after 3255 usecs
[ 22.879978] calling pcnet32_init_module+0x0/0x10a @ 1
[ 22.883309] pcnet32.c:v1.35 21.Apr.2008 tsbogend@alpha.franken.de
[ 22.889981] bus: 'pci': add driver pcnet32
[ 22.895722] initcall pcnet32_init_module+0x0/0x10a returned 0 after 9765 usecs
[ 22.899978] calling e100_init_module+0x0/0x4d @ 1
[ 22.906647] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[ 22.913309] e100: Copyright(c) 1999-2006 Intel Corporation
[ 22.916647] bus: 'pci': add driver e100
[ 22.923556] initcall e100_init_module+0x0/0x4d returned 0 after 16276 usecs
[ 22.929978] calling tlan_probe+0x0/0xc9 @ 1
[ 22.933309] ThunderLAN driver v1.15a
[ 22.936647] bus: 'pci': add driver tlan
[ 22.942108] TLAN: 0 devices installed, PCI: 0 EISA: 0
[ 22.946655] bus: 'pci': remove driver tlan
[ 22.951268] driver: 'tlan': driver_release
[ 22.953312] initcall tlan_probe+0x0/0xc9 returned -19 after 19531 usecs
[ 22.959977] calling epic_init+0x0/0x16 @ 1
[ 22.963314] bus: 'pci': add driver epic100
[ 22.970185] initcall epic_init+0x0/0x16 returned 0 after 6510 usecs
[ 22.973311] calling smsc9420_init_module+0x0/0x39 @ 1
[ 22.979981] bus: 'pci': add driver smsc9420
[ 22.985696] initcall smsc9420_init_module+0x0/0x39 returned 0 after 3255 usecs
[ 22.989978] calling sis190_init_module+0x0/0x16 @ 1
[ 22.996648] bus: 'pci': add driver sis190
[ 23.001827] initcall sis190_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 23.006644] calling sis900_init_module+0x0/0x16 @ 1
[ 23.013314] bus: 'pci': add driver sis900
[ 23.017774] initcall sis900_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 23.023311] calling r6040_init+0x0/0x16 @ 1
[ 23.026648] bus: 'pci': add driver r6040
[ 23.032940] initcall r6040_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.036644] calling yellowfin_init+0x0/0x16 @ 1
[ 23.043314] bus: 'pci': add driver yellowfin
[ 23.048111] initcall yellowfin_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.053311] calling acenic_init+0x0/0x16 @ 1
[ 23.056647] bus: 'pci': add driver acenic
[ 23.063104] initcall acenic_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.066644] calling ns83820_init+0x0/0x20 @ 1
[ 23.073310] ns83820.c: National Semiconductor DP83820 10/100/1000 driver.
[ 23.079981] bus: 'pci': add driver ns83820
[ 23.084777] initcall ns83820_init+0x0/0x20 returned 0 after 9765 usecs
[ 23.089978] calling tg3_init+0x0/0x16 @ 1
[ 23.093315] bus: 'pci': add driver tg3
[ 23.099077] initcall tg3_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.103311] calling bnx2_init+0x0/0x16 @ 1
[ 23.106648] bus: 'pci': add driver bnx2
[ 23.113200] initcall bnx2_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.116644] calling bnx2x_init+0x0/0x71 @ 1
[ 23.123655] bus: 'pci': add driver bnx2x
[ 23.127598] initcall bnx2x_init+0x0/0x71 returned 0 after 3255 usecs
[ 23.133311] calling sky2_init_module+0x0/0x20 @ 1
[ 23.136642] sky2 driver version 1.23
[ 23.139981] bus: 'pci': add driver sky2
[ 23.146052] initcall sky2_init_module+0x0/0x20 returned 0 after 6510 usecs
[ 23.149978] calling rhine_init+0x0/0x54 @ 1
[ 23.156650] bus: 'pci': add driver via-rhine
[ 23.161393] initcall rhine_init+0x0/0x54 returned 0 after 3255 usecs
[ 23.166647] calling velocity_init_module+0x0/0x16 @ 1
[ 23.169981] bus: 'pci': add driver via-velocity
[ 23.177342] initcall velocity_init_module+0x0/0x16 returned 0 after 6510 usecs
[ 23.183311] calling starfire_init+0x0/0x16 @ 1
[ 23.186648] bus: 'pci': add driver starfire
[ 23.193214] initcall starfire_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.196644] calling marvell_init+0x0/0x46 @ 1
[ 23.203311] bus: 'mdio_bus': add driver Marvell 88E1101
[ 23.209408] bus: 'mdio_bus': add driver Marvell 88E1112
[ 23.214608] bus: 'mdio_bus': add driver Marvell 88E1111
[ 23.219810] bus: 'mdio_bus': add driver Marvell 88E1118
[ 23.225008] bus: 'mdio_bus': add driver Marvell 88E1121R
[ 23.230297] bus: 'mdio_bus': add driver Marvell 88E1145
[ 23.235494] bus: 'mdio_bus': add driver Marvell 88E1240
[ 23.240697] initcall marvell_init+0x0/0x46 returned 0 after 35807 usecs
[ 23.246644] calling davicom_init+0x0/0x4d @ 1
[ 23.249976] bus: 'mdio_bus': add driver Davicom DM9161E
[ 23.256905] bus: 'mdio_bus': add driver Davicom DM9161A
[ 23.262103] bus: 'mdio_bus': add driver Davicom DM9131
[ 23.267219] initcall davicom_init+0x0/0x4d returned 0 after 16276 usecs
[ 23.273311] calling cicada_init+0x0/0x33 @ 1
[ 23.276643] bus: 'mdio_bus': add driver Cicada Cis8204
[ 23.283251] bus: 'mdio_bus': add driver Cicada Cis8201
[ 23.288367] initcall cicada_init+0x0/0x33 returned 0 after 9765 usecs
[ 23.293311] calling lxt_init+0x0/0x33 @ 1
[ 23.296643] bus: 'mdio_bus': add driver LXT970
[ 23.303272] bus: 'mdio_bus': add driver LXT971
[ 23.307695] initcall lxt_init+0x0/0x33 returned 0 after 9765 usecs
[ 23.313311] calling qs6612_init+0x0/0xf @ 1
[ 23.316643] bus: 'mdio_bus': add driver QS6612
[ 23.322515] initcall qs6612_init+0x0/0xf returned 0 after 3255 usecs
[ 23.326644] calling smsc_init+0x0/0x81 @ 1
[ 23.329976] bus: 'mdio_bus': add driver SMSC LAN83C185
[ 23.338127] bus: 'mdio_bus': add driver SMSC LAN8187
[ 23.343055] bus: 'mdio_bus': add driver SMSC LAN8700
[ 23.346689] bus: 'mdio_bus': add driver SMSC LAN911x Internal PHY
[ 23.354066] bus: 'mdio_bus': add driver SMSC LAN8710/LAN8720
[ 23.359697] initcall smsc_init+0x0/0x81 returned 0 after 26041 usecs
[ 23.363311] calling vsc82xx_init+0x0/0x33 @ 1
[ 23.369977] bus: 'mdio_bus': add driver Vitesse VSC8244
[ 23.375653] bus: 'mdio_bus': add driver Vitesse VSC8221
[ 23.380849] initcall vsc82xx_init+0x0/0x33 returned 0 after 9765 usecs
[ 23.386644] calling ip175c_init+0x0/0xf @ 1
[ 23.389976] bus: 'mdio_bus': add driver ICPlus IP175C
[ 23.396621] initcall ip175c_init+0x0/0xf returned 0 after 3255 usecs
[ 23.399978] calling realtek_init+0x0/0xf @ 1
[ 23.406643] bus: 'mdio_bus': add driver RTL821x Gigabit Ethernet
[ 23.413271] initcall realtek_init+0x0/0xf returned 0 after 3255 usecs
[ 23.416644] calling ste10Xp_init+0x0/0x1d @ 1
[ 23.423313] bus: 'mdio_bus': add driver STe100p
[ 23.428605] bus: 'mdio_bus': add driver STe101p
[ 23.433109] initcall ste10Xp_init+0x0/0x1d returned 0 after 6510 usecs
[ 23.436644] calling sundance_init+0x0/0x16 @ 1
[ 23.443316] bus: 'pci': add driver sundance
[ 23.448289] initcall sundance_init+0x0/0x16 returned 0 after 3255 usecs
[ 23.453311] calling hamachi_init+0x0/0x16 @ 1
[ 23.456648] bus: 'pci': add driver hamachi
[ 23.463371] initcall hamachi_init+0x0/0x16 returned 0 after 6510 usecs
[ 23.466644] calling net_olddevs_init+0x0/0x82 @ 1
[ 23.473390] initcall net_olddevs_init+0x0/0x82 returned 0 after 0 usecs
[ 23.479978] calling hp100_module_init+0x0/0x16 @ 1
[ 23.483314] bus: 'pci': add driver hp100
[ 23.489990] initcall hp100_module_init+0x0/0x16 returned 0 after 6510 usecs
[ 23.496644] calling NS8390p_init_module+0x0/0x7 @ 1
[ 23.499978] initcall NS8390p_init_module+0x0/0x7 returned 0 after 0 usecs
[ 23.506644] calling ultramca_init_module+0x0/0x28 @ 1
[ 23.513311] initcall ultramca_init_module+0x0/0x28 returned -6 after 0 usecs
[ 23.519978] initcall ultramca_init_module+0x0/0x28 returned with error code -6
[ 23.526644] calling b44_init+0x0/0x56 @ 1
[ 23.529981] bus: 'pci': add driver b44
[ 23.535829] bus: 'ssb': add driver b44
[ 23.539544] initcall b44_init+0x0/0x56 returned 0 after 6510 usecs
[ 23.543311] calling init_nic+0x0/0x16 @ 1
[ 23.546648] bus: 'pci': add driver forcedeth
[ 23.553321] bus: 'pci': driver_probe_device: matched device 0000:00:0a.0 with driver forcedeth
[ 23.559976] bus: 'pci': really_probe: probing driver forcedeth with device 0000:00:0a.0
[ 23.570552] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 23.573326] IOAPIC[0]: Set routing entry (2-11 -> 0x3b -> IRQ 11 Mode:1 Active:1)
[ 23.576648] forcedeth 0000:00:0a.0: PCI->APIC IRQ transform: INT A -> IRQ 11
[ 23.579978] forcedeth 0000:00:0a.0: setting latency timer to 64
[ 23.583353] nv_probe: set workaround bit for reversed mac addr
[ 24.103497] device: 'eth0': device_add
[ 24.107068] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x5043 @ 1, addr 00:13:d4:dc:41:12
[ 24.109977] forcedeth 0000:00:0a.0: highdma csum gbit lnktim desc-v3
[ 24.113310] driver: '0000:00:0a.0': driver_bound: bound to device 'forcedeth'
[ 24.119978] bus: 'pci': really_probe: bound device 0000:00:0a.0 to driver forcedeth
[ 24.130406] initcall init_nic+0x0/0x16 returned 0 after 569660 usecs
[ 24.136657] calling ql3xxx_init_module+0x0/0x16 @ 1
[ 24.139982] bus: 'pci': add driver qla3xxx
[ 24.145748] initcall ql3xxx_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 24.149978] calling qlge_init_module+0x0/0x16 @ 1
[ 24.156647] bus: 'pci': add driver qlge
[ 24.161341] initcall qlge_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 24.166644] calling ppp_init+0x0/0xb9 @ 1
[ 24.169975] PPP generic driver version 2.4.2
[ 24.173320] device class 'ppp': registering
[ 24.180663] device: 'ppp': device_add
[ 24.184371] initcall ppp_init+0x0/0xb9 returned 0 after 13020 usecs
[ 24.189977] calling ppp_sync_init+0x0/0x2d @ 1
[ 24.193311] initcall ppp_sync_init+0x0/0x2d returned 0 after 0 usecs
[ 24.199976] calling deflate_init+0x0/0x30 @ 1
[ 24.203308] PPP Deflate Compression module registered
[ 24.209977] initcall deflate_init+0x0/0x30 returned 0 after 6510 usecs
[ 24.216643] calling bsdcomp_init+0x0/0x26 @ 1
[ 24.219975] PPP BSD Compression module registered
[ 24.223310] initcall bsdcomp_init+0x0/0x26 returned 0 after 3255 usecs
[ 24.229976] calling pppox_init+0x0/0xf @ 1
[ 24.236642] NET: Registered protocol family 24
[ 24.239976] initcall pppox_init+0x0/0xf returned 0 after 3255 usecs
[ 24.246643] calling pppoe_init+0x0/0x73 @ 1
[ 24.249987] initcall pppoe_init+0x0/0x73 returned 0 after 0 usecs
[ 24.256643] calling dummy_init_module+0x0/0x95 @ 1
[ 24.259994] device: 'dummy0': device_add
[ 24.267035] initcall dummy_init_module+0x0/0x95 returned 0 after 6510 usecs
[ 24.273310] calling macvlan_init_module+0x0/0x45 @ 1
[ 24.276645] initcall macvlan_init_module+0x0/0x45 returned 0 after 0 usecs
[ 24.283311] calling ibmlana_init_module+0x0/0xf @ 1
[ 24.289977] initcall ibmlana_init_module+0x0/0xf returned 0 after 0 usecs
[ 24.296643] calling el3_init_module+0x0/0xeb @ 1
[ 24.299979] initcall el3_init_module+0x0/0xeb returned 0 after 0 usecs
[ 24.306643] calling cp_init+0x0/0x16 @ 1
[ 24.313316] bus: 'pci': add driver 8139cp
[ 24.316658] bus: 'pci': driver_probe_device: matched device 0000:05:07.0 with driver 8139cp
[ 24.323308] bus: 'pci': really_probe: probing driver 8139cp with device 0000:05:07.0
[ 24.333480] <6>8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
[ 24.336643] 8139cp 0000:05:07.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip, use 8139too
[ 24.340017] initcall cp_init+0x0/0x16 returned 0 after 26041 usecs
[ 24.346644] calling rtl8139_init_module+0x0/0x16 @ 1
[ 24.353315] bus: 'pci': add driver 8139too
[ 24.356656] bus: 'pci': driver_probe_device: matched device 0000:05:07.0 with driver 8139too
[ 24.363317] bus: 'pci': really_probe: probing driver 8139too with device 0000:05:07.0
[ 24.374220] 8139too Fast Ethernet driver 0.9.28
[ 24.376658] 8139too 0000:05:07.0: PCI->APIC IRQ transform: INT A -> IRQ 11
[ 24.380275] device: 'eth1': device_add
[ 24.386670] eth1: RealTek RTL8139 at 0xc000, 00:c0:df:03:68:5d, IRQ 11
[ 24.389977] driver: '0000:05:07.0': driver_bound: bound to device '8139too'
[ 24.399976] bus: 'pci': really_probe: bound device 0000:05:07.0 to driver 8139too
[ 24.407543] initcall rtl8139_init_module+0x0/0x16 returned 0 after 52083 usecs
[ 24.413311] calling depca_module_init+0x0/0xc8 @ 1
[ 24.416643] bus: 'platform': add driver depca
[ 24.423926] Registering platform device 'depca.0'. Parent at platform
[ 24.429976] device: 'depca.0': device_add
[ 24.433313] bus: 'platform': add device depca.0
[ 24.438825] bus: 'platform': driver_probe_device: matched device depca.0 with driver depca
[ 24.446642] bus: 'platform': really_probe: probing driver depca with device depca.0
[ 24.453352] bus: 'platform': remove device depca.0
[ 24.459447] Registering platform device 'depca.1'. Parent at platform
[ 24.463308] device: 'depca.1': device_add
[ 24.466645] bus: 'platform': add device depca.1
[ 24.474362] bus: 'platform': driver_probe_device: matched device depca.1 with driver depca
[ 24.479975] bus: 'platform': really_probe: probing driver depca with device depca.1
[ 24.490017] bus: 'platform': remove device depca.1
[ 24.494984] initcall depca_module_init+0x0/0xc8 returned 0 after 74869 usecs
[ 24.499976] calling eql_init_module+0x0/0x50 @ 1
[ 24.503308] Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)
[ 24.513314] device: 'eql': device_add
[ 24.518907] initcall eql_init_module+0x0/0x50 returned 0 after 13020 usecs
[ 24.523310] calling tun_init+0x0/0x79 @ 1
[ 24.529975] tun: Universal TUN/TAP device driver, 1.6
[ 24.533308] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 24.539978] device: 'tun': device_add
[ 24.545081] initcall tun_init+0x0/0x79 returned 0 after 13020 usecs
[ 24.549977] calling rio_init+0x0/0x16 @ 1
[ 24.553316] bus: 'pci': add driver dl2k
[ 24.559192] initcall rio_init+0x0/0x16 returned 0 after 3255 usecs
[ 24.563310] calling amd8111e_init+0x0/0x16 @ 1
[ 24.566647] bus: 'pci': add driver amd8111e
[ 24.574013] initcall amd8111e_init+0x0/0x16 returned 0 after 6510 usecs
[ 24.579977] calling s2io_starter+0x0/0x16 @ 1
[ 24.583314] bus: 'pci': add driver S2IO
[ 24.588832] initcall s2io_starter+0x0/0x16 returned 0 after 3255 usecs
[ 24.593310] calling myri10ge_init_module+0x0/0x69 @ 1
[ 24.599975] myri10ge: Version 1.5.0-1.418
[ 24.603314] bus: 'pci': add driver myri10ge
[ 24.608594] initcall myri10ge_init_module+0x0/0x69 returned 0 after 6510 usecs
[ 24.613310] calling mlx4_init+0x0/0xa0 @ 1
[ 24.619924] bus: 'pci': add driver mlx4_core
[ 24.624216] initcall mlx4_init+0x0/0xa0 returned 0 after 6510 usecs
[ 24.629977] calling mlx4_en_init+0x0/0xf @ 1
[ 24.633310] initcall mlx4_en_init+0x0/0xf returned 0 after 0 usecs
[ 24.639976] calling ethoc_init+0x0/0xf @ 1
[ 24.643310] bus: 'platform': add driver ethoc
[ 24.649415] initcall ethoc_init+0x0/0xf returned 0 after 3255 usecs
[ 24.653309] calling dnet_init+0x0/0xf @ 1
[ 24.656642] bus: 'platform': add driver dnet
[ 24.663979] initcall dnet_init+0x0/0xf returned 0 after 6510 usecs
[ 24.669976] calling hdlc_module_init+0x0/0x37 @ 1
[ 24.673308] HDLC support module revision 1.22
[ 24.676645] initcall hdlc_module_init+0x0/0x37 returned 0 after 3255 usecs
[ 24.683309] calling mod_init+0x0/0x11 @ 1
[ 24.689976] initcall mod_init+0x0/0x11 returned 0 after 0 usecs
[ 24.693309] calling mod_init+0x0/0x11 @ 1
[ 24.699976] initcall mod_init+0x0/0x11 returned 0 after 0 usecs
[ 24.703309] calling mod_init+0x0/0x11 @ 1
[ 24.709976] initcall mod_init+0x0/0x11 returned 0 after 0 usecs
[ 24.713308] calling mod_init+0x0/0x43 @ 1
[ 24.719976] initcall mod_init+0x0/0x43 returned 0 after 0 usecs
[ 24.723309] calling fst_init+0x0/0x3d @ 1
[ 24.726648] bus: 'pci': add driver fst
[ 24.733763] initcall fst_init+0x0/0x3d returned 0 after 6510 usecs
[ 24.736643] calling init_lmc+0x0/0x16 @ 1
[ 24.743314] bus: 'pci': add driver lmc
[ 24.747713] initcall init_lmc+0x0/0x16 returned 0 after 3255 usecs
[ 24.753309] calling init_dlci+0x0/0x2a @ 1
[ 24.756643] DLCI driver v0.35, 4 Jan 1997, mike.mclagan@linux.org.
[ 24.763309] initcall init_dlci+0x0/0x2a returned 0 after 6510 usecs
[ 24.769976] calling cycx_drv_init+0x0/0x1f @ 1
[ 24.773308] Cyclom 2X Support Module v0.6 (c) 1998-2003 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
[ 24.783309] initcall cycx_drv_init+0x0/0x1f returned 0 after 9765 usecs
[ 24.789975] calling cycx_init+0x0/0xe8 @ 1
[ 24.793309] CYCLOM 2X(tm) Sync Card Driver v0.11 (c) 1998-2003 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
[ 24.803314] initcall cycx_init+0x0/0xe8 returned 0 after 9765 usecs
[ 24.809976] calling wanxl_init_module+0x0/0x16 @ 1
[ 24.813314] bus: 'pci': add driver wanXL
[ 24.820187] initcall wanxl_init_module+0x0/0x16 returned 0 after 6510 usecs
[ 24.826643] calling pci200_init_module+0x0/0x39 @ 1
[ 24.829981] bus: 'pci': add driver PCI200SYN
[ 24.836290] initcall pci200_init_module+0x0/0x39 returned 0 after 3255 usecs
[ 24.839976] calling pc300_init_module+0x0/0x5b @ 1
[ 24.846648] bus: 'pci': add driver PC300
[ 24.852066] initcall pc300_init_module+0x0/0x5b returned 0 after 3255 usecs
[ 24.856643] calling arcnet_init+0x0/0x50 @ 1
[ 24.859974] arcnet loaded.
[ 24.863310] initcall arcnet_init+0x0/0x50 returned 0 after 3255 usecs
[ 24.869976] calling arcnet_rfc1201_init+0x0/0x65 @ 1
[ 24.876641] arcnet: RFC1201 "standard" (`a') encapsulation support loaded.
[ 24.883311] initcall arcnet_rfc1201_init+0x0/0x65 returned 0 after 6510 usecs
[ 24.889976] calling arcnet_rfc1051_init+0x0/0x3d @ 1
[ 24.893308] arcnet: RFC1051 "simple standard" (`s') encapsulation support loaded.
[ 24.903309] initcall arcnet_rfc1051_init+0x0/0x3d returned 0 after 9765 usecs
[ 24.909975] calling com90xx_init+0x0/0xda2 @ 1
[ 24.913309] arcnet: COM90xx chipset support
[ 25.217874] S3: No ARCnet cards found.
[ 25.223311] initcall com90xx_init+0x0/0xda2 returned -5 after 302734 usecs
[ 25.229976] initcall com90xx_init+0x0/0xda2 returned with error code -5
[ 25.236642] calling com90io_init+0x0/0x418 @ 1
[ 25.239978] arcnet: COM90xx IO-mapped mode support (by David Woodhouse et el.)
[ 25.246641] E-mail me if you actually test this driver, please!
[ 25.253308] arc%d: No autoprobe for IO mapped cards; you must specify the base address!
[ 25.259977] initcall com90io_init+0x0/0x418 returned -19 after 19531 usecs
[ 25.266642] calling arc_rimi_init+0x0/0x431 @ 1
[ 25.273309] arcnet: RIM I (entirely mem-mapped) support
[ 25.276640] E-mail me if you actually test the RIM I driver, please!
[ 25.283308] arc%d: Given: node 00h, shmem 0h, irq 0
[ 25.289974] arc%d: No autoprobe for RIM I; you must specify the shmem and irq!
[ 25.296644] initcall arc_rimi_init+0x0/0x431 returned -5 after 22786 usecs
[ 25.303309] initcall arc_rimi_init+0x0/0x431 returned with error code -5
[ 25.309975] calling com20020pci_init+0x0/0x2a @ 1
[ 25.313307] arcnet: COM20020 PCI support
[ 25.319981] bus: 'pci': add driver com20020
[ 25.324335] initcall com20020pci_init+0x0/0x2a returned 0 after 9765 usecs
[ 25.329976] calling init_fmvj18x_cs+0x0/0xf @ 1
[ 25.333315] bus: 'pcmcia': add driver fmvj18x_cs
[ 25.340359] initcall init_fmvj18x_cs+0x0/0xf returned 0 after 6510 usecs
[ 25.346642] calling init_nmclan_cs+0x0/0xf @ 1
[ 25.349975] bus: 'pcmcia': add driver nmclan_cs
[ 25.356034] initcall init_nmclan_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.359976] calling init_pcnet_cs+0x0/0xf @ 1
[ 25.366680] bus: 'pcmcia': add driver pcnet_cs
[ 25.371464] initcall init_pcnet_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.376642] calling init_smc91c92_cs+0x0/0xf @ 1
[ 25.379980] bus: 'pcmcia': add driver smc91c92_cs
[ 25.387327] initcall init_smc91c92_cs+0x0/0xf returned 0 after 6510 usecs
[ 25.393309] calling init_xirc2ps_cs+0x0/0xf @ 1
[ 25.396648] bus: 'pcmcia': add driver xirc2ps_cs
[ 25.403271] initcall init_xirc2ps_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.406642] calling init_com20020_cs+0x0/0xf @ 1
[ 25.413309] bus: 'pcmcia': add driver com20020_cs
[ 25.419306] initcall init_com20020_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.423309] calling init_axnet_cs+0x0/0xf @ 1
[ 25.429979] bus: 'pcmcia': add driver axnet_cs
[ 25.434909] initcall init_axnet_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.439976] calling catc_init+0x0/0x2d @ 1
[ 25.443309] bus: 'usb': add driver catc
[ 25.449382] usbcore: registered new interface driver catc
[ 25.453310] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
[ 25.459975] initcall catc_init+0x0/0x2d returned 0 after 16276 usecs
[ 25.466642] calling kaweth_init+0x0/0x16 @ 1
[ 25.469975] bus: 'usb': add driver kaweth
[ 25.475272] usbcore: registered new interface driver kaweth
[ 25.479979] initcall kaweth_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.486653] calling hso_init+0x0/0x150 @ 1
[ 25.489974] hso: drivers/net/usb/hso.c: 1.2 Option Wireless
[ 25.496651] bus: 'usb': add driver hso
[ 25.501319] usbcore: registered new interface driver hso
[ 25.503313] initcall hso_init+0x0/0x150 returned 0 after 13020 usecs
[ 25.509975] calling asix_init+0x0/0x16 @ 1
[ 25.516642] bus: 'usb': add driver asix
[ 25.520897] usbcore: registered new interface driver asix
[ 25.523311] initcall asix_init+0x0/0x16 returned 0 after 6510 usecs
[ 25.529975] calling cdc_init+0x0/0x16 @ 1
[ 25.533308] bus: 'usb': add driver cdc_ether
[ 25.540833] usbcore: registered new interface driver cdc_ether
[ 25.543310] initcall cdc_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.549975] calling eem_init+0x0/0x16 @ 1
[ 25.556642] bus: 'usb': add driver cdc_eem
[ 25.560941] usbcore: registered new interface driver cdc_eem
[ 25.563310] initcall eem_init+0x0/0x16 returned 0 after 6510 usecs
[ 25.569975] calling dm9601_init+0x0/0x16 @ 1
[ 25.576642] bus: 'usb': add driver dm9601
[ 25.581050] usbcore: registered new interface driver dm9601
[ 25.583310] initcall dm9601_init+0x0/0x16 returned 0 after 6510 usecs
[ 25.589975] calling smsc95xx_init+0x0/0x16 @ 1
[ 25.596642] bus: 'usb': add driver smsc95xx
[ 25.601677] usbcore: registered new interface driver smsc95xx
[ 25.606644] initcall smsc95xx_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.613308] calling usbnet_init+0x0/0x16 @ 1
[ 25.616641] bus: 'usb': add driver gl620a
[ 25.622305] usbcore: registered new interface driver gl620a
[ 25.626650] initcall usbnet_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.633309] calling net1080_init+0x0/0x16 @ 1
[ 25.636642] bus: 'usb': add driver net1080
[ 25.642761] usbcore: registered new interface driver net1080
[ 25.646644] initcall net1080_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.653311] calling plusb_init+0x0/0x16 @ 1
[ 25.656641] bus: 'usb': add driver plusb
[ 25.663040] usbcore: registered new interface driver plusb
[ 25.666644] initcall plusb_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.673308] calling rndis_init+0x0/0x16 @ 1
[ 25.676641] bus: 'usb': add driver rndis_host
[ 25.683412] usbcore: registered new interface driver rndis_host
[ 25.686644] initcall rndis_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.693308] calling mcs7830_init+0x0/0x16 @ 1
[ 25.699976] bus: 'usb': add driver MOSCHIP usb-ethernet driver
[ 25.705858] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 25.709977] initcall mcs7830_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.716642] calling usbnet_init+0x0/0x26 @ 1
[ 25.723313] initcall usbnet_init+0x0/0x26 returned 0 after 0 usecs
[ 25.729975] calling int51x1_init+0x0/0x16 @ 1
[ 25.733308] bus: 'usb': add driver int51x1
[ 25.738708] usbcore: registered new interface driver int51x1
[ 25.743311] initcall int51x1_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.749975] calling usbpn_init+0x0/0x16 @ 1
[ 25.753308] bus: 'usb': add driver cdc_phonet
[ 25.759421] usbcore: registered new interface driver cdc_phonet
[ 25.763311] initcall usbpn_init+0x0/0x16 returned 0 after 9765 usecs
[ 25.769975] calling ipw2100_init+0x0/0x68 @ 1
[ 25.773308] ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2
[ 25.779974] ipw2100: Copyright(c) 2003-2006 Intel Corporation
[ 25.786649] bus: 'pci': add driver ipw2100
[ 25.792631] initcall ipw2100_init+0x0/0x68 returned 0 after 16276 usecs
[ 25.796642] calling ieee80211_init+0x0/0x1b @ 1
[ 25.803308] ieee80211: 802.11 data/management/control stack, git-1.1.13
[ 25.809974] ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
[ 25.816642] initcall ieee80211_init+0x0/0x1b returned 0 after 13020 usecs
[ 25.823308] calling strip_init_driver+0x0/0x57 @ 1
[ 25.829974] STRIP: Version 1.3A-STUART.CHESHIRE (unlimited channels)
[ 25.833314] initcall strip_init_driver+0x0/0x57 returned 0 after 3255 usecs
[ 25.843308] calling init_netwave_cs+0x0/0xf @ 1
[ 25.846642] bus: 'pcmcia': add driver netwave_cs
[ 25.852769] initcall init_netwave_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.856642] calling init_wavelan_cs+0x0/0xf @ 1
[ 25.863309] bus: 'pcmcia': add driver wavelan_cs
[ 25.868604] initcall init_wavelan_cs+0x0/0xf returned 0 after 3255 usecs
[ 25.873310] calling airo_init_module+0x0/0xce @ 1
[ 25.879991] airo(): Probing for PCI adapters
[ 25.883314] bus: 'pci': add driver airo
[ 25.888159] airo(): Finished probing for PCI adapters
[ 25.889978] initcall airo_init_module+0x0/0xce returned 0 after 9765 usecs
[ 25.896644] calling airo_cs_init+0x0/0x14 @ 1
[ 25.903310] bus: 'pcmcia': add driver airo_cs
[ 25.908761] initcall airo_cs_init+0x0/0x14 returned 0 after 3255 usecs
[ 25.913312] calling atmel_init_module+0x0/0x16 @ 1
[ 25.919981] bus: 'pci': add driver atmel
[ 25.924027] initcall atmel_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 25.929976] calling atmel_cs_init+0x0/0x14 @ 1
[ 25.933312] bus: 'pcmcia': add driver atmel_cs
[ 25.939876] initcall atmel_cs_init+0x0/0x14 returned 0 after 3255 usecs
[ 25.943308] calling hostap_init+0x0/0x3b @ 1
[ 25.949978] initcall hostap_init+0x0/0x3b returned 0 after 0 usecs
[ 25.956642] calling init_prism2_pccard+0x0/0xf @ 1
[ 25.959981] bus: 'pcmcia': add driver hostap_cs
[ 25.966311] initcall init_prism2_pccard+0x0/0xf returned 0 after 3255 usecs
[ 25.969975] calling init_prism2_plx+0x0/0x16 @ 1
[ 25.976648] bus: 'pci': add driver hostap_plx
[ 25.982273] initcall init_prism2_plx+0x0/0x16 returned 0 after 3255 usecs
[ 25.986642] calling b43_init+0x0/0x4a @ 1
[ 25.989985] bus: 'ssb': add driver b43
[ 25.996824] Broadcom 43xx driver loaded [ Features: PL, Firmware-ID: FW13 ]
[ 26.003310] initcall b43_init+0x0/0x4a returned 0 after 13020 usecs
[ 26.006642] calling rtl8180_init+0x0/0x16 @ 1
[ 26.013314] bus: 'pci': add driver rtl8180
[ 26.018510] initcall rtl8180_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.023309] calling rtl8187_init+0x0/0x16 @ 1
[ 26.026642] bus: 'usb': add driver rtl8187
[ 26.033485] usbcore: registered new interface driver rtl8187
[ 26.036644] initcall rtl8187_init+0x0/0x16 returned 0 after 9765 usecs
[ 26.043308] calling wl3501_init_module+0x0/0xf @ 1
[ 26.049975] bus: 'pcmcia': add driver wl3501_cs
[ 26.054979] initcall wl3501_init_module+0x0/0xf returned 0 after 3255 usecs
[ 26.059975] calling rndis_wlan_init+0x0/0x16 @ 1
[ 26.063308] bus: 'usb': add driver rndis_wlan
[ 26.070928] usbcore: registered new interface driver rndis_wlan
[ 26.076644] initcall rndis_wlan_init+0x0/0x16 returned 0 after 13020 usecs
[ 26.083308] calling zd1201_init+0x0/0x16 @ 1
[ 26.086642] bus: 'usb': add driver zd1201
[ 26.091990] usbcore: registered new interface driver zd1201
[ 26.096644] initcall zd1201_init+0x0/0x16 returned 0 after 9765 usecs
[ 26.103309] calling lbtf_init_module+0x0/0x3f @ 1
[ 26.108697] initcall lbtf_init_module+0x0/0x3f returned 0 after 0 usecs
[ 26.113310] calling if_usb_init_module+0x0/0x16 @ 1
[ 26.119976] bus: 'usb': add driver lbtf_usb
[ 26.124415] usbcore: registered new interface driver lbtf_usb
[ 26.129978] initcall if_usb_init_module+0x0/0x16 returned 0 after 9765 usecs
[ 26.136644] calling adm8211_init+0x0/0x16 @ 1
[ 26.139982] bus: 'pci': add driver adm8211
[ 26.145651] initcall adm8211_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.149975] calling mwl8k_init+0x0/0x16 @ 1
[ 26.153313] bus: 'pci': add driver mwl8k
[ 26.160300] initcall mwl8k_init+0x0/0x16 returned 0 after 6510 usecs
[ 26.163309] calling iwl_init+0x0/0x62 @ 1
[ 26.169976] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27k
[ 26.176640] iwlagn: Copyright(c) 2003-2009 Intel Corporation
[ 26.183315] bus: 'pci': add driver iwlagn
[ 26.187430] initcall iwl_init+0x0/0x62 returned 0 after 16276 usecs
[ 26.193309] calling iwl3945_init+0x0/0x62 @ 1
[ 26.196640] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.2.26ks
[ 26.206641] iwl3945: Copyright(c) 2003-2009 Intel Corporation
[ 26.209981] bus: 'pci': add driver iwl3945
[ 26.216898] initcall iwl3945_init+0x0/0x62 returned 0 after 19531 usecs
[ 26.223309] calling init_ath5k_pci+0x0/0x2d @ 1
[ 26.226647] bus: 'pci': add driver ath5k
[ 26.231980] initcall init_ath5k_pci+0x0/0x2d returned 0 after 3255 usecs
[ 26.236642] calling ar9170_init+0x0/0x16 @ 1
[ 26.239975] bus: 'usb': add driver ar9170usb
[ 26.247222] usbcore: registered new interface driver ar9170usb
[ 26.249977] initcall ar9170_init+0x0/0x16 returned 0 after 9765 usecs
[ 26.256642] calling init_mac80211_hwsim+0x0/0x4cf @ 1
[ 26.263308] device class 'mac80211_hwsim': registering
[ 26.269670] mac80211_hwsim: Initializing radio 0
[ 26.273324] device: 'hwsim0': device_add
[ 26.278165] device: 'phy0': device_add
[ 26.281897] device: 'rfkill0': device_add
[ 26.285899] device: 'wmaster0': device_add
[ 26.290497] phy0: Selected rate control algorithm 'minstrel'
[ 26.293408] device: 'wlan0': device_add
[ 26.300474] phy0: hwaddr 02:00:00:00:00:00 registered
[ 26.303319] mac80211_hwsim: Initializing radio 1
[ 26.309984] device: 'hwsim1': device_add
[ 26.314435] device: 'phy1': device_add
[ 26.318170] device: 'rfkill1': device_add
[ 26.322165] device: 'wmaster1': device_add
[ 26.326505] phy1: Selected rate control algorithm 'minstrel'
[ 26.330075] device: 'wlan1': device_add
[ 26.336507] phy1: hwaddr 02:00:00:00:01:00 registered
[ 26.340008] device: 'hwsim0': device_add
[ 26.345993] initcall init_mac80211_hwsim+0x0/0x4cf returned 0 after 78124 usecs
[ 26.353309] calling iwm_sdio_init_module+0x0/0xf @ 1
[ 26.356642] bus: 'sdio': add driver iwm_sdio
[ 26.363086] initcall iwm_sdio_init_module+0x0/0xf returned 0 after 3255 usecs
[ 26.369975] calling xircom_init+0x0/0x16 @ 1
[ 26.373318] bus: 'pci': add driver xircom_cb
[ 26.378792] initcall xircom_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.383309] calling w840_init+0x0/0x20 @ 1
[ 26.386640] winbond-840.c:v1.01-e (2.4 port) Sep-11-2006 Donald Becker <becker@scyld.com>
[ 26.386642] http://www.scyld.com/network/drivers.html
[ 26.399981] bus: 'pci': add driver winbond-840
[ 26.407759] initcall w840_init+0x0/0x20 returned 0 after 19531 usecs
[ 26.413309] calling de_init+0x0/0x16 @ 1
[ 26.416648] bus: 'pci': add driver de2104x
[ 26.422145] initcall de_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.426645] calling tulip_init+0x0/0x2a @ 1
[ 26.429981] bus: 'pci': add driver tulip
[ 26.436361] initcall tulip_init+0x0/0x2a returned 0 after 3255 usecs
[ 26.439975] calling uli526x_init_module+0x0/0x8d @ 1
[ 26.446640] uli526x: ULi M5261/M5263 net driver, version 0.9.3 (2005-7-29)
[ 26.453315] bus: 'pci': add driver uli526x
[ 26.458610] initcall uli526x_init_module+0x0/0x8d returned 0 after 9765 usecs
[ 26.463311] calling init_netconsole+0x0/0x1c6 @ 1
[ 26.469982] console [netcon0] enabled
[ 26.473307] netconsole: network logging started
[ 26.476642] initcall init_netconsole+0x0/0x1c6 returned 0 after 6510 usecs
[ 26.483308] calling niu_init+0x0/0x39 @ 1
[ 26.486649] bus: 'pci': add driver niu
[ 26.493315] initcall niu_init+0x0/0x39 returned 0 after 6510 usecs
[ 26.496641] calling init+0x0/0xf @ 1
[ 26.499975] bus: 'virtio': add driver virtio_net
[ 26.507683] initcall init+0x0/0xf returned 0 after 6510 usecs
[ 26.513309] calling efx_init_module+0x0/0xbf @ 1
[ 26.516640] Solarflare NET driver v2.3
[ 26.521789] bus: 'pci': add driver sfc
[ 26.523389] initcall efx_init_module+0x0/0xbf returned 0 after 6510 usecs
[ 26.526643] calling i2400m_driver_init+0x0/0x7 @ 1
[ 26.529975] initcall i2400m_driver_init+0x0/0x7 returned 0 after 0 usecs
[ 26.533308] calling i2400ms_driver_init+0x0/0xf @ 1
[ 26.536642] bus: 'sdio': add driver i2400m_sdio
[ 26.543317] initcall i2400ms_driver_init+0x0/0xf returned 0 after 6510 usecs
[ 26.546641] calling fw_core_init+0x0/0x72 @ 1
[ 26.550018] bus: 'firewire': registered
[ 26.553315] initcall fw_core_init+0x0/0x72 returned 0 after 3255 usecs
[ 26.556641] calling fw_ohci_init+0x0/0x16 @ 1
[ 26.559985] bus: 'pci': add driver firewire_ohci
[ 26.563366] initcall fw_ohci_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.566643] calling sbp2_init+0x0/0x41 @ 1
[ 26.570004] bus: 'firewire': add driver sbp2
[ 26.573357] initcall sbp2_init+0x0/0x41 returned 0 after 3255 usecs
[ 26.576641] calling fwnet_init+0x0/0x64 @ 1
[ 26.579980] bus: 'firewire': add driver net
[ 26.583355] initcall fwnet_init+0x0/0x64 returned 0 after 3255 usecs
[ 26.586643] calling ohci1394_init+0x0/0x16 @ 1
[ 26.589984] bus: 'pci': add driver ohci1394
[ 26.593375] initcall ohci1394_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.596642] calling video1394_init_module+0x0/0xb4 @ 1
[ 26.599979] bus: 'ieee1394': add driver video1394
[ 26.603355] video1394: Installed video1394 module
[ 26.606643] initcall video1394_init_module+0x0/0xb4 returned 0 after 6510 usecs
[ 26.609974] calling init_raw1394+0x0/0xd1 @ 1
[ 26.613310] device: 'raw1394': device_add
[ 26.616751] ieee1394: raw1394: /dev/raw1394 device initialized
[ 26.619976] bus: 'ieee1394': add driver raw1394
[ 26.623355] initcall init_raw1394+0x0/0xd1 returned 0 after 9765 usecs
[ 26.626642] calling uio_init+0x0/0x7 @ 1
[ 26.629975] initcall uio_init+0x0/0x7 returned 0 after 0 usecs
[ 26.633308] calling hilscher_init_module+0x0/0x16 @ 1
[ 26.636651] bus: 'pci': add driver hilscher
[ 26.640038] initcall hilscher_init_module+0x0/0x16 returned 0 after 3255 usecs
[ 26.643309] calling uio_pdrv_init+0x0/0xf @ 1
[ 26.646643] bus: 'platform': add driver uio_pdrv
[ 26.650026] initcall uio_pdrv_init+0x0/0xf returned 0 after 3255 usecs
[ 26.653309] calling uio_pdrv_genirq_init+0x0/0xf @ 1
[ 26.656642] bus: 'platform': add driver uio_pdrv_genirq
[ 26.660024] initcall uio_pdrv_genirq_init+0x0/0xf returned 0 after 3255 usecs
[ 26.663309] calling smx_ce_init_module+0x0/0xf @ 1
[ 26.666642] bus: 'platform': add driver smx-ce
[ 26.670023] initcall smx_ce_init_module+0x0/0xf returned 0 after 3255 usecs
[ 26.673309] calling aectc_init+0x0/0x16 @ 1
[ 26.676651] bus: 'pci': add driver aectc
[ 26.680035] initcall aectc_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.683309] calling cdrom_init+0x0/0x5b @ 1
[ 26.686736] initcall cdrom_init+0x0/0x5b returned 0 after 0 usecs
[ 26.689974] calling nonstatic_sysfs_init+0x0/0xf @ 1
[ 26.693310] initcall nonstatic_sysfs_init+0x0/0xf returned 0 after 0 usecs
[ 26.696642] calling yenta_socket_init+0x0/0x16 @ 1
[ 26.699985] bus: 'pci': add driver yenta_cardbus
[ 26.703371] initcall yenta_socket_init+0x0/0x16 returned 0 after 3255 usecs
[ 26.706643] calling pd6729_module_init+0x0/0x1b @ 1
[ 26.709984] bus: 'pci': add driver pd6729
[ 26.713367] initcall pd6729_module_init+0x0/0x1b returned 0 after 3255 usecs
[ 26.716642] calling uwb_subsys_init+0x0/0x46 @ 1
[ 26.719975] device class 'uwb_rc': registering
[ 26.723356] initcall uwb_subsys_init+0x0/0x46 returned 0 after 3255 usecs
[ 26.726642] calling hwarc_driver_init+0x0/0x16 @ 1
[ 26.729977] bus: 'usb': add driver hwa-rc
[ 26.733360] usbcore: registered new interface driver hwa-rc
[ 26.736645] initcall hwarc_driver_init+0x0/0x16 returned 0 after 6510 usecs
[ 26.739975] calling i1480_dfu_driver_init+0x0/0x16 @ 1
[ 26.743310] bus: 'usb': add driver i1480-dfu-usb
[ 26.746692] usbcore: registered new interface driver i1480-dfu-usb
[ 26.749979] initcall i1480_dfu_driver_init+0x0/0x16 returned 0 after 6510 usecs
[ 26.753308] calling i1480_est_init+0x0/0x78 @ 1
[ 26.756642] initcall i1480_est_init+0x0/0x78 returned 0 after 0 usecs
[ 26.759975] calling gpio_vbus_init+0x0/0x14 @ 1
[ 26.763309] bus: 'platform': add driver gpio-vbus
[ 26.766691] bus: 'platform': remove driver gpio-vbus
[ 26.770014] driver: 'gpio-vbus': driver_release
[ 26.773309] initcall gpio_vbus_init+0x0/0x14 returned -19 after 9765 usecs
[ 26.776641] calling mon_init+0x0/0xef @ 1
[ 26.779980] device class 'usbmon': registering
[ 26.783353] device: 'usbmon0': device_add
[ 26.786722] initcall mon_init+0x0/0xef returned 0 after 6510 usecs
[ 26.789975] calling ehci_hcd_init+0x0/0x68 @ 1
[ 26.793307] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 26.796651] bus: 'pci': add driver ehci_hcd
[ 26.799987] bus: 'pci': driver_probe_device: matched device 0000:00:02.1 with driver ehci_hcd
[ 26.803307] bus: 'pci': really_probe: probing driver ehci_hcd with device 0000:00:02.1
[ 26.806657] ehci_hcd 0000:00:02.1: can't find IRQ for PCI INT B; probably buggy MP table
[ 26.809975] ehci_hcd 0000:00:02.1: Found HC with no IRQ. Check BIOS/PCI 0000:00:02.1 setup!
[ 26.813310] ehci_hcd 0000:00:02.1: init 0000:00:02.1 fail, -19
[ 26.816721] initcall ehci_hcd_init+0x0/0x68 returned 0 after 22786 usecs
[ 26.819976] calling oxu_module_init+0x0/0xf @ 1
[ 26.823309] bus: 'platform': add driver oxu210hp-hcd
[ 26.826691] initcall oxu_module_init+0x0/0xf returned 0 after 3255 usecs
[ 26.829983] calling isp116x_init+0x0/0x38 @ 1
[ 26.833307] 116x: driver isp116x-hcd, 03 Nov 2005
[ 26.836642] bus: 'platform': add driver isp116x-hcd
[ 26.840030] initcall isp116x_init+0x0/0x38 returned 0 after 6510 usecs
[ 26.843311] calling ohci_hcd_mod_init+0x0/0x6d @ 1
[ 26.846640] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 26.849984] bus: 'pci': add driver ohci_hcd
[ 26.853317] bus: 'pci': driver_probe_device: matched device 0000:00:02.0 with driver ohci_hcd
[ 26.856641] bus: 'pci': really_probe: probing driver ohci_hcd with device 0000:00:02.0
[ 26.859986] ohci_hcd 0000:00:02.0: can't find IRQ for PCI INT A; probably buggy MP table
[ 26.863309] ohci_hcd 0000:00:02.0: Found HC with no IRQ. Check BIOS/PCI 0000:00:02.0 setup!
[ 26.866642] ohci_hcd 0000:00:02.0: init 0000:00:02.0 fail, -19
[ 26.873320] bus: 'ssb': add driver ohci_hcd
[ 26.876697] initcall ohci_hcd_mod_init+0x0/0x6d returned 0 after 29296 usecs
[ 26.879977] calling uhci_hcd_init+0x0/0xa6 @ 1
[ 26.883306] uhci_hcd: USB Universal Host Controller Interface driver
[ 26.886658] bus: 'pci': add driver uhci_hcd
[ 26.890035] initcall uhci_hcd_init+0x0/0xa6 returned 0 after 6510 usecs
[ 26.893310] calling sl811h_init+0x0/0x38 @ 1
[ 26.896641] sl811: driver sl811-hcd, 19 May 2005
[ 26.899975] bus: 'platform': add driver sl811-hcd
[ 26.903357] initcall sl811h_init+0x0/0x38 returned 0 after 6510 usecs
[ 26.906643] calling init_sl811_cs+0x0/0xf @ 1
[ 26.909976] bus: 'pcmcia': add driver sl811_cs
[ 26.913357] initcall init_sl811_cs+0x0/0xf returned 0 after 3255 usecs
[ 26.916642] calling r8a66597_init+0x0/0x38 @ 1
[ 26.919974] r8a66597_hcd: driver r8a66597_hcd, 2009-05-26
[ 26.923308] bus: 'platform': add driver r8a66597_hcd
[ 26.926691] initcall r8a66597_init+0x0/0x38 returned 0 after 6510 usecs
[ 26.929976] calling isp1760_init+0x0/0x44 @ 1
[ 26.933313] bus: 'platform': add driver isp1760
[ 26.936690] bus: 'pci': add driver isp1760
[ 26.940036] initcall isp1760_init+0x0/0x44 returned 0 after 6510 usecs
[ 26.943308] calling hwahc_driver_init+0x0/0x16 @ 1
[ 26.946642] bus: 'usb': add driver hwa-hc
[ 26.950021] usbcore: registered new interface driver hwa-hc
[ 26.953313] initcall hwahc_driver_init+0x0/0x16 returned 0 after 6510 usecs
[ 26.956641] calling c67x00_init+0x0/0xf @ 1
[ 26.959975] bus: 'platform': add driver c67x00
[ 26.963356] initcall c67x00_init+0x0/0xf returned 0 after 3255 usecs
[ 26.966643] calling wusbcore_init+0x0/0x6c @ 1
[ 26.969984] initcall wusbcore_init+0x0/0x6c returned 0 after 0 usecs
[ 26.973308] calling acm_init+0x0/0xcb @ 1
[ 26.976647] bus: 'usb': add driver cdc_acm
[ 26.980022] usbcore: registered new interface driver cdc_acm
[ 26.983309] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[ 26.986642] initcall acm_init+0x0/0xcb returned 0 after 9765 usecs
[ 26.989974] calling usblp_init+0x0/0x16 @ 1
[ 26.993309] bus: 'usb': add driver usblp
[ 26.996688] usbcore: registered new interface driver usblp
[ 26.999981] initcall usblp_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.003308] calling usbtmc_init+0x0/0x2d @ 1
[ 27.006641] bus: 'usb': add driver usbtmc
[ 27.013350] usbcore: registered new interface driver usbtmc
[ 27.016645] initcall usbtmc_init+0x0/0x2d returned 0 after 9765 usecs
[ 27.019975] calling usb_stor_init+0x0/0x42 @ 1
[ 27.023307] Initializing USB Mass Storage driver...
[ 27.026641] bus: 'usb': add driver usb-storage
[ 27.030023] usbcore: registered new interface driver usb-storage
[ 27.033309] USB Mass Storage support registered.
[ 27.036643] initcall usb_stor_init+0x0/0x42 returned 0 after 13020 usecs
[ 27.039974] calling usb_usual_init+0x0/0x32 @ 1
[ 27.043308] bus: 'usb': add driver libusual
[ 27.046689] usbcore: registered new interface driver libusual
[ 27.049978] initcall usb_usual_init+0x0/0x32 returned 0 after 6510 usecs
[ 27.053308] calling alauda_init+0x0/0x16 @ 1
[ 27.056642] bus: 'usb': add driver ums-alauda
[ 27.060021] usbcore: registered new interface driver ums-alauda
[ 27.063312] initcall alauda_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.066642] calling datafab_init+0x0/0x16 @ 1
[ 27.069975] bus: 'usb': add driver ums-datafab
[ 27.073355] usbcore: registered new interface driver ums-datafab
[ 27.076645] initcall datafab_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.079975] calling karma_init+0x0/0x16 @ 1
[ 27.083309] bus: 'usb': add driver ums-karma
[ 27.086694] usbcore: registered new interface driver ums-karma
[ 27.089979] initcall karma_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.093308] calling sddr09_init+0x0/0x16 @ 1
[ 27.096642] bus: 'usb': add driver ums-sddr09
[ 27.100021] usbcore: registered new interface driver ums-sddr09
[ 27.103312] initcall sddr09_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.106641] calling sddr55_init+0x0/0x16 @ 1
[ 27.109976] bus: 'usb': add driver ums-sddr55
[ 27.113354] usbcore: registered new interface driver ums-sddr55
[ 27.116646] initcall sddr55_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.119975] calling usbat_init+0x0/0x16 @ 1
[ 27.123309] bus: 'usb': add driver ums-usbat
[ 27.126688] usbcore: registered new interface driver ums-usbat
[ 27.129979] initcall usbat_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.133308] calling usb_mdc800_init+0x0/0x31a @ 1
[ 27.136645] bus: 'usb': add driver mdc800
[ 27.140022] usbcore: registered new interface driver mdc800
[ 27.143310] mdc800: v0.7.5 (30/10/2000):USB Driver for Mustek MDC800 Digital Camera
[ 27.146642] initcall usb_mdc800_init+0x0/0x31a returned 0 after 9765 usecs
[ 27.149975] calling microtek_drv_init+0x0/0x16 @ 1
[ 27.153309] bus: 'usb': add driver microtekX6
[ 27.156689] usbcore: registered new interface driver microtekX6
[ 27.159978] initcall microtek_drv_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.163308] calling adu_init+0x0/0x7b @ 1
[ 27.166642] bus: 'usb': add driver adutux
[ 27.170022] usbcore: registered new interface driver adutux
[ 27.173310] adutux adutux (see www.ontrak.net) v0.0.13
[ 27.176640] adutux is an experimental driver. Use at your own risk
[ 27.179975] initcall adu_init+0x0/0x7b returned 0 after 13020 usecs
[ 27.183308] calling appledisplay_init+0x0/0x51 @ 1
[ 27.186650] bus: 'usb': add driver appledisplay
[ 27.190027] usbcore: registered new interface driver appledisplay
[ 27.193311] initcall appledisplay_init+0x0/0x51 returned 0 after 6510 usecs
[ 27.196641] calling berry_init+0x0/0x16 @ 1
[ 27.199975] bus: 'usb': add driver berry_charge
[ 27.203356] usbcore: registered new interface driver berry_charge
[ 27.206645] initcall berry_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.209975] calling cypress_init+0x0/0x2f @ 1
[ 27.213308] bus: 'usb': add driver cypress_cy7c63
[ 27.216686] usbcore: registered new interface driver cypress_cy7c63
[ 27.219979] initcall cypress_init+0x0/0x2f returned 0 after 6510 usecs
[ 27.223308] calling usb_idmouse_init+0x0/0x3a @ 1
[ 27.226639] idmouse: 0.6:Siemens ID Mouse FingerTIP Sensor Driver
[ 27.229975] bus: 'usb': add driver idmouse
[ 27.233353] usbcore: registered new interface driver idmouse
[ 27.236645] initcall usb_idmouse_init+0x0/0x3a returned 0 after 9765 usecs
[ 27.239974] calling isight_firmware_init+0x0/0x16 @ 1
[ 27.243309] bus: 'usb': add driver isight_firmware
[ 27.246687] usbcore: registered new interface driver isight_firmware
[ 27.249979] initcall isight_firmware_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.253308] calling usb_led_init+0x0/0x2f @ 1
[ 27.256644] bus: 'usb': add driver usbled
[ 27.260021] usbcore: registered new interface driver usbled
[ 27.263312] initcall usb_led_init+0x0/0x2f returned 0 after 6510 usecs
[ 27.266641] calling lego_usb_tower_init+0x0/0x75 @ 1
[ 27.269976] bus: 'usb': add driver legousbtower
[ 27.273354] usbcore: registered new interface driver legousbtower
[ 27.276643] legousbtower: v0.96:LEGO USB Tower Driver
[ 27.279976] initcall lego_usb_tower_init+0x0/0x75 returned 0 after 9765 usecs
[ 27.283308] calling usb_rio_init+0x0/0x2d @ 1
[ 27.286642] bus: 'usb': add driver rio500
[ 27.290021] usbcore: registered new interface driver rio500
[ 27.293309] rio500: v1.1:USB Rio 500 driver
[ 27.296642] initcall usb_rio_init+0x0/0x2d returned 0 after 9765 usecs
[ 27.299974] calling usbtest_init+0x0/0x16 @ 1
[ 27.303309] bus: 'usb': add driver usbtest
[ 27.306688] usbcore: registered new interface driver usbtest
[ 27.309978] initcall usbtest_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.313308] calling tv_init+0x0/0x3c @ 1
[ 27.316642] bus: 'usb': add driver trancevibrator
[ 27.320021] usbcore: registered new interface driver trancevibrator
[ 27.323310] trancevibrator: v1.1:PlayStation 2 Trance Vibrator driver
[ 27.326642] initcall tv_init+0x0/0x3c returned 0 after 9765 usecs
[ 27.329975] calling usb_sevseg_init+0x0/0x2f @ 1
[ 27.333309] bus: 'usb': add driver usbsevseg
[ 27.336696] usbcore: registered new interface driver usbsevseg
[ 27.339978] initcall usb_sevseg_init+0x0/0x2f returned 0 after 6510 usecs
[ 27.346648] calling vstusb_init+0x0/0x35 @ 1
[ 27.349976] bus: 'usb': add driver vstusb
[ 27.353363] usbcore: registered new interface driver vstusb
[ 27.356645] initcall vstusb_init+0x0/0x35 returned 0 after 6510 usecs
[ 27.359975] calling usb_sisusb_init+0x0/0x16 @ 1
[ 27.363308] bus: 'usb': add driver sisusb
[ 27.366688] usbcore: registered new interface driver sisusb
[ 27.369979] initcall usb_sisusb_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.373308] calling speedtch_usb_init+0x0/0x16 @ 1
[ 27.376642] bus: 'usb': add driver speedtch
[ 27.380021] usbcore: registered new interface driver speedtch
[ 27.383312] initcall speedtch_usb_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.386641] calling uea_init+0x0/0x22 @ 1
[ 27.389973] [ueagle-atm] driver ueagle 1.4 loaded
[ 27.393309] bus: 'usb': add driver ueagle-atm
[ 27.396688] usbcore: registered new interface driver ueagle-atm
[ 27.399978] initcall uea_init+0x0/0x22 returned 0 after 9765 usecs
[ 27.403308] calling usbatm_usb_init+0x0/0x40 @ 1
[ 27.406641] initcall usbatm_usb_init+0x0/0x40 returned 0 after 0 usecs
[ 27.409974] calling i8042_init+0x0/0xfb @ 1
[ 27.413332] bus: 'platform': add driver i8042
[ 27.416689] Registering platform device 'i8042'. Parent at platform
[ 27.419975] device: 'i8042': device_add
[ 27.423312] bus: 'platform': add device i8042
[ 27.426689] bus: 'platform': driver_probe_device: matched device i8042 with driver i8042
[ 27.429974] bus: 'platform': really_probe: probing driver i8042 with device i8042
[ 27.447824] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 27.449981] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 27.449977] device: 'serio0': device_add
[ 27.449977] bus: 'serio': add device serio0
[ 27.453341] driver: 'i8042': driver_bound: bound to device 'i8042'
[ 27.453341] device: 'serio1': device_add
[ 27.453341] bus: 'serio': add device serio1
[ 27.456643] bus: 'platform': really_probe: bound device i8042 to driver i8042
[ 27.459978] initcall i8042_init+0x0/0xfb returned 0 after 45572 usecs
[ 27.463308] calling serport_init+0x0/0x2b @ 1
[ 27.466642] initcall serport_init+0x0/0x2b returned 0 after 0 usecs
[ 27.469976] calling ct82c710_init+0x0/0x16d @ 1
[ 27.473315] initcall ct82c710_init+0x0/0x16d returned -19 after 0 usecs
[ 27.476641] calling pcips2_init+0x0/0x16 @ 1
[ 27.479984] bus: 'pci': add driver pcips2
[ 27.483347] initcall pcips2_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.486642] calling mousedev_init+0x0/0x51 @ 1
[ 27.489976] device: 'mice': device_add
[ 27.493372] mice: PS/2 mouse device common for all mice
[ 27.496645] initcall mousedev_init+0x0/0x51 returned 0 after 6510 usecs
[ 27.499975] calling joydev_init+0x0/0xf @ 1
[ 27.503309] initcall joydev_init+0x0/0xf returned 0 after 0 usecs
[ 27.506641] calling evdev_init+0x0/0xf @ 1
[ 27.509976] initcall evdev_init+0x0/0xf returned 0 after 0 usecs
[ 27.513310] calling evbug_init+0x0/0xf @ 1
[ 27.516642] initcall evbug_init+0x0/0xf returned 0 after 0 usecs
[ 27.519975] calling atkbd_init+0x0/0x20 @ 1
[ 27.523313] bus: 'serio': add driver atkbd
[ 27.526664] initcall atkbd_init+0x0/0x20 returned 0 after 3255 usecs
[ 27.526664] bus: 'serio': driver_probe_device: matched device serio0 with driver atkbd
[ 27.526664] bus: 'serio': really_probe: probing driver atkbd with device serio0
[ 27.529976] calling lkkbd_init+0x0/0x16 @ 1
[ 27.533308] bus: 'serio': add driver lkkbd
[ 27.536664] initcall lkkbd_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.539975] calling lm8323_init+0x0/0x11 @ 1
[ 27.543309] bus: 'i2c': add driver lm8323
[ 27.546660] initcall lm8323_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.549975] calling matrix_keypad_init+0x0/0xf @ 1
[ 27.553309] bus: 'platform': add driver matrix-keypad
[ 27.556662] initcall matrix_keypad_init+0x0/0xf returned 0 after 3255 usecs
[ 27.559975] calling nkbd_init+0x0/0x16 @ 1
[ 27.563307] bus: 'serio': add driver newtonkbd
[ 27.566662] initcall nkbd_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.569975] calling sunkbd_init+0x0/0x16 @ 1
[ 27.573307] bus: 'serio': add driver sunkbd
[ 27.576662] initcall sunkbd_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.579975] calling xtkbd_init+0x0/0x16 @ 1
[ 27.583307] bus: 'serio': add driver xtkbd
[ 27.586669] initcall xtkbd_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.589975] calling atp_init+0x0/0x16 @ 1
[ 27.593310] bus: 'usb': add driver appletouch
[ 27.596660] usbcore: registered new interface driver appletouch
[ 27.599977] initcall atp_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.603308] calling gpio_mouse_init+0x0/0xf @ 1
[ 27.606641] bus: 'platform': add driver gpio_mouse
[ 27.609995] initcall gpio_mouse_init+0x0/0xf returned 0 after 3255 usecs
[ 27.613309] calling psmouse_init+0x0/0x67 @ 1
[ 27.616665] bus: 'serio': add driver psmouse
[ 27.619996] initcall psmouse_init+0x0/0x67 returned 0 after 3255 usecs
[ 27.623308] calling sermouse_init+0x0/0x16 @ 1
[ 27.626640] bus: 'serio': add driver sermouse
[ 27.629995] initcall sermouse_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.633309] calling synaptics_i2c_init+0x0/0x11 @ 1
[ 27.636641] bus: 'i2c': add driver synaptics_i2c
[ 27.639992] initcall synaptics_i2c_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.643308] calling vsxxxaa_init+0x0/0x16 @ 1
[ 27.646641] bus: 'serio': add driver vsxxxaa
[ 27.649995] initcall vsxxxaa_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.653308] calling usb_acecad_init+0x0/0x2d @ 1
[ 27.656643] bus: 'usb': add driver usb_acecad
[ 27.659999] usbcore: registered new interface driver usb_acecad
[ 27.663308] acecad: v3.2:USB Acecad Flair tablet driver
[ 27.666642] initcall usb_acecad_init+0x0/0x2d returned 0 after 9765 usecs
[ 27.669974] calling aiptek_init+0x0/0x38 @ 1
[ 27.673308] bus: 'usb': add driver aiptek
[ 27.676659] usbcore: registered new interface driver aiptek
[ 27.679975] aiptek: v2.3 (May 2, 2007):Aiptek HyperPen USB Tablet Driver (Linux 2.6.x)
[ 27.683306] aiptek: Bryan W. Headley/Chris Atenasio/Cedric Brun/Rene van Paassen
[ 27.686641] initcall aiptek_init+0x0/0x38 returned 0 after 13020 usecs
[ 27.689974] calling wacom_init+0x0/0x37 @ 1
[ 27.693309] bus: 'usb': add driver wacom
[ 27.696659] usbcore: registered new interface driver wacom
[ 27.699975] wacom: v1.51:USB Wacom Graphire and Wacom Intuos tablet driver
[ 27.703308] initcall wacom_init+0x0/0x37 returned 0 after 9765 usecs
[ 27.706641] calling ad7879_init+0x0/0x11 @ 1
[ 27.709974] bus: 'i2c': add driver ad7879
[ 27.713325] initcall ad7879_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.716641] calling gunze_init+0x0/0x16 @ 1
[ 27.719974] bus: 'serio': add driver gunze
[ 27.723327] initcall gunze_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.726641] calling elo_init+0x0/0x16 @ 1
[ 27.729974] bus: 'serio': add driver elo
[ 27.733337] initcall elo_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.736642] calling fujitsu_init+0x0/0x16 @ 1
[ 27.739974] bus: 'serio': add driver fujitsu_ts
[ 27.743328] initcall fujitsu_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.746641] calling mtouch_init+0x0/0x16 @ 1
[ 27.749974] bus: 'serio': add driver mtouch
[ 27.753327] initcall mtouch_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.756641] calling mk712_init+0x0/0x1ba @ 1
[ 27.759976] mk712: device not present
[ 27.763309] initcall mk712_init+0x0/0x1ba returned -19 after 3255 usecs
[ 27.766641] calling usbtouch_init+0x0/0x16 @ 1
[ 27.769979] bus: 'usb': add driver usbtouchscreen
[ 27.773326] usbcore: registered new interface driver usbtouchscreen
[ 27.776643] initcall usbtouch_init+0x0/0x16 returned 0 after 6510 usecs
[ 27.779975] calling tw_init+0x0/0x16 @ 1
[ 27.783307] bus: 'serio': add driver touchwin
[ 27.786669] initcall tw_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.789976] calling tsc2007_init+0x0/0x11 @ 1
[ 27.793308] bus: 'i2c': add driver tsc2007
[ 27.796658] initcall tsc2007_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.799975] calling da9034_touch_init+0x0/0xf @ 1
[ 27.803308] bus: 'platform': add driver da9034-touch
[ 27.806661] initcall da9034_touch_init+0x0/0xf returned 0 after 3255 usecs
[ 27.809975] calling ds1286_init+0x0/0xf @ 1
[ 27.813308] bus: 'platform': add driver rtc-ds1286
[ 27.816661] initcall ds1286_init+0x0/0xf returned 0 after 3255 usecs
[ 27.819975] calling ds1374_init+0x0/0x11 @ 1
[ 27.823308] bus: 'i2c': add driver rtc-ds1374
[ 27.826658] initcall ds1374_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.829975] calling ds1553_init+0x0/0xf @ 1
[ 27.833308] bus: 'platform': add driver rtc-ds1553
[ 27.836662] initcall ds1553_init+0x0/0xf returned 0 after 3255 usecs
[ 27.839975] calling fm3130_init+0x0/0x11 @ 1
[ 27.843308] bus: 'i2c': add driver rtc-fm3130
[ 27.846658] initcall fm3130_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.849975] calling isl1208_init+0x0/0x11 @ 1
[ 27.853308] bus: 'i2c': add driver rtc-isl1208
[ 27.856659] initcall isl1208_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.859975] calling m48t35_init+0x0/0xf @ 1
[ 27.863308] bus: 'platform': add driver rtc-m48t35
[ 27.866661] initcall m48t35_init+0x0/0xf returned 0 after 3255 usecs
[ 27.869975] calling m48t86_rtc_init+0x0/0xf @ 1
[ 27.873308] bus: 'platform': add driver rtc-m48t86
[ 27.876661] initcall m48t86_rtc_init+0x0/0xf returned 0 after 3255 usecs
[ 27.879975] calling bq4802_init+0x0/0xf @ 1
[ 27.883308] bus: 'platform': add driver rtc-bq4802
[ 27.886661] initcall bq4802_init+0x0/0xf returned 0 after 3255 usecs
[ 27.889975] calling max6900_init+0x0/0x11 @ 1
[ 27.893308] bus: 'i2c': add driver rtc-max6900
[ 27.896658] initcall max6900_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.899975] calling pcf8583_init+0x0/0x11 @ 1
[ 27.903307] bus: 'i2c': add driver pcf8583
[ 27.906658] initcall pcf8583_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.909975] calling rs5c372_init+0x0/0x11 @ 1
[ 27.913307] bus: 'i2c': add driver rtc-rs5c372
[ 27.916659] initcall rs5c372_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.919975] calling rx8025_init+0x0/0x11 @ 1
[ 27.923308] bus: 'i2c': add driver rtc-rx8025
[ 27.926659] initcall rx8025_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.929975] calling s35390a_rtc_init+0x0/0x11 @ 1
[ 27.933308] bus: 'i2c': add driver rtc-s35390a
[ 27.936659] initcall s35390a_rtc_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.939975] calling twl4030_rtc_init+0x0/0xf @ 1
[ 27.943308] bus: 'platform': add driver twl4030_rtc
[ 27.946661] initcall twl4030_rtc_init+0x0/0xf returned 0 after 3255 usecs
[ 27.949975] calling x1205_init+0x0/0x11 @ 1
[ 27.953308] bus: 'i2c': add driver rtc-x1205
[ 27.956659] initcall x1205_init+0x0/0x11 returned 0 after 3255 usecs
[ 27.959975] calling i2c_dev_init+0x0/0x8b @ 1
[ 27.963306] i2c /dev entries driver
[ 27.966642] device class 'i2c-dev': registering
[ 27.969993] bus: 'i2c': add driver dev_driver
[ 27.973328] device: 'i2c-0': device_add
[ 27.976686] initcall i2c_dev_init+0x0/0x8b returned 0 after 13020 usecs
[ 27.979975] calling amd756_init+0x0/0x16 @ 1
[ 27.983319] bus: 'pci': add driver amd756_smbus
[ 27.986686] initcall amd756_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.989975] calling i2c_amd8111_init+0x0/0x16 @ 1
[ 27.993317] bus: 'pci': add driver amd8111_smbus2
[ 27.996671] initcall i2c_amd8111_init+0x0/0x16 returned 0 after 3255 usecs
[ 27.999975] calling i2c_i801_init+0x0/0x16 @ 1
[ 28.003316] bus: 'pci': add driver i801_smbus
[ 28.006676] initcall i2c_i801_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.009975] calling i2c_sch_init+0x0/0x16 @ 1
[ 28.013317] bus: 'pci': add driver isch_smbus
[ 28.016672] initcall i2c_sch_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.019975] calling nforce2_init+0x0/0x16 @ 1
[ 28.023316] bus: 'pci': add driver nForce2_smbus
[ 28.026650] bus: 'pci': driver_probe_device: matched device 0000:00:01.1 with driver nForce2_smbus
[ 28.026665] device: 'input0': device_add
[ 28.026810] input: AT Translated Set 2 keyboard as /class/input/input0
[ 28.026822] device: 'event0': device_add
[ 28.026979] evbug.c: Connected device: input0 (AT Translated Set 2 keyboard at isa0060/serio0/input0)
[ 28.026983] driver: 'serio0': driver_bound: bound to device 'atkbd'
[ 28.026987] bus: 'serio': really_probe: bound device serio0 to driver atkbd
[ 28.026992] bus: 'serio': driver_probe_device: matched device serio1 with driver atkbd
[ 28.026995] bus: 'serio': really_probe: probing driver atkbd with device serio1
[ 28.029974] bus: 'pci': really_probe: probing driver nForce2_smbus with device 0000:00:01.1
[ 28.033321] device: 'i2c-1': device_add
[ 28.043312] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.059980] device: '1-0050': device_add
[ 28.063311] bus: 'i2c': add device 1-0050
[ 28.066661] bus: 'i2c': driver_probe_device: matched device 1-0050 with driver eeprom
[ 28.069974] bus: 'i2c': really_probe: probing driver eeprom with device 1-0050
[ 28.073313] driver: '1-0050': driver_bound: bound to device 'eeprom'
[ 28.076640] bus: 'i2c': really_probe: bound device 1-0050 to driver eeprom
[ 28.093313] device: '1-0051': device_add
[ 28.096643] bus: 'i2c': add device 1-0051
[ 28.099993] bus: 'i2c': driver_probe_device: matched device 1-0051 with driver eeprom
[ 28.103307] bus: 'i2c': really_probe: probing driver eeprom with device 1-0051
[ 28.106645] driver: '1-0051': driver_bound: bound to device 'eeprom'
[ 28.109973] bus: 'i2c': really_probe: bound device 1-0051 to driver eeprom
[ 28.119977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.129977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.139976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.149976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.159976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.169976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.173314] device: 'i2c-1': device_add
[ 28.176685] i2c-adapter i2c-1: nForce2 SMBus adapter at 0x4c00
[ 28.179978] device: 'i2c-2': device_add
[ 28.189977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.199977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.209976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.219976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.229976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.239977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.249976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.259977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.269976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.273313] device: 'i2c-2': device_add
[ 28.276684] i2c-adapter i2c-2: nForce2 SMBus adapter at 0x4c40
[ 28.280000] driver: '0000:00:01.1': driver_bound: bound to device 'nForce2_smbus'
[ 28.283309] bus: 'pci': really_probe: bound device 0000:00:01.1 to driver nForce2_smbus
[ 28.286667] initcall nforce2_init+0x0/0x16 returned 0 after 257161 usecs
[ 28.289984] calling i2c_piix4_init+0x0/0x16 @ 1
[ 28.293319] bus: 'pci': add driver piix4_smbus
[ 28.296675] initcall i2c_piix4_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.299978] calling i2c_sis5595_init+0x0/0x16 @ 1
[ 28.303316] bus: 'pci': add driver sis5595_smbus
[ 28.306674] initcall i2c_sis5595_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.309975] calling i2c_sis630_init+0x0/0x16 @ 1
[ 28.313317] bus: 'pci': add driver sis630_smbus
[ 28.316669] initcall i2c_sis630_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.319975] calling i2c_sis96x_init+0x0/0x16 @ 1
[ 28.323317] bus: 'pci': add driver sis96x_smbus
[ 28.326672] initcall i2c_sis96x_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.329975] calling i2c_vt586b_init+0x0/0x16 @ 1
[ 28.333316] bus: 'pci': add driver vt586b_smbus
[ 28.339980] initcall i2c_vt586b_init+0x0/0x16 returned 0 after 6510 usecs
[ 28.343309] calling i2c_vt596_init+0x0/0x16 @ 1
[ 28.346654] bus: 'pci': add driver vt596_smbus
[ 28.350014] initcall i2c_vt596_init+0x0/0x16 returned 0 after 3255 usecs
[ 28.353308] calling ocores_i2c_init+0x0/0xf @ 1
[ 28.356642] bus: 'platform': add driver ocores-i2c
[ 28.359996] initcall ocores_i2c_init+0x0/0xf returned 0 after 3255 usecs
[ 28.363308] calling i2c_adap_simtec_init+0x0/0xf @ 1
[ 28.366641] bus: 'platform': add driver simtec-i2c
[ 28.369994] initcall i2c_adap_simtec_init+0x0/0xf returned 0 after 3255 usecs
[ 28.373308] calling usb_i2c_tiny_usb_init+0x0/0x16 @ 1
[ 28.376644] bus: 'usb': add driver i2c-tiny-usb
[ 28.379993] usbcore: registered new interface driver i2c-tiny-usb
[ 28.383310] initcall usb_i2c_tiny_usb_init+0x0/0x16 returned 0 after 6510 usecs
[ 28.386641] calling i2c_pca_pf_init+0x0/0xf @ 1
[ 28.389975] bus: 'platform': add driver i2c-pca-platform
[ 28.393328] initcall i2c_pca_pf_init+0x0/0xf returned 0 after 3255 usecs
[ 28.396642] calling scx200_acb_init+0x0/0x1f6 @ 1
[ 28.399973] scx200_acb: NatSemi SCx200 ACCESS.bus Driver
[ 28.403332] initcall scx200_acb_init+0x0/0x1f6 returned -19 after 3255 usecs
[ 28.406641] calling pca9539_init+0x0/0x11 @ 1
[ 28.409975] bus: 'i2c': add driver pca9539
[ 28.413326] initcall pca9539_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.416641] calling pcf8574_init+0x0/0x11 @ 1
[ 28.419974] bus: 'i2c': add driver pcf8574
[ 28.423326] initcall pcf8574_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.426641] calling pcf8575_init+0x0/0x11 @ 1
[ 28.429974] bus: 'i2c': add driver pcf8575
[ 28.433326] initcall pcf8575_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.436641] calling tsl2550_init+0x0/0x11 @ 1
[ 28.439974] bus: 'i2c': add driver tsl2550
[ 28.443326] initcall tsl2550_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.446643] calling w1_init+0x0/0x8f @ 1
[ 28.449973] Driver for 1-wire Dallas network protocol.
[ 28.453326] bus: 'w1': registered
[ 28.456640] bus: 'w1': add driver w1_master_driver
[ 28.459992] bus: 'w1': add driver w1_slave_driver
[ 28.463326] initcall w1_init+0x0/0x8f returned 0 after 13020 usecs
[ 28.466641] calling ds_init+0x0/0x34 @ 1
[ 28.469976] bus: 'usb': add driver DS9490R
[ 28.473326] usbcore: registered new interface driver DS9490R
[ 28.476644] initcall ds_init+0x0/0x34 returned 0 after 6510 usecs
[ 28.479975] calling sensors_ds2482_init+0x0/0x11 @ 1
[ 28.483308] bus: 'i2c': add driver ds2482
[ 28.486667] initcall sensors_ds2482_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.489976] calling w1_gpio_init+0x0/0x14 @ 1
[ 28.493309] bus: 'platform': add driver w1-gpio
[ 28.496661] bus: 'platform': remove driver w1-gpio
[ 28.499986] driver: 'w1-gpio': driver_release
[ 28.503309] initcall w1_gpio_init+0x0/0x14 returned -19 after 9765 usecs
[ 28.506641] calling w1_smem_init+0x0/0x33 @ 1
[ 28.509977] initcall w1_smem_init+0x0/0x33 returned 0 after 0 usecs
[ 28.513309] calling w1_f23_init+0x0/0xf @ 1
[ 28.516642] initcall w1_f23_init+0x0/0xf returned 0 after 0 usecs
[ 28.519974] calling asb100_init+0x0/0x11 @ 1
[ 28.523310] bus: 'i2c': add driver asb100
[ 28.533312] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.543311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.546643] initcall asb100_init+0x0/0x11 returned 0 after 22786 usecs
[ 28.549974] calling sensors_w83627hf_init+0x0/0x12a @ 1
[ 28.553325] initcall sensors_w83627hf_init+0x0/0x12a returned -19 after 0 usecs
[ 28.556642] calling sensors_w83792d_init+0x0/0x11 @ 1
[ 28.559974] bus: 'i2c': add driver w83792d
[ 28.569977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.579977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.589976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.599977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.609977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.619977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.629976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.639977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.643309] initcall sensors_w83792d_init+0x0/0x11 returned 0 after 81380 usecs
[ 28.646641] calling sensors_w83781d_init+0x0/0x11 @ 1
[ 28.649974] bus: 'i2c': add driver w83781d
[ 28.659978] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.669976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.679977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.689976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.699977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.709977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.719977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.729976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.730002] bus: 'serio': driver_probe_device: matched device serio1 with driver psmouse
[ 28.730005] bus: 'serio': really_probe: probing driver psmouse with device serio1
[ 28.739978] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.749977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.759977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.769976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.779977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.789976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.799977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.809977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.813310] initcall sensors_w83781d_init+0x0/0x11 returned 0 after 159505 usecs
[ 28.816640] calling sensors_w83791d_init+0x0/0x11 @ 1
[ 28.819974] bus: 'i2c': add driver w83791d
[ 28.829977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.839977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.849977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.859977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.869976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.879977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.889976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.899977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 28.903308] initcall sensors_w83791d_init+0x0/0x11 returned 0 after 81380 usecs
[ 28.906641] calling abituguru_init+0x0/0x163 @ 1
[ 28.909974] initcall abituguru_init+0x0/0x163 returned -19 after 0 usecs
[ 28.913307] calling abituguru3_init+0x0/0x1d9 @ 1
[ 28.916641] initcall abituguru3_init+0x0/0x1d9 returned -19 after 0 usecs
[ 28.919974] calling ad7418_init+0x0/0x11 @ 1
[ 28.923307] bus: 'i2c': add driver ad7418
[ 28.926660] initcall ad7418_init+0x0/0x11 returned 0 after 3255 usecs
[ 28.929974] calling sensors_adm1021_init+0x0/0x11 @ 1
[ 28.933308] bus: 'i2c': add driver adm1021
[ 28.943311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.953310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.963311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.973310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.983311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 28.993310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.003311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.013310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.023311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.033310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.043311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.053313] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.063310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.073310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.083311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.093309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.103311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.113310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.116642] initcall sensors_adm1021_init+0x0/0x11 returned 0 after 179036 usecs
[ 29.119973] calling sm_adm1026_init+0x0/0x11 @ 1
[ 29.123308] bus: 'i2c': add driver adm1026
[ 29.133311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.143311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.153310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.163311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.173310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.183310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.186641] initcall sm_adm1026_init+0x0/0x11 returned 0 after 61848 usecs
[ 29.189974] calling sensors_adm1029_init+0x0/0x11 @ 1
[ 29.193307] bus: 'i2c': add driver adm1029
[ 29.203311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.213310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.223311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.233310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.243311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.253309] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.263310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.273309] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.283310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.293310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.303310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.313310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.323310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.333309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.343311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.353310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.356642] initcall sensors_adm1029_init+0x0/0x11 returned 0 after 159505 usecs
[ 29.359973] calling sensors_adm9240_init+0x0/0x11 @ 1
[ 29.363308] bus: 'i2c': add driver adm9240
[ 29.373311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.383310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.393310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.403310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.413310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.423310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.433309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.443310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.446641] initcall sensors_adm9240_init+0x0/0x11 returned 0 after 81380 usecs
[ 29.449974] calling adt7462_init+0x0/0x11 @ 1
[ 29.453307] bus: 'i2c': add driver adt7462
[ 29.463311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.473309] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.483311] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.493309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.496642] initcall adt7462_init+0x0/0x11 returned 0 after 42317 usecs
[ 29.499973] calling adt7470_init+0x0/0x11 @ 1
[ 29.503307] bus: 'i2c': add driver adt7470
[ 29.513310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.523311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.533310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.543310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.553309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.563310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.566641] initcall adt7470_init+0x0/0x11 returned 0 after 61848 usecs
[ 29.569974] calling sensors_adt7475_init+0x0/0x11 @ 1
[ 29.573309] bus: 'i2c': add driver adt7475
[ 29.583311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.593310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.596642] initcall sensors_adt7475_init+0x0/0x11 returned 0 after 22786 usecs
[ 29.599973] calling applesmc_init+0x0/0x499 @ 1
[ 29.603313] applesmc: supported laptop not found!
[ 29.606639] applesmc: driver init failed (ret=-19)!
[ 29.609975] initcall applesmc_init+0x0/0x499 returned -19 after 6510 usecs
[ 29.613306] calling atxp1_init+0x0/0x11 @ 1
[ 29.616641] bus: 'i2c': add driver atxp1
[ 29.626643] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.636644] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.646644] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.656644] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.659974] initcall atxp1_init+0x0/0x11 returned 0 after 42317 usecs
[ 29.663307] calling coretemp_init+0x0/0x224 @ 1
[ 29.666640] initcall coretemp_init+0x0/0x224 returned -19 after 0 usecs
[ 29.669974] calling ds1621_init+0x0/0x11 @ 1
[ 29.673307] bus: 'i2c': add driver ds1621
[ 29.683311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.693310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.703311] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.713310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.723310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.733309] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.743310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.753309] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.763310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.773309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.783310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.793309] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.803310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.813310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.823310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.833310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.836642] initcall ds1621_init+0x0/0x11 returned 0 after 159505 usecs
[ 29.839973] calling f71805f_init+0x0/0x128 @ 1
[ 29.843331] initcall f71805f_init+0x0/0x128 returned -19 after 0 usecs
[ 29.846640] calling sensors_f75375_init+0x0/0x11 @ 1
[ 29.849974] bus: 'i2c': add driver f75375
[ 29.859977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.869977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.879977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.889977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.893308] initcall sensors_f75375_init+0x0/0x11 returned 0 after 42317 usecs
[ 29.896640] calling sensors_fscher_init+0x0/0x11 @ 1
[ 29.899974] bus: 'i2c': add driver fscher
[ 29.909978] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.919976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.923309] initcall sensors_fscher_init+0x0/0x11 returned 0 after 22786 usecs
[ 29.926640] calling fschmd_init+0x0/0x11 @ 1
[ 29.929974] bus: 'i2c': add driver fschmd
[ 29.939977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.949977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.953308] initcall fschmd_init+0x0/0x11 returned 0 after 22786 usecs
[ 29.956640] calling sm_fscpos_init+0x0/0x11 @ 1
[ 29.959974] bus: 'i2c': add driver fscpos
[ 29.969977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 29.979977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 29.983308] initcall sm_fscpos_init+0x0/0x11 returned 0 after 22786 usecs
[ 29.986640] calling g760a_init+0x0/0x11 @ 1
[ 29.989974] bus: 'i2c': add driver g760a
[ 29.993327] initcall g760a_init+0x0/0x11 returned 0 after 3255 usecs
[ 29.996641] calling sensors_gl518sm_init+0x0/0x11 @ 1
[ 29.999974] bus: 'i2c': add driver gl518sm
[ 30.009977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.019976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.029977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.039985] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.043308] initcall sensors_gl518sm_init+0x0/0x11 returned 0 after 42317 usecs
[ 30.046640] calling i5k_amb_init+0x0/0x52 @ 1
[ 30.049975] bus: 'platform': add driver i5k_amb
[ 30.053336] Registering platform device 'i5k_amb.0'. Parent at platform
[ 30.056640] device: 'i5k_amb.0': device_add
[ 30.059977] bus: 'platform': add device i5k_amb.0
[ 30.063325] bus: 'platform': driver_probe_device: matched device i5k_amb.0 with driver i5k_amb
[ 30.066641] bus: 'platform': really_probe: probing driver i5k_amb with device i5k_amb.0
[ 30.069998] initcall i5k_amb_init+0x0/0x52 returned 0 after 19531 usecs
[ 30.073307] calling aem_init+0x0/0x42 @ 1
[ 30.076641] bus: 'platform': add driver aem
[ 30.079995] initcall aem_init+0x0/0x42 returned 0 after 3255 usecs
[ 30.083307] calling sm_it87_init+0x0/0x2eb @ 1
[ 30.086671] it87: Found IT8712F chip at 0x290, revision 7
[ 30.089978] it87: in3 is VCC (+5V)
[ 30.093305] it87: in7 is VCCH (+5V Stand-By)
[ 30.096645] bus: 'platform': add driver it87
[ 30.099994] Registering platform device 'it87.656'. Parent at platform
[ 30.103307] device: 'it87.656': device_add
[ 30.106643] bus: 'platform': add device it87.656
[ 30.109992] bus: 'platform': driver_probe_device: matched device it87.656 with driver it87
[ 30.113307] bus: 'platform': really_probe: probing driver it87 with device it87.656
[ 30.116653] it87 it87.656: Detected broken BIOS defaults, disabling PWM interface
[ 30.120139] device: 'hwmon0': device_add
[ 30.123331] driver: 'it87.656': driver_bound: bound to device 'it87'
[ 30.126641] bus: 'platform': really_probe: bound device it87.656 to driver it87
[ 30.129976] initcall sm_it87_init+0x0/0x2eb returned 0 after 42317 usecs
[ 30.133306] calling sm_lm78_init+0x0/0x38e @ 1
[ 30.136640] lm78: Failed to request high part of region
[ 30.139976] bus: 'i2c': add driver lm78
[ 30.149977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.159977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.169977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.179977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.189977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.199976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.209977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.219976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.229977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.239976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.249977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.259976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.269977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.279977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.289977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.299976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.303308] initcall sm_lm78_init+0x0/0x38e returned 0 after 162760 usecs
[ 30.306640] calling sensors_lm83_init+0x0/0x11 @ 1
[ 30.309974] bus: 'i2c': add driver lm83
[ 30.319977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.329977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.339977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.349977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.359976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.369977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.379977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.389977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.399976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.409977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.419976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.429977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.439976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.449977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.459976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.469977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.479977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.489977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.493308] initcall sensors_lm83_init+0x0/0x11 returned 0 after 179036 usecs
[ 30.496640] calling sm_lm85_init+0x0/0x11 @ 1
[ 30.499974] bus: 'i2c': add driver lm85
[ 30.509977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.519976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.529977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.539976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.549977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.559976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.563308] initcall sm_lm85_init+0x0/0x11 returned 0 after 61848 usecs
[ 30.566640] calling sensors_lm95241_init+0x0/0x11 @ 1
[ 30.569974] bus: 'i2c': add driver lm95241
[ 30.579977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.589977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.599979] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.609977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.619976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.629977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.633308] initcall sensors_lm95241_init+0x0/0x11 returned 0 after 61848 usecs
[ 30.636640] calling sensors_max1619_init+0x0/0x11 @ 1
[ 30.639974] bus: 'i2c': add driver max1619
[ 30.649977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.659976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.669977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.679977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.689977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.699976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.709977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.719976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.729977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.739976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.749977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.759976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.769977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.779977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.789977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.799976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.809977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.819976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.823308] initcall sensors_max1619_init+0x0/0x11 returned 0 after 179036 usecs
[ 30.826640] calling sensors_max6650_init+0x0/0x11 @ 1
[ 30.829974] bus: 'i2c': add driver max6650
[ 30.839977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.849977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.859976] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.869977] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.879977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.889977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.899976] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.909977] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.913308] initcall sensors_max6650_init+0x0/0x11 returned 0 after 81380 usecs
[ 30.916640] calling pc87360_init+0x0/0x161 @ 1
[ 30.919986] pc87360: PC8736x not detected, module not inserted.
[ 30.923307] initcall pc87360_init+0x0/0x161 returned -19 after 3255 usecs
[ 30.926640] calling pc87427_init+0x0/0x103 @ 1
[ 30.929987] initcall pc87427_init+0x0/0x103 returned -19 after 0 usecs
[ 30.933306] calling sm_sis5595_init+0x0/0x16 @ 1
[ 30.936651] bus: 'pci': add driver sis5595
[ 30.940008] initcall sm_sis5595_init+0x0/0x16 returned 0 after 3255 usecs
[ 30.943307] calling smsc47m192_init+0x0/0x11 @ 1
[ 30.946641] bus: 'i2c': add driver smsc47m192
[ 30.956644] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.966643] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 30.976644] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.986643] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 30.989975] initcall smsc47m192_init+0x0/0x11 returned 0 after 42317 usecs
[ 30.993307] calling sm_thmc50_init+0x0/0x11 @ 1
[ 30.996641] bus: 'i2c': add driver thmc50
[ 31.006644] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.016644] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.026643] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.036644] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.046643] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.056644] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.059974] initcall sm_thmc50_init+0x0/0x11 returned 0 after 61848 usecs
[ 31.063307] calling tmp401_init+0x0/0x11 @ 1
[ 31.066641] bus: 'i2c': add driver tmp401
[ 31.076644] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.086643] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.089975] initcall tmp401_init+0x0/0x11 returned 0 after 22786 usecs
[ 31.093306] calling vt1211_init+0x0/0x139 @ 1
[ 31.096657] initcall vt1211_init+0x0/0x139 returned -19 after 0 usecs
[ 31.099973] calling sm_vt8231_init+0x0/0x16 @ 1
[ 31.103318] bus: 'pci': add driver vt8231
[ 31.106671] initcall sm_vt8231_init+0x0/0x16 returned 0 after 3255 usecs
[ 31.109974] calling sensors_w83l785ts_init+0x0/0x11 @ 1
[ 31.113308] bus: 'i2c': add driver w83l785ts
[ 31.123310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.133310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.136642] initcall sensors_w83l785ts_init+0x0/0x11 returned 0 after 22786 usecs
[ 31.139973] calling sensors_w83l786ng_init+0x0/0x11 @ 1
[ 31.143308] bus: 'i2c': add driver w83l786ng
[ 31.153310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.163310] i2c-adapter i2c-1: Transaction failed (0x10)!
[ 31.173310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.183310] i2c-adapter i2c-2: Transaction failed (0x10)!
[ 31.186642] initcall sensors_w83l786ng_init+0x0/0x11 returned 0 after 42317 usecs
[ 31.189973] calling pcipcwd_init_module+0x0/0x2a @ 1
[ 31.193317] bus: 'pci': add driver pcwd_pci
[ 31.196683] initcall pcipcwd_init_module+0x0/0x2a returned 0 after 3255 usecs
[ 31.199975] calling twl4030_wdt_init+0x0/0x14 @ 1
[ 31.203308] bus: 'platform': add driver twl4030_wdt
[ 31.206669] initcall twl4030_wdt_init+0x0/0x14 returned 0 after 3255 usecs
[ 31.209975] calling acq_init+0x0/0x50 @ 1
[ 31.213305] WDT driver for Acquire single board computer initialising.
[ 31.216640] bus: 'platform': add driver acquirewdt
[ 31.219994] Registering platform device 'acquirewdt'. Parent at platform
[ 31.223307] device: 'acquirewdt': device_add
[ 31.226643] bus: 'platform': add device acquirewdt
[ 31.229990] bus: 'platform': driver_probe_device: matched device acquirewdt with driver acquirewdt
[ 31.233306] bus: 'platform': really_probe: probing driver acquirewdt with device acquirewdt
[ 31.236649] acquirewdt: I/O address 0x0043 already in use
[ 31.239977] acquirewdt: probe of acquirewdt failed with error -5
[ 31.243308] initcall acq_init+0x0/0x50 returned 0 after 29296 usecs
[ 31.246641] calling watchdog_init+0x0/0x146 @ 1
[ 31.249985] initcall watchdog_init+0x0/0x146 returned -19 after 0 usecs
[ 31.253306] calling alim7101_wdt_init+0x0/0x16d @ 1
[ 31.256638] alim7101_wdt: Steve Hill <steve@navaho.co.uk>.
[ 31.259979] alim7101_wdt: ALi M7101 PMU not present - WDT not set
[ 31.263307] initcall alim7101_wdt_init+0x0/0x16d returned -16 after 6510 usecs
[ 31.266641] initcall alim7101_wdt_init+0x0/0x16d returned with error code -16
[ 31.269973] calling sc520_wdt_init+0x0/0xd2 @ 1
[ 31.273317] device: 'watchdog': device_add
[ 31.276713] sc520_wdt: WDT driver for SC520 initialised. timeout=30 sec (nowayout=1)
[ 31.279974] initcall sc520_wdt_init+0x0/0xd2 returned 0 after 6510 usecs
[ 31.283306] calling ibmasr_init+0x0/0x24a @ 1
[ 31.286640] initcall ibmasr_init+0x0/0x24a returned -19 after 0 usecs
[ 31.289973] calling wafwdt_init+0x0/0x147 @ 1
[ 31.293306] WDT driver for Wafer 5823 single board computer initialising.
[ 31.296641] Wafer 5823 WDT: cannot register miscdev on minor=130 (err=-16)
[ 31.299974] initcall wafwdt_init+0x0/0x147 returned -16 after 6510 usecs
[ 31.303306] initcall wafwdt_init+0x0/0x147 returned with error code -16
[ 31.306640] calling iTCO_wdt_init_module+0x0/0x56 @ 1
[ 31.309972] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
[ 31.313308] bus: 'platform': add driver iTCO_wdt
[ 31.316663] Registering platform device 'iTCO_wdt'. Parent at platform
[ 31.319974] device: 'iTCO_wdt': device_add
[ 31.323310] bus: 'platform': add device iTCO_wdt
[ 31.326657] bus: 'platform': driver_probe_device: matched device iTCO_wdt with driver iTCO_wdt
[ 31.329973] bus: 'platform': really_probe: probing driver iTCO_wdt with device iTCO_wdt
[ 31.333342] iTCO_wdt: No card detected
[ 31.336646] initcall iTCO_wdt_init_module+0x0/0x56 returned 0 after 26041 usecs
[ 31.339974] calling iTCO_vendor_init_module+0x0/0x17 @ 1
[ 31.343306] iTCO_vendor_support: vendor-support=0
[ 31.346644] initcall iTCO_vendor_init_module+0x0/0x17 returned 0 after 3255 usecs
[ 31.349973] calling it8712f_wdt_init+0x0/0x1ba @ 1
[ 31.353339] it8712f_wdt: Found IT8712F chip revision 7 - using DogFood address 0x201
[ 31.356649] it8712f_wdt: disabling watchdog timer
[ 31.359996] it8712f_wdt: cannot register miscdev on minor=130 (err=-16)
[ 31.363308] initcall it8712f_wdt_init+0x0/0x1ba returned -16 after 9765 usecs
[ 31.366640] initcall it8712f_wdt_init+0x0/0x1ba returned with error code -16
[ 31.369973] calling it87_wdt_init+0x0/0x4c5 @ 1
[ 31.373326] IT87 WDT: Unsupported Chip found, Chip 8712 Revision 07
[ 31.376642] initcall it87_wdt_init+0x0/0x4c5 returned -19 after 3255 usecs
[ 31.379973] calling hpwdt_init+0x0/0x16 @ 1
[ 31.383317] bus: 'pci': add driver hpwdt
[ 31.386673] initcall hpwdt_init+0x0/0x16 returned 0 after 3255 usecs
[ 31.389974] calling rdc321x_wdt_init+0x0/0xf @ 1
[ 31.393308] bus: 'platform': add driver rdc321x-wdt
[ 31.396663] initcall rdc321x_wdt_init+0x0/0xf returned 0 after 3255 usecs
[ 31.399974] calling sbc8360_init+0x0/0x185 @ 1
[ 31.403308] sbc8360: failed to register misc device
[ 31.406641] initcall sbc8360_init+0x0/0x185 returned -16 after 3255 usecs
[ 31.409973] initcall sbc8360_init+0x0/0x185 returned with error code -16
[ 31.413307] calling sbc7240_wdt_init+0x0/0xf9 @ 1
[ 31.416640] sbc7240_wdt: timeout set to 30 seconds
[ 31.419973] sbc7240_wdt: cannot register miscdev on minor=130 (err=-16)
[ 31.423307] initcall sbc7240_wdt_init+0x0/0xf9 returned -16 after 6510 usecs
[ 31.426641] initcall sbc7240_wdt_init+0x0/0xf9 returned with error code -16
[ 31.429973] calling cpu5wdt_init_module+0x0/0x12f @ 1
[ 31.433308] cpu5wdt: sorry, was my fault
[ 31.436639] cpu5wdt: misc_register failed
[ 31.439974] initcall cpu5wdt_init_module+0x0/0x12f returned -16 after 6510 usecs
[ 31.443306] initcall cpu5wdt_init_module+0x0/0x12f returned with error code -16
[ 31.446640] calling sch311x_wdt_init+0x0/0x136 @ 1
[ 31.449993] initcall sch311x_wdt_init+0x0/0x136 returned -19 after 0 usecs
[ 31.453306] calling wb_smsc_wdt_init+0x0/0x195 @ 1
[ 31.456639] SMsC 37B787 watchdog component driver 1.1 initialising...
[ 31.460997] smsc37b787_wdt: Unable to register miscdev on minor 130
[ 31.463308] initcall wb_smsc_wdt_init+0x0/0x195 returned -16 after 6510 usecs
[ 31.466640] initcall wb_smsc_wdt_init+0x0/0x195 returned with error code -16
[ 31.469973] calling w83877f_wdt_init+0x0/0x13d @ 1
[ 31.473308] w83877f_wdt: cannot register miscdev on minor=130 (err=-16)
[ 31.476642] initcall w83877f_wdt_init+0x0/0x13d returned -16 after 3255 usecs
[ 31.479973] initcall w83877f_wdt_init+0x0/0x13d returned with error code -16
[ 31.483307] calling w83977f_wdt_init+0x0/0x12b @ 1
[ 31.486638] W83977F WDT: W83977F WDT driver, v1.00
[ 31.489975] W83977F WDT: cannot register miscdev on minor=130 (err=-16)
[ 31.493308] initcall w83977f_wdt_init+0x0/0x12b returned -16 after 6510 usecs
[ 31.496640] initcall w83977f_wdt_init+0x0/0x12b returned with error code -16
[ 31.499973] calling watchdog_init+0x0/0xa5 @ 1
[ 31.503307] epx_c3: cannot register miscdev on minor=130 (err=-16)
[ 31.506641] initcall watchdog_init+0x0/0xa5 returned -16 after 3255 usecs
[ 31.509973] initcall watchdog_init+0x0/0xa5 returned with error code -16
[ 31.513306] calling watchdog_init+0x0/0xa0 @ 1
[ 31.516640] SoftDog: cannot register miscdev on minor=130 (err=-16)
[ 31.519974] initcall watchdog_init+0x0/0xa0 returned -16 after 3255 usecs
[ 31.523307] initcall watchdog_init+0x0/0xa0 returned with error code -16
[ 31.526639] calling dm_init+0x0/0x38 @ 1
[ 31.529988] device-mapper: uevent: version 1.0.3
[ 31.533321] device: 'device-mapper': device_add
[ 31.536681] device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@redhat.com
[ 31.539974] initcall dm_init+0x0/0x38 returned 0 after 9765 usecs
[ 31.543307] calling dm_delay_init+0x0/0xad @ 1
[ 31.546674] initcall dm_delay_init+0x0/0xad returned 0 after 0 usecs
[ 31.549974] calling dm_snapshot_init+0x0/0x215 @ 1
[ 31.553322] initcall dm_snapshot_init+0x0/0x215 returned 0 after 0 usecs
[ 31.556640] calling dm_mirror_init+0x0/0x69 @ 1
[ 31.559977] initcall dm_mirror_init+0x0/0x69 returned 0 after 0 usecs
[ 31.563307] calling dm_dirty_log_init+0x0/0x49 @ 1
[ 31.566641] initcall dm_dirty_log_init+0x0/0x49 returned 0 after 0 usecs
[ 31.569974] calling userspace_dirty_log_init+0x0/0x89 @ 1
[ 31.573317] device-mapper: dm-log-userspace: version 1.0.0 loaded
[ 31.576640] initcall userspace_dirty_log_init+0x0/0x89 returned 0 after 3255 usecs
[ 31.579973] calling dm_zero_init+0x0/0x28 @ 1
[ 31.583309] initcall dm_zero_init+0x0/0x28 returned 0 after 0 usecs
[ 31.586640] calling vhci_init+0x0/0x44 @ 1
[ 31.589972] Bluetooth: Virtual HCI driver ver 1.3
[ 31.593307] device: 'vhci': device_add
[ 31.596679] initcall vhci_init+0x0/0x44 returned 0 after 6510 usecs
[ 31.599975] calling hci_uart_init+0x0/0xc9 @ 1
[ 31.603306] Bluetooth: HCI UART driver ver 2.2
[ 31.606639] Bluetooth: HCI H4 protocol initialized
[ 31.609972] Bluetooth: HCI BCSP protocol initialized
[ 31.613307] initcall hci_uart_init+0x0/0xc9 returned 0 after 9765 usecs
[ 31.616640] calling bcm203x_init+0x0/0x44 @ 1
[ 31.619972] Bluetooth: Broadcom Blutonium firmware driver ver 1.2
[ 31.623310] bus: 'usb': add driver bcm203x
[ 31.626663] usbcore: registered new interface driver bcm203x
[ 31.629976] initcall bcm203x_init+0x0/0x44 returned 0 after 9765 usecs
[ 31.633309] calling bfusb_init+0x0/0x44 @ 1
[ 31.636639] Bluetooth: BlueFRITZ! USB driver ver 1.2
[ 31.639974] bus: 'usb': add driver bfusb
[ 31.643326] usbcore: registered new interface driver bfusb
[ 31.646642] initcall bfusb_init+0x0/0x44 returned 0 after 9765 usecs
[ 31.649974] calling init_dtl1_cs+0x0/0xf @ 1
[ 31.653310] bus: 'pcmcia': add driver dtl1_cs
[ 31.656660] initcall init_dtl1_cs+0x0/0xf returned 0 after 3255 usecs
[ 31.659974] calling init_btuart_cs+0x0/0xf @ 1
[ 31.663307] bus: 'pcmcia': add driver btuart_cs
[ 31.666658] initcall init_btuart_cs+0x0/0xf returned 0 after 3255 usecs
[ 31.669974] calling btusb_init+0x0/0x25 @ 1
[ 31.673305] Bluetooth: Generic Bluetooth USB driver ver 0.5
[ 31.676642] bus: 'usb': add driver btusb
[ 31.679991] usbcore: registered new interface driver btusb
[ 31.683310] initcall btusb_init+0x0/0x25 returned 0 after 9765 usecs
[ 31.686640] calling btsdio_init+0x0/0x1e @ 1
[ 31.689972] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[ 31.693307] bus: 'sdio': add driver btsdio
[ 31.696660] initcall btsdio_init+0x0/0x1e returned 0 after 6510 usecs
[ 31.699973] calling edac_init+0x0/0xd2 @ 1
[ 31.703305] EDAC MC: Ver: 2.1.0 Aug 15 2009
[ 31.706641] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.709977] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.713309] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.716642] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.719975] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.723309] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.726644] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.729976] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.733309] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.736642] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.739976] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.743310] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.746642] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.749976] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.753308] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.756644] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.759975] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.763309] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.766642] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.769976] EDAC DEBUG: in drivers/edac/edac_pci_sysfs.c, line at 537: edac_pci_dev_parity_clear()
[ 31.773309] Registering sysdev class 'edac'
[ 31.776656] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 905: edac_sysfs_setup_mc_kset()
[ 31.779987] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 922: edac_sysfs_setup_mc_kset() Registered '.../edac/mc' kobject
[ 31.783314] initcall edac_init+0x0/0xd2 returned 0 after 78124 usecs
[ 31.786640] calling amd76x_init+0x0/0x29 @ 1
[ 31.789985] bus: 'pci': add driver amd76x_edac
[ 31.793340] initcall amd76x_init+0x0/0x29 returned 0 after 3255 usecs
[ 31.796640] calling i5000_init+0x0/0x5b @ 1
[ 31.799972] EDAC DEBUG: in drivers/edac/i5000_edac.c, line at 1540: MC: drivers/edac/i5000_edac.c: i5000_init()
[ 31.803316] bus: 'pci': add driver i5000_edac
[ 31.806671] initcall i5000_init+0x0/0x5b returned 0 after 6510 usecs
[ 31.809974] calling i5100_init+0x0/0x23 @ 1
[ 31.813316] bus: 'pci': add driver i5100_edac
[ 31.816671] initcall i5100_init+0x0/0x23 returned 0 after 3255 usecs
[ 31.819974] calling i5400_init+0x0/0x5b @ 1
[ 31.823306] EDAC DEBUG: in drivers/edac/i5400_edac.c, line at 1445: MC: drivers/edac/i5400_edac.c: i5400_init()
[ 31.826649] bus: 'pci': add driver i5400_edac
[ 31.830015] initcall i5400_init+0x0/0x5b returned 0 after 6510 usecs
[ 31.833308] calling e7xxx_init+0x0/0x29 @ 1
[ 31.836650] bus: 'pci': add driver e7xxx_edac
[ 31.840003] initcall e7xxx_init+0x0/0x29 returned 0 after 3255 usecs
[ 31.843307] calling e752x_init+0x0/0x5b @ 1
[ 31.846650] bus: 'pci': add driver e752x_edac
[ 31.850003] initcall e752x_init+0x0/0x5b returned 0 after 3255 usecs
[ 31.853307] calling i82975x_init+0x0/0xea @ 1
[ 31.856650] bus: 'pci': add driver i82975x_edac
[ 31.860005] EDAC DEBUG: in drivers/edac/i82975x_edac.c, line at 626: i82975x pci_get_device fail
[ 31.863317] bus: 'pci': remove driver i82975x_edac
[ 31.866651] driver: 'i82975x_edac': driver_release
[ 31.869975] initcall i82975x_init+0x0/0xea returned -19 after 13020 usecs
[ 31.873307] calling i3000_init+0x0/0xf8 @ 1
[ 31.876650] bus: 'pci': add driver i3000_edac
[ 31.880004] EDAC DEBUG: in drivers/edac/i3000_edac.c, line at 510: i3000 pci_get_device fail
[ 31.883317] bus: 'pci': remove driver i3000_edac
[ 31.886651] driver: 'i3000_edac': driver_release
[ 31.889977] initcall i3000_init+0x0/0xf8 returned -19 after 13020 usecs
[ 31.893307] calling x38_init+0x0/0xf8 @ 1
[ 31.896650] bus: 'pci': add driver x38_edac
[ 31.900003] EDAC DEBUG: in drivers/edac/x38_edac.c, line at 480: x38 pci_get_device fail
[ 31.903317] bus: 'pci': remove driver x38_edac
[ 31.906687] driver: 'x38_edac': driver_release
[ 31.909974] initcall x38_init+0x0/0xf8 returned -19 after 13020 usecs
[ 31.913307] calling r82600_init+0x0/0x29 @ 1
[ 31.916650] bus: 'pci': add driver r82600_edac
[ 31.920004] initcall r82600_init+0x0/0x29 returned 0 after 3255 usecs
[ 31.923308] calling cpufreq_stats_init+0x0/0x7e @ 1
[ 31.926642] initcall cpufreq_stats_init+0x0/0x7e returned 0 after 0 usecs
[ 31.929973] calling cpufreq_gov_userspace_init+0x0/0xf @ 1
[ 31.933308] initcall cpufreq_gov_userspace_init+0x0/0xf returned 0 after 0 usecs
[ 31.936641] calling mmc_blk_init+0x0/0x3d @ 1
[ 31.939974] bus: 'mmc': add driver mmcblk
[ 31.943324] initcall mmc_blk_init+0x0/0x3d returned 0 after 3255 usecs
[ 31.946640] calling mmc_test_init+0x0/0xf @ 1
[ 31.949973] bus: 'mmc': add driver mmc_test
[ 31.953324] initcall mmc_test_init+0x0/0xf returned 0 after 3255 usecs
[ 31.956640] calling wbsd_drv_init+0x0/0x77 @ 1
[ 31.959972] wbsd: Winbond W83L51xD SD/MMC card interface driver
[ 31.963305] wbsd: Copyright(c) Pierre Ossman
[ 31.966641] bus: 'platform': add driver wbsd
[ 31.969997] Registering platform device 'wbsd'. Parent at platform
[ 31.973310] device: 'wbsd': device_add
[ 31.976644] bus: 'platform': add device wbsd
[ 31.979992] bus: 'platform': driver_probe_device: matched device wbsd with driver wbsd
[ 31.983306] bus: 'platform': really_probe: probing driver wbsd with device wbsd
[ 31.986729] initcall wbsd_drv_init+0x0/0x77 returned 0 after 26041 usecs
[ 31.989974] calling tifm_sd_init+0x0/0xf @ 1
[ 31.993306] bus: 'tifm': add driver tifm_sd
[ 31.996661] initcall tifm_sd_init+0x0/0xf returned 0 after 3255 usecs
[ 31.999973] calling sdricoh_drv_init+0x0/0xf @ 1
[ 32.003308] bus: 'pcmcia': add driver sdricoh_cs
[ 32.006657] initcall sdricoh_drv_init+0x0/0xf returned 0 after 3255 usecs
[ 32.009974] calling via_sd_drv_init+0x0/0x20 @ 1
[ 32.013305] via_sdmmc: VIA SD/MMC Card Reader driver (C) 2008 VIA Technologies, Inc.
[ 32.016651] bus: 'pci': add driver via_sdmmc
[ 32.020002] initcall via_sd_drv_init+0x0/0x20 returned 0 after 6510 usecs
[ 32.023308] calling bd2802_init+0x0/0x11 @ 1
[ 32.026643] bus: 'i2c': add driver BD2802
[ 32.029995] initcall bd2802_init+0x0/0x11 returned 0 after 3255 usecs
[ 32.033307] calling alix_led_init+0x0/0xe1 @ 1
[ 32.041684] initcall alix_led_init+0x0/0xe1 returned -19 after 3255 usecs
[ 32.043307] calling pca9532_init+0x0/0x11 @ 1
[ 32.046642] bus: 'i2c': add driver pca9532
[ 32.049993] initcall pca9532_init+0x0/0x11 returned 0 after 3255 usecs
[ 32.053307] calling gpio_led_init+0x0/0xf @ 1
[ 32.056642] bus: 'platform': add driver leds-gpio
[ 32.059995] initcall gpio_led_init+0x0/0xf returned 0 after 3255 usecs
[ 32.063307] calling da903x_led_init+0x0/0xf @ 1
[ 32.066640] bus: 'platform': add driver da903x-led
[ 32.069996] initcall da903x_led_init+0x0/0xf returned 0 after 3255 usecs
[ 32.073307] calling heartbeat_trig_init+0x0/0xf @ 1
[ 32.076642] initcall heartbeat_trig_init+0x0/0xf returned 0 after 0 usecs
[ 32.079973] calling gpio_trig_init+0x0/0xf @ 1
[ 32.083307] initcall gpio_trig_init+0x0/0xf returned 0 after 0 usecs
[ 32.086641] calling defon_trig_init+0x0/0xf @ 1
[ 32.089974] initcall defon_trig_init+0x0/0xf returned 0 after 0 usecs
[ 32.093306] calling dcdrbu_init+0x0/0x10f @ 1
[ 32.096645] Registering platform device 'dell_rbu'. Parent at platform
[ 32.099974] device: 'dell_rbu': device_add
[ 32.103311] bus: 'platform': add device dell_rbu
[ 32.106686] initcall dcdrbu_init+0x0/0x10f returned 0 after 9765 usecs
[ 32.109974] calling dcdbas_init+0x0/0x53 @ 1
[ 32.113307] bus: 'platform': add driver dcdbas
[ 32.116662] Registering platform device 'dcdbas'. Parent at platform
[ 32.119973] device: 'dcdbas': device_add
[ 32.123315] bus: 'platform': add device dcdbas
[ 32.126659] bus: 'platform': driver_probe_device: matched device dcdbas with driver dcdbas
[ 32.129973] bus: 'platform': really_probe: probing driver dcdbas with device dcdbas
[ 32.133320] dcdbas dcdbas: Dell Systems Management Base Driver (version 5.6.0-3.2)
[ 32.136639] driver: 'dcdbas': driver_bound: bound to device 'dcdbas'
[ 32.139972] bus: 'platform': really_probe: bound device dcdbas to driver dcdbas
[ 32.143310] initcall dcdbas_init+0x0/0x53 returned 0 after 29296 usecs
[ 32.146643] calling hid_init+0x0/0x3d @ 1
[ 32.149989] bus: 'hid': registered
[ 32.153308] device class 'hidraw': registering
[ 32.156686] initcall hid_init+0x0/0x3d returned 0 after 6510 usecs
[ 32.159975] calling apple_init+0x0/0x32 @ 1
[ 32.163307] bus: 'hid': add driver apple
[ 32.166657] initcall apple_init+0x0/0x32 returned 0 after 3255 usecs
[ 32.169973] calling belkin_init+0x0/0x1b @ 1
[ 32.173306] bus: 'hid': add driver belkin
[ 32.176657] initcall belkin_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.179973] calling ch_init+0x0/0x1b @ 1
[ 32.183306] bus: 'hid': add driver cherry
[ 32.186657] initcall ch_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.189973] calling ch_init+0x0/0x1b @ 1
[ 32.193306] bus: 'hid': add driver chicony
[ 32.196658] initcall ch_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.199973] calling cp_init+0x0/0x1b @ 1
[ 32.203306] bus: 'hid': add driver cypress
[ 32.206658] initcall cp_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.209974] calling dr_init+0x0/0x16 @ 1
[ 32.213306] bus: 'hid': add driver dragonrise
[ 32.216658] initcall dr_init+0x0/0x16 returned 0 after 3255 usecs
[ 32.219974] calling gyration_init+0x0/0x1b @ 1
[ 32.223306] bus: 'hid': add driver gyration
[ 32.226657] initcall gyration_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.229973] calling ms_init+0x0/0x1b @ 1
[ 32.233306] bus: 'hid': add driver microsoft
[ 32.236657] initcall ms_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.239973] calling ntrig_init+0x0/0x1b @ 1
[ 32.243306] bus: 'hid': add driver ntrig
[ 32.246657] initcall ntrig_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.249974] calling pl_init+0x0/0x1b @ 1
[ 32.253306] bus: 'hid': add driver petalynx
[ 32.256658] initcall pl_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.259973] calling samsung_init+0x0/0x1b @ 1
[ 32.263306] bus: 'hid': add driver samsung
[ 32.266657] initcall samsung_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.269974] calling sjoy_init+0x0/0x1b @ 1
[ 32.273307] bus: 'hid': add driver smartjoyplus
[ 32.276658] initcall sjoy_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.279973] calling sp_init+0x0/0x1b @ 1
[ 32.283306] bus: 'hid': add driver sunplus
[ 32.286657] initcall sp_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.289974] calling ga_init+0x0/0x16 @ 1
[ 32.293307] bus: 'hid': add driver greenasia
[ 32.296659] initcall ga_init+0x0/0x16 returned 0 after 3255 usecs
[ 32.299973] calling tm_init+0x0/0x1b @ 1
[ 32.303306] bus: 'hid': add driver thrustmaster
[ 32.306657] initcall tm_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.309974] calling zp_init+0x0/0x1b @ 1
[ 32.313307] bus: 'hid': add driver zeroplus
[ 32.316658] initcall zp_init+0x0/0x1b returned 0 after 3255 usecs
[ 32.319974] calling hid_init+0x0/0xa0 @ 1
[ 32.323330] bus: 'hid': add driver generic-usb
[ 32.326659] bus: 'usb': add driver usbhid
[ 32.333373] usbcore: registered new interface driver usbhid
[ 32.336643] usbhid: v2.6:USB HID core driver
[ 32.339974] initcall hid_init+0x0/0xa0 returned 0 after 16276 usecs
[ 32.343307] calling usb_mouse_init+0x0/0x2d @ 1
[ 32.346646] bus: 'usb': add driver usbmouse
[ 32.350003] usbcore: registered new interface driver usbmouse
[ 32.353309] usbmouse: v1.6:USB HID Boot Protocol mouse driver
[ 32.356641] initcall usb_mouse_init+0x0/0x2d returned 0 after 9765 usecs
[ 32.359973] calling init_soundcore+0x0/0x6a @ 1
[ 32.363308] device class 'sound': registering
[ 32.366655] initcall init_soundcore+0x0/0x6a returned 0 after 3255 usecs
[ 32.369974] calling oprofile_init+0x0/0x47 @ 1
[ 32.373307] oprofile: using NMI interrupt.
[ 32.376649] initcall oprofile_init+0x0/0x47 returned 0 after 3255 usecs
[ 32.379973] calling flow_cache_init+0x0/0x13f @ 1
[ 32.383325] initcall flow_cache_init+0x0/0x13f returned 0 after 0 usecs
[ 32.386640] calling pg_init+0x0/0x2a4 @ 1
[ 32.389972] pktgen v2.70: Packet Generator for packet performance testing.
[ 32.393335] initcall pg_init+0x0/0x2a4 returned 0 after 3255 usecs
[ 32.396642] calling llc_init+0x0/0x1b @ 1
[ 32.399974] initcall llc_init+0x0/0x1b returned 0 after 0 usecs
[ 32.403309] calling llc2_init+0x0/0xb5 @ 1
[ 32.406772] NET: Registered protocol family 26
[ 32.409975] initcall llc2_init+0x0/0xb5 returned 0 after 3255 usecs
[ 32.413306] calling snap_init+0x0/0x31 @ 1
[ 32.416641] initcall snap_init+0x0/0x31 returned 0 after 0 usecs
[ 32.419973] calling blackhole_module_init+0x0/0xf @ 1
[ 32.423309] initcall blackhole_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.426640] calling cbq_module_init+0x0/0xf @ 1
[ 32.429974] initcall cbq_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.433306] calling hfsc_init+0x0/0xf @ 1
[ 32.436641] initcall hfsc_init+0x0/0xf returned 0 after 0 usecs
[ 32.439973] calling red_module_init+0x0/0xf @ 1
[ 32.443307] initcall red_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.446640] calling gred_module_init+0x0/0xf @ 1
[ 32.449975] initcall gred_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.453306] calling dsmark_module_init+0x0/0xf @ 1
[ 32.456641] initcall dsmark_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.459973] calling sfq_module_init+0x0/0xf @ 1
[ 32.463308] initcall sfq_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.466640] calling tbf_module_init+0x0/0xf @ 1
[ 32.469974] initcall tbf_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.473307] calling multiq_module_init+0x0/0xf @ 1
[ 32.476642] initcall multiq_module_init+0x0/0xf returned 0 after 0 usecs
[ 32.479973] calling atm_init+0x0/0xf @ 1
[ 32.483307] initcall atm_init+0x0/0xf returned 0 after 0 usecs
[ 32.486640] calling drr_init+0x0/0xf @ 1
[ 32.489975] initcall drr_init+0x0/0xf returned 0 after 0 usecs
[ 32.493309] calling init_tcindex+0x0/0xf @ 1
[ 32.496641] initcall init_tcindex+0x0/0xf returned 0 after 0 usecs
[ 32.499973] calling cls_flow_init+0x0/0xf @ 1
[ 32.503308] initcall cls_flow_init+0x0/0xf returned 0 after 0 usecs
[ 32.506640] calling sysctl_ipv4_init+0x0/0x3f @ 1
[ 32.509976] initcall sysctl_ipv4_init+0x0/0x3f returned 0 after 0 usecs
[ 32.516646] calling ipgre_init+0x0/0x98 @ 1
[ 32.519972] GRE over IPv4 tunneling driver
[ 32.523322] device: 'gre0': device_add
[ 32.529759] initcall ipgre_init+0x0/0x98 returned 0 after 9765 usecs
[ 32.536641] calling init_syncookies+0x0/0x16 @ 1
[ 32.540014] initcall init_syncookies+0x0/0x16 returned 0 after 0 usecs
[ 32.546639] calling esp4_init+0x0/0x5a @ 1
[ 32.549974] initcall esp4_init+0x0/0x5a returned 0 after 0 usecs
[ 32.556639] calling xfrm4_beet_init+0x0/0x14 @ 1
[ 32.559973] initcall xfrm4_beet_init+0x0/0x14 returned 0 after 0 usecs
[ 32.566639] calling tunnel4_init+0x0/0x5a @ 1
[ 32.573307] initcall tunnel4_init+0x0/0x5a returned 0 after 0 usecs
[ 32.576639] calling inet_diag_init+0x0/0x9e @ 1
[ 32.583316] initcall inet_diag_init+0x0/0x9e returned 0 after 0 usecs
[ 32.589972] calling tcp_diag_init+0x0/0xf @ 1
[ 32.593316] initcall tcp_diag_init+0x0/0xf returned 0 after 0 usecs
[ 32.599973] calling cubictcp_register+0x0/0x7f @ 1
[ 32.603306] TCP cubic registered
[ 32.606640] initcall cubictcp_register+0x0/0x7f returned 0 after 3255 usecs
[ 32.613306] calling xfrm_user_init+0x0/0x40 @ 1
[ 32.619972] Initializing XFRM netlink socket
[ 32.623311] initcall xfrm_user_init+0x0/0x40 returned 0 after 3255 usecs
[ 32.629973] calling inet6_init+0x0/0x28e @ 1
[ 32.633326] NET: Registered protocol family 10
[ 32.640160] lo: Disabled Privacy Extensions
[ 32.652895] initcall inet6_init+0x0/0x28e returned 0 after 19531 usecs
[ 32.659974] calling ah6_init+0x0/0x5a @ 1
[ 32.663307] initcall ah6_init+0x0/0x5a returned 0 after 0 usecs
[ 32.669973] calling esp6_init+0x0/0x5a @ 1
[ 32.673307] initcall esp6_init+0x0/0x5a returned 0 after 0 usecs
[ 32.679973] calling tunnel6_init+0x0/0x5a @ 1
[ 32.683307] initcall tunnel6_init+0x0/0x5a returned 0 after 0 usecs
[ 32.689973] calling xfrm6_transport_init+0x0/0x14 @ 1
[ 32.696644] initcall xfrm6_transport_init+0x0/0x14 returned 0 after 0 usecs
[ 32.703307] calling xfrm6_mode_tunnel_init+0x0/0x14 @ 1
[ 32.706641] initcall xfrm6_mode_tunnel_init+0x0/0x14 returned 0 after 0 usecs
[ 32.713307] calling xfrm6_ro_init+0x0/0x14 @ 1
[ 32.719975] initcall xfrm6_ro_init+0x0/0x14 returned 0 after 0 usecs
[ 32.726640] calling xfrm6_beet_init+0x0/0x14 @ 1
[ 32.729974] initcall xfrm6_beet_init+0x0/0x14 returned 0 after 0 usecs
[ 32.736640] calling mip6_init+0x0/0xa7 @ 1
[ 32.739972] Mobile IPv6
[ 32.743305] initcall mip6_init+0x0/0xa7 returned 0 after 3255 usecs
[ 32.749973] calling sit_init+0x0/0x5f @ 1
[ 32.753306] IPv6 over IPv4 tunneling driver
[ 32.759559] device: 'sit0': device_add
[ 32.764248] sit0: Disabled Privacy Extensions
[ 32.767652] initcall sit_init+0x0/0x5f returned 0 after 13020 usecs
[ 32.769973] calling ip6_tunnel_init+0x0/0x8c @ 1
[ 32.773313] device: 'ip6tnl0': device_add
[ 32.777588] ip6tnl0: Disabled Privacy Extensions
[ 32.781033] initcall ip6_tunnel_init+0x0/0x8c returned 0 after 6510 usecs
[ 32.783306] calling packet_init+0x0/0x39 @ 1
[ 32.786640] NET: Registered protocol family 17
[ 32.789982] initcall packet_init+0x0/0x39 returned 0 after 3255 usecs
[ 32.793307] calling ipsec_pfkey_init+0x0/0x70 @ 1
[ 32.796639] NET: Registered protocol family 15
[ 32.799978] initcall ipsec_pfkey_init+0x0/0x70 returned 0 after 3255 usecs
[ 32.803306] calling dsa_init_module+0x0/0x11 @ 1
[ 32.806641] initcall dsa_init_module+0x0/0x11 returned 0 after 0 usecs
[ 32.809975] calling edsa_init_module+0x0/0x11 @ 1
[ 32.813307] initcall edsa_init_module+0x0/0x11 returned 0 after 0 usecs
[ 32.816639] calling trailer_init_module+0x0/0x11 @ 1
[ 32.819975] initcall trailer_init_module+0x0/0x11 returned 0 after 0 usecs
[ 32.823309] calling mv88e6060_init+0x0/0x11 @ 1
[ 32.826641] initcall mv88e6060_init+0x0/0x11 returned 0 after 0 usecs
[ 32.833327] calling mv88e6123_61_65_init+0x0/0x11 @ 1
[ 32.836650] initcall mv88e6123_61_65_init+0x0/0x11 returned 0 after 0 usecs
[ 32.843307] calling mv88e6131_init+0x0/0x11 @ 1
[ 32.849978] initcall mv88e6131_init+0x0/0x11 returned 0 after 0 usecs
[ 32.856642] calling dsa_init_module+0x0/0xf @ 1
[ 32.859979] bus: 'platform': add driver dsa
[ 32.866220] initcall dsa_init_module+0x0/0xf returned 0 after 3255 usecs
[ 32.869973] calling ipx_init+0x0/0xd2 @ 1
[ 32.876648] NET: Registered protocol family 4
[ 32.886717] initcall ipx_init+0x0/0xd2 returned 0 after 9765 usecs
[ 32.893307] calling lapb_init+0x0/0x7 @ 1
[ 32.896640] initcall lapb_init+0x0/0x7 returned 0 after 0 usecs
[ 32.903306] calling can_init+0x0/0xf5 @ 1
[ 32.906639] can: controller area network core (rev 20090105 abi 8)
[ 32.913326] NET: Registered protocol family 29
[ 32.916643] initcall can_init+0x0/0xf5 returned 0 after 9765 usecs
[ 32.923307] calling bcm_module_init+0x0/0x4a @ 1
[ 32.929972] can: broadcast manager protocol (rev 20090105 t)
[ 32.933310] initcall bcm_module_init+0x0/0x4a returned 0 after 3255 usecs
[ 32.939973] calling init_sunrpc+0x0/0x53 @ 1
[ 32.946952] RPC: Registered udp transport module.
[ 32.949974] RPC: Registered tcp transport module.
[ 32.953311] initcall init_sunrpc+0x0/0x53 returned 0 after 6510 usecs
[ 32.959974] calling init_rpcsec_gss+0x0/0x3f @ 1
[ 32.967627] initcall init_rpcsec_gss+0x0/0x3f returned 0 after 0 usecs
[ 32.969974] calling init_kerberos_module+0x0/0x26 @ 1
[ 32.973311] initcall init_kerberos_module+0x0/0x26 returned 0 after 0 usecs
[ 32.976640] calling af_rxrpc_init+0x0/0x16d @ 1
[ 32.979997] NET: Registered protocol family 33
[ 32.983314] initcall af_rxrpc_init+0x0/0x16d returned 0 after 3255 usecs
[ 32.986639] calling rxkad_init+0x0/0x56 @ 1
[ 32.990022] RxRPC: Registered security type 2 'rxkad'
[ 32.993307] initcall rxkad_init+0x0/0x56 returned 0 after 3255 usecs
[ 32.996639] calling br2684_init+0x0/0x37 @ 1
[ 32.999976] initcall br2684_init+0x0/0x37 returned 0 after 0 usecs
[ 33.003307] calling lane_module_init+0x0/0x4f @ 1
[ 33.006640] lec.c: Aug 15 2009 11:14:24 initialized
[ 33.009973] initcall lane_module_init+0x0/0x4f returned 0 after 3255 usecs
[ 33.013306] calling atm_mpoa_init+0x0/0x2f @ 1
[ 33.016642] mpc.c: Aug 15 2009 11:14:22 initialized
[ 33.019973] initcall atm_mpoa_init+0x0/0x2f returned 0 after 3255 usecs
[ 33.023306] calling pppoatm_init+0x0/0x11 @ 1
[ 33.026647] initcall pppoatm_init+0x0/0x11 returned 0 after 0 usecs
[ 33.029973] calling decnet_init+0x0/0x77 @ 1
[ 33.033307] NET4: DECnet for Linux: V.2.5.68s (C) 1995-2003 Linux DECnet Project Team
[ 33.040444] DECnet: Routing cache hash table of 1024 buckets, 40Kbytes
[ 33.043345] NET: Registered protocol family 12
[ 33.046942] initcall decnet_init+0x0/0x77 returned 0 after 13020 usecs
[ 33.049973] calling econet_proto_init+0x0/0x17f @ 1
[ 33.053305] NET: Registered protocol family 19
[ 33.056662] initcall econet_proto_init+0x0/0x17f returned 0 after 3255 usecs
[ 33.059973] calling phonet_init+0x0/0x6b @ 1
[ 33.063309] NET: Registered protocol family 35
[ 33.066700] initcall phonet_init+0x0/0x6b returned 0 after 3255 usecs
[ 33.069973] calling pep_register+0x0/0x14 @ 1
[ 33.073309] initcall pep_register+0x0/0x14 returned 0 after 0 usecs
[ 33.076639] calling dccp_init+0x0/0x2ca @ 1
[ 33.084578] CCID: Activated CCID 2 (TCP-like)
[ 33.086648] initcall dccp_init+0x0/0x2ca returned 0 after 6510 usecs
[ 33.089973] calling dccp_v4_init+0x0/0x72 @ 1
[ 33.093350] initcall dccp_v4_init+0x0/0x72 returned 0 after 0 usecs
[ 33.096640] calling dccp_v6_init+0x0/0x72 @ 1
[ 33.099995] initcall dccp_v6_init+0x0/0x72 returned 0 after 0 usecs
[ 33.103307] calling dccp_diag_init+0x0/0xf @ 1
[ 33.106641] initcall dccp_diag_init+0x0/0xf returned 0 after 0 usecs
[ 33.109974] calling lib80211_init+0x0/0x19 @ 1
[ 33.113305] lib80211: common routines for IEEE802.11 drivers
[ 33.116639] lib80211_crypt: registered algorithm 'NULL'
[ 33.119973] initcall lib80211_init+0x0/0x19 returned 0 after 6510 usecs
[ 33.123307] calling lib80211_crypto_wep_init+0x0/0xf @ 1
[ 33.126657] lib80211_crypt: registered algorithm 'WEP'
[ 33.129974] initcall lib80211_crypto_wep_init+0x0/0xf returned 0 after 3255 usecs
[ 33.133307] calling lib80211_crypto_ccmp_init+0x0/0xf @ 1
[ 33.136638] lib80211_crypt: registered algorithm 'CCMP'
[ 33.139973] initcall lib80211_crypto_ccmp_init+0x0/0xf returned 0 after 3255 usecs
[ 33.143307] calling lib80211_crypto_tkip_init+0x0/0xf @ 1
[ 33.146639] lib80211_crypt: registered algorithm 'TKIP'
[ 33.149973] initcall lib80211_crypto_tkip_init+0x0/0xf returned 0 after 3255 usecs
[ 33.153306] calling tipc_init+0x0/0x9e @ 1
[ 33.156640] TIPC: Activated (version 1.6.4 compiled Aug 15 2009 11:14:35)
[ 33.160330] NET: Registered protocol family 30
[ 33.163310] TIPC: Started in single node mode
[ 33.166640] initcall tipc_init+0x0/0x9e returned 0 after 9765 usecs
[ 33.169973] calling ieee802154_nl_init+0x0/0x75 @ 1
[ 33.179982] initcall ieee802154_nl_init+0x0/0x75 returned 0 after 6510 usecs
[ 33.183306] calling af_ieee802154_init+0x0/0x63 @ 1
[ 33.186643] NET: Registered protocol family 36
[ 33.189974] initcall af_ieee802154_init+0x0/0x63 returned 0 after 3255 usecs
[ 33.193306] calling wimax_subsys_init+0x0/0x1cb @ 1
[ 33.199981] initcall wimax_subsys_init+0x0/0x1cb returned 0 after 3255 usecs
[ 33.203307] calling severities_debugfs_init+0x0/0x4e @ 1
[ 33.206657] initcall severities_debugfs_init+0x0/0x4e returned 0 after 0 usecs
[ 33.209973] calling powernow_init+0x0/0x128 @ 1
[ 33.213307] initcall powernow_init+0x0/0x128 returned -19 after 0 usecs
[ 33.216639] calling cpufreq_p4_init+0x0/0x4f @ 1
[ 33.219973] initcall cpufreq_p4_init+0x0/0x4f returned -19 after 0 usecs
[ 33.223306] calling update_mp_table+0x0/0x583 @ 1
[ 33.226643] initcall update_mp_table+0x0/0x583 returned 0 after 0 usecs
[ 33.229973] calling lapic_insert_resource+0x0/0x45 @ 1
[ 33.233309] initcall lapic_insert_resource+0x0/0x45 returned 0 after 0 usecs
[ 33.236639] calling print_ipi_mode+0x0/0x25 @ 1
[ 33.239972] Using IPI Shortcut mode
[ 33.243307] initcall print_ipi_mode+0x0/0x25 returned 0 after 3255 usecs
[ 33.246640] calling io_apic_bug_finalize+0x0/0x1a @ 1
[ 33.249974] initcall io_apic_bug_finalize+0x0/0x1a returned 0 after 0 usecs
[ 33.253308] calling check_early_ioremap_leak+0x0/0x5e @ 1
[ 33.256641] initcall check_early_ioremap_leak+0x0/0x5e returned 0 after 0 usecs
[ 33.259974] calling sched_init_debug+0x0/0x1f @ 1
[ 33.263309] initcall sched_init_debug+0x0/0x1f returned 0 after 0 usecs
[ 33.269979] calling init_oops_id+0x0/0x3f @ 1
[ 33.273307] initcall init_oops_id+0x0/0x3f returned 0 after 0 usecs
[ 33.279974] calling disable_boot_consoles+0x0/0x41 @ 1
[ 33.283307] initcall disable_boot_consoles+0x0/0x41 returned 0 after 0 usecs
[ 33.289973] calling pm_qos_power_init+0x0/0xae @ 1
[ 33.296649] device: 'cpu_dma_latency': device_add
[ 33.302930] device: 'network_latency': device_add
[ 33.307614] device: 'network_throughput': device_add
[ 33.312549] initcall pm_qos_power_init+0x0/0xae returned 0 after 13020 usecs
[ 33.316640] calling taskstats_init+0x0/0x7d @ 1
[ 33.323314] registered taskstats version 1
[ 33.326642] initcall taskstats_init+0x0/0x7d returned 0 after 3255 usecs
[ 33.333307] calling clear_boot_tracer+0x0/0x27 @ 1
[ 33.336644] initcall clear_boot_tracer+0x0/0x27 returned 0 after 0 usecs
[ 33.343307] calling event_trace_self_tests_init+0x0/0x39 @ 1
[ 33.349972] Running tests on trace events:
[ 33.353306] Testing event kfree_skb: OK
[ 33.372221] Testing event sys_enter_socketcall: OK
[ 33.388892] Testing event sys_exit_socketcall: OK
[ 33.408895] Testing event block_rq_abort: OK
[ 33.425537] Testing event block_rq_insert: OK
[ 33.442213] Testing event block_rq_issue: OK
[ 33.458880] Testing event block_rq_requeue: OK
[ 33.475548] Testing event block_rq_complete: OK
[ 33.492215] Testing event block_bio_bounce: OK
[ 33.508882] Testing event block_bio_complete: OK
[ 33.525549] Testing event block_bio_backmerge: OK
[ 33.545545] Testing event block_bio_frontmerge: OK
[ 33.563569] Testing event block_bio_queue: OK
[ 33.582208] Testing event block_getrq: OK
[ 33.598884] Testing event block_sleeprq: OK
[ 33.615543] Testing event block_plug: OK
[ 33.632210] Testing event block_unplug_timer: OK
[ 33.648877] Testing event block_unplug_io: OK
[ 33.663573] Testing event block_split: OK
[ 33.682202] Testing event block_remap: OK
[ 33.698879] Testing event sys_enter_add_key: OK
[ 33.715555] Testing event sys_exit_add_key: OK
[ 33.732222] Testing event sys_enter_request_key: OK
[ 33.748893] Testing event sys_exit_request_key: OK
[ 33.763593] Testing event sys_enter_keyctl: OK
[ 33.782222] Testing event sys_exit_keyctl: OK
[ 33.798899] Testing event sys_enter_mq_open: OK
[ 33.815557] Testing event sys_exit_mq_open: OK
[ 33.832224] Testing event sys_enter_mq_unlink: OK
[ 33.852228] Testing event sys_exit_mq_unlink: OK
[ 33.868896] Testing event sys_enter_mq_timedsend: OK
[ 33.885558] Testing event sys_exit_mq_timedsend: OK
[ 33.902229] Testing event sys_enter_mq_timedreceive: OK
[ 33.918900] Testing event sys_exit_mq_timedreceive: OK
[ 33.935562] Testing event sys_enter_mq_notify: OK
[ 33.955566] Testing event sys_exit_mq_notify: OK
[ 33.972225] Testing event sys_enter_mq_getsetattr: OK
[ 33.988896] Testing event sys_exit_mq_getsetattr: OK
[ 34.005567] Testing event jbd2_checkpoint: OK
[ 34.022208] Testing event jbd2_start_commit: OK
[ 34.038875] Testing event jbd2_commit_locking: OK
[ 34.056901] Testing event jbd2_commit_flushing: OK
[ 34.075538] Testing event jbd2_commit_logging: OK
[ 34.095542] Testing event jbd2_end_commit: OK
[ 34.112209] Testing event jbd2_submit_inode_data: OK
[ 34.128881] Testing event sys_enter_quotactl: OK
[ 34.145556] Testing event sys_exit_quotactl: OK
[ 34.162223] Testing event sys_enter_nfsservctl: OK
[ 34.178895] Testing event sys_exit_nfsservctl: OK
[ 34.198899] Testing event sys_enter_flock: OK
[ 34.215557] Testing event sys_exit_flock: OK
[ 34.232224] Testing event sys_enter_io_setup: OK
[ 34.248892] Testing event sys_exit_io_setup: OK
[ 34.263584] Testing event sys_enter_io_destroy: OK
[ 34.282230] Testing event sys_exit_io_destroy: OK
[ 34.302225] Testing event sys_enter_io_submit: OK
[ 34.322230] Testing event sys_exit_io_submit: OK
[ 34.338897] Testing event sys_enter_io_cancel: OK
[ 34.358892] Testing event sys_exit_io_cancel: OK
[ 34.375560] Testing event sys_enter_io_getevents: OK
[ 34.392231] Testing event sys_exit_io_getevents: OK
[ 34.408901] Testing event sys_enter_eventfd2: OK
[ 34.425560] Testing event sys_exit_eventfd2: OK
[ 34.442227] Testing event sys_enter_eventfd: OK
[ 34.458894] Testing event sys_exit_eventfd: OK
[ 34.475562] Testing event sys_enter_signalfd4: OK
[ 34.495566] Testing event sys_exit_signalfd4: OK
[ 34.512224] Testing event sys_enter_signalfd: OK
[ 34.528892] Testing event sys_exit_signalfd: OK
[ 34.545559] Testing event sys_enter_inotify_init1: OK
[ 34.562230] Testing event sys_exit_inotify_init1: OK
[ 34.578892] Testing event sys_enter_inotify_init: OK
[ 34.595563] Testing event sys_exit_inotify_init: OK
[ 34.612225] Testing event sys_enter_inotify_add_watch: OK
[ 34.628897] Testing event sys_exit_inotify_add_watch: OK
[ 34.645559] Testing event sys_enter_inotify_rm_watch: OK
[ 34.662230] Testing event sys_exit_inotify_rm_watch: OK
[ 34.678891] Testing event sys_enter_ioprio_set: OK
[ 34.695563] Testing event sys_exit_ioprio_set: OK
[ 34.715567] Testing event sys_enter_ioprio_get: OK
[ 34.732229] Testing event sys_exit_ioprio_get: OK
[ 34.752233] Testing event sys_enter_bdflush: OK
[ 34.768891] Testing event sys_exit_bdflush: OK
[ 34.785559] Testing event sys_enter_utime: OK
[ 34.802227] Testing event sys_exit_utime: OK
[ 34.818894] Testing event sys_enter_utimensat: OK
[ 34.838899] Testing event sys_exit_utimensat: OK
[ 34.855557] Testing event sys_enter_futimesat: OK
[ 34.875561] Testing event sys_exit_futimesat: OK
[ 34.892228] Testing event sys_enter_utimes: OK
[ 34.908895] Testing event sys_exit_utimes: OK
[ 34.925562] Testing event sys_enter_sync: OK
[ 34.942221] Testing event sys_exit_sync: OK
[ 34.958888] Testing event sys_enter_fsync: OK
[ 34.975555] Testing event sys_exit_fsync: OK
[ 34.992223] Testing event sys_enter_fdatasync: OK
[ 35.012218] Testing event sys_exit_fdatasync: OK
[ 35.028886] Testing event sys_enter_vmsplice: OK
[ 35.045553] Testing event sys_exit_vmsplice: OK
[ 35.062220] Testing event sys_enter_splice: OK
[ 35.078888] Testing event sys_exit_splice: OK
[ 35.095554] Testing event sys_enter_tee: OK
[ 35.112222] Testing event sys_exit_tee: OK
[ 35.128889] Testing event sys_enter_setxattr: OK
[ 35.145557] Testing event sys_exit_setxattr: OK
[ 35.162224] Testing event sys_enter_lsetxattr: OK
[ 35.182229] Testing event sys_exit_lsetxattr: OK
[ 35.198887] Testing event sys_enter_fsetxattr: OK
[ 35.218891] Testing event sys_exit_fsetxattr: OK
[ 35.235549] Testing event sys_enter_getxattr: OK
[ 35.252217] Testing event sys_exit_getxattr: OK
[ 35.268884] Testing event sys_enter_lgetxattr: OK
[ 35.288889] Testing event sys_exit_lgetxattr: OK
[ 35.305564] Testing event sys_enter_fgetxattr: OK
[ 35.325561] Testing event sys_exit_fgetxattr: OK
[ 35.342227] Testing event sys_enter_listxattr: OK
[ 35.362223] Testing event sys_exit_listxattr: OK
[ 35.378891] Testing event sys_enter_llistxattr: OK
[ 35.395553] Testing event sys_exit_llistxattr: OK
[ 35.413602] Testing event sys_enter_flistxattr: OK
[ 35.430260] Testing event sys_exit_flistxattr: OK
[ 35.452231] Testing event sys_enter_removexattr: OK
[ 35.468894] Testing event sys_exit_removexattr: OK
[ 35.485557] Testing event sys_enter_lremovexattr: OK
[ 35.502227] Testing event sys_exit_lremovexattr: OK
[ 35.518898] Testing event sys_enter_fremovexattr: OK
[ 35.535560] Testing event sys_exit_fremovexattr: OK
[ 35.552231] Testing event sys_enter_umount: OK
[ 35.568889] Testing event sys_exit_umount: OK
[ 35.585557] Testing event sys_enter_oldumount: OK
[ 35.605553] Testing event sys_exit_oldumount: OK
[ 35.622220] Testing event sys_enter_mount: OK
[ 35.638887] Testing event sys_exit_mount: OK
[ 35.655546] Testing event sys_enter_pivot_root: OK
[ 35.672225] Testing event sys_exit_pivot_root: OK
[ 35.692229] Testing event sys_enter_sysfs: OK
[ 35.708888] Testing event sys_exit_sysfs: OK
[ 35.725556] Testing event sys_enter_getcwd: OK
[ 35.742223] Testing event sys_exit_getcwd: OK
[ 35.758890] Testing event sys_enter_select: OK
[ 35.775557] Testing event sys_exit_select: OK
[ 35.792224] Testing event sys_enter_pselect6: OK
[ 35.808892] Testing event sys_exit_pselect6: OK
[ 35.825559] Testing event sys_enter_poll: OK
[ 35.842226] Testing event sys_exit_poll: OK
[ 35.858894] Testing event sys_enter_ppoll: OK
[ 35.876193] Testing event sys_exit_ppoll: OK
[ 35.892232] Testing event sys_enter_old_readdir: OK
[ 35.908894] Testing event sys_exit_old_readdir: OK
[ 35.925556] Testing event sys_enter_getdents: OK
[ 35.942224] Testing event sys_exit_getdents: OK
[ 35.958890] Testing event sys_enter_getdents64: OK
[ 35.975562] Testing event sys_exit_getdents64: OK
[ 35.995565] Testing event sys_enter_ioctl: OK
[ 36.012215] Testing event sys_exit_ioctl: OK
[ 36.028891] Testing event sys_enter_dup3: OK
[ 36.045568] Testing event sys_exit_dup3: OK
[ 36.062226] Testing event sys_enter_dup2: OK
[ 36.078894] Testing event sys_exit_dup2: OK
[ 36.095561] Testing event sys_enter_dup: OK
[ 36.112219] Testing event sys_exit_dup: OK
[ 36.128887] Testing event sys_enter_fcntl: OK
[ 36.145553] Testing event sys_exit_fcntl: OK
[ 36.162221] Testing event sys_enter_fcntl64: OK
[ 36.178898] Testing event sys_exit_fcntl64: OK
[ 36.195556] Testing event sys_enter_mknodat: OK
[ 36.212232] Testing event sys_exit_mknodat: OK
[ 36.228899] Testing event sys_enter_mknod: OK
[ 36.245558] Testing event sys_exit_mknod: OK
[ 36.262225] Testing event sys_enter_mkdirat: OK
[ 36.278892] Testing event sys_exit_mkdirat: OK
[ 36.295560] Testing event sys_enter_mkdir: OK
[ 36.312218] Testing event sys_exit_mkdir: OK
[ 36.328885] Testing event sys_enter_rmdir: OK
[ 36.345562] Testing event sys_exit_rmdir: OK
[ 36.362220] Testing event sys_enter_unlinkat: OK
[ 36.378896] Testing event sys_exit_unlinkat: OK
[ 36.395563] Testing event sys_enter_unlink: OK
[ 36.412222] Testing event sys_exit_unlink: OK
[ 36.428889] Testing event sys_enter_symlinkat: OK
[ 36.448902] Testing event sys_exit_symlinkat: OK
[ 36.463594] Testing event sys_enter_symlink: OK
[ 36.482220] Testing event sys_exit_symlink: OK
[ 36.498887] Testing event sys_enter_linkat: OK
[ 36.515563] Testing event sys_exit_linkat: OK
[ 36.532230] Testing event sys_enter_link: OK
[ 36.548889] Testing event sys_exit_link: OK
[ 36.563582] Testing event sys_enter_renameat: OK
[ 36.582231] Testing event sys_exit_renameat: OK
[ 36.598899] Testing event sys_enter_rename: OK
[ 36.615558] Testing event sys_exit_rename: OK
[ 36.632225] Testing event sys_enter_pipe2: OK
[ 36.648892] Testing event sys_exit_pipe2: OK
[ 36.663585] Testing event sys_enter_pipe: OK
[ 36.682218] Testing event sys_exit_pipe: OK
[ 36.698894] Testing event sys_enter_uselib: OK
[ 36.715552] Testing event sys_exit_uselib: OK
[ 36.732220] Testing event sys_enter_stat: OK
[ 36.748887] Testing event sys_exit_stat: OK
[ 36.763580] Testing event sys_enter_lstat: OK
[ 36.782222] Testing event sys_exit_lstat: OK
[ 36.798889] Testing event sys_enter_fstat: OK
[ 36.815556] Testing event sys_exit_fstat: OK
[ 36.832224] Testing event sys_enter_newstat: OK
[ 36.848892] Testing event sys_exit_newstat: OK
[ 36.863584] Testing event sys_enter_newlstat: OK
[ 36.882226] Testing event sys_exit_newlstat: OK
[ 36.898893] Testing event sys_enter_newfstat: OK
[ 36.915560] Testing event sys_exit_newfstat: OK
[ 36.932228] Testing event sys_enter_readlinkat: OK
[ 36.948898] Testing event sys_exit_readlinkat: OK
[ 36.968903] Testing event sys_enter_readlink: OK
[ 36.985552] Testing event sys_exit_readlink: OK
[ 37.002220] Testing event sys_enter_stat64: OK
[ 37.018896] Testing event sys_exit_stat64: OK
[ 37.035563] Testing event sys_enter_lstat64: OK
[ 37.052230] Testing event sys_exit_lstat64: OK
[ 37.068889] Testing event sys_enter_fstat64: OK
[ 37.085556] Testing event sys_exit_fstat64: OK
[ 37.102223] Testing event sys_enter_fstatat64: OK
[ 37.122228] Testing event sys_exit_fstatat64: OK
[ 37.138895] Testing event sys_enter_ustat: OK
[ 37.155554] Testing event sys_exit_ustat: OK
[ 37.172220] Testing event sys_enter_lseek: OK
[ 37.188888] Testing event sys_exit_lseek: OK
[ 37.205555] Testing event sys_enter_llseek: OK
[ 37.222222] Testing event sys_exit_llseek: OK
[ 37.238890] Testing event sys_enter_read: OK
[ 37.255557] Testing event sys_exit_read: OK
[ 37.272224] Testing event sys_enter_write: OK
[ 37.288892] Testing event sys_exit_write: OK
[ 37.305559] Testing event sys_enter_readv: OK
[ 37.322226] Testing event sys_exit_readv: OK
[ 37.338894] Testing event sys_enter_writev: OK
[ 37.355561] Testing event sys_exit_writev: OK
[ 37.372228] Testing event sys_enter_preadv: OK
[ 37.388896] Testing event sys_exit_preadv: OK
[ 37.405562] Testing event sys_enter_pwritev: OK
[ 37.422230] Testing event sys_exit_pwritev: OK
[ 37.438897] Testing event sys_enter_sendfile: OK
[ 37.455556] Testing event sys_exit_sendfile: OK
[ 37.472223] Testing event sys_enter_sendfile64: OK
[ 37.488894] Testing event sys_exit_sendfile64: OK
[ 37.508898] Testing event sys_enter_statfs: OK
[ 37.525557] Testing event sys_exit_statfs: OK
[ 37.542225] Testing event sys_enter_statfs64: OK
[ 37.558892] Testing event sys_exit_statfs64: OK
[ 37.575559] Testing event sys_enter_fstatfs: OK
[ 37.592226] Testing event sys_exit_fstatfs: OK
[ 37.608894] Testing event sys_enter_fstatfs64: OK
[ 37.628898] Testing event sys_exit_fstatfs64: OK
[ 37.645557] Testing event sys_enter_truncate: OK
[ 37.662223] Testing event sys_exit_truncate: OK
[ 37.678890] Testing event sys_enter_ftruncate: OK
[ 37.698887] Testing event sys_exit_ftruncate: OK
[ 37.715553] Testing event sys_enter_faccessat: OK
[ 37.735567] Testing event sys_exit_faccessat: OK
[ 37.752225] Testing event sys_enter_access: OK
[ 37.768892] Testing event sys_exit_access: OK
[ 37.785560] Testing event sys_enter_chdir: OK
[ 37.802219] Testing event sys_exit_chdir: OK
[ 37.818885] Testing event sys_enter_fchdir: OK
[ 37.835562] Testing event sys_exit_fchdir: OK
[ 37.852229] Testing event sys_enter_chroot: OK
[ 37.868887] Testing event sys_exit_chroot: OK
[ 37.885554] Testing event sys_enter_fchmod: OK
[ 37.902222] Testing event sys_exit_fchmod: OK
[ 37.918889] Testing event sys_enter_fchmodat: OK
[ 37.935565] Testing event sys_exit_fchmodat: OK
[ 37.952232] Testing event sys_enter_chmod: OK
[ 37.968891] Testing event sys_exit_chmod: OK
[ 37.985558] Testing event sys_enter_chown: OK
[ 38.002225] Testing event sys_exit_chown: OK
[ 38.018893] Testing event sys_enter_fchownat: OK
[ 38.035569] Testing event sys_exit_fchownat: OK
[ 38.052227] Testing event sys_enter_lchown: OK
[ 38.068895] Testing event sys_exit_lchown: OK
[ 38.085562] Testing event sys_enter_fchown: OK
[ 38.102230] Testing event sys_exit_fchown: OK
[ 38.118897] Testing event sys_enter_open: OK
[ 38.135564] Testing event sys_exit_open: OK
[ 38.152222] Testing event sys_enter_openat: OK
[ 38.168898] Testing event sys_exit_openat: OK
[ 38.185566] Testing event sys_enter_creat: OK
[ 38.202225] Testing event sys_exit_creat: OK
[ 38.218892] Testing event sys_enter_close: OK
[ 38.235559] Testing event sys_exit_close: OK
[ 38.252227] Testing event sys_enter_vhangup: OK
[ 38.268894] Testing event sys_exit_vhangup: OK
[ 38.285561] Testing event sys_enter_move_pages: OK
[ 38.302231] Testing event sys_exit_move_pages: OK
[ 38.322227] Testing event sys_enter_mbind: OK
[ 38.338894] Testing event sys_exit_mbind: OK
[ 38.355562] Testing event sys_enter_set_mempolicy: OK
[ 38.372233] Testing event sys_exit_set_mempolicy: OK
[ 38.388895] Testing event sys_enter_migrate_pages: OK
[ 38.405566] Testing event sys_exit_migrate_pages: OK
[ 38.422228] Testing event sys_enter_get_mempolicy: OK
[ 38.438899] Testing event sys_exit_get_mempolicy: OK
[ 38.455561] Testing event sys_enter_msync: OK
[ 38.472228] Testing event sys_exit_msync: OK
[ 38.488887] Testing event sys_enter_mremap: OK
[ 38.505554] Testing event sys_exit_mremap: OK
[ 38.522221] Testing event sys_enter_mprotect: OK
[ 38.538889] Testing event sys_exit_mprotect: OK
[ 38.555556] Testing event sys_enter_brk: OK
[ 38.572224] Testing event sys_exit_brk: OK
[ 38.588890] Testing event sys_enter_munmap: OK
[ 38.605558] Testing event sys_exit_munmap: OK
[ 38.622225] Testing event sys_enter_mlock: OK
[ 38.638892] Testing event sys_exit_mlock: OK
[ 38.655560] Testing event sys_enter_munlock: OK
[ 38.672227] Testing event sys_exit_munlock: OK
[ 38.688894] Testing event sys_enter_mlockall: OK
[ 38.705562] Testing event sys_exit_mlockall: OK
[ 38.722229] Testing event sys_enter_munlockall: OK
[ 38.738891] Testing event sys_exit_munlockall: OK
[ 38.758887] Testing event sys_enter_mincore: OK
[ 38.775554] Testing event sys_exit_mincore: OK
[ 38.792222] Testing event sys_enter_madvise: OK
[ 38.808889] Testing event sys_exit_madvise: OK
[ 38.825557] Testing event sys_enter_remap_file_pages: OK
[ 38.842227] Testing event sys_exit_remap_file_pages: OK
[ 38.858889] Testing event kmalloc: OK
[ 38.875539] Testing event kmem_cache_alloc: OK
[ 38.892206] Testing event kmalloc_node: OK
[ 38.909505] Testing event kmem_cache_alloc_node: OK
[ 38.925536] Testing event kfree: OK
[ 38.942203] Testing event kmem_cache_free: OK
[ 38.958870] Testing event sys_enter_perf_counter_open: OK
[ 38.975558] Testing event sys_exit_perf_counter_open: OK
[ 38.992222] Testing event sys_enter_acct: OK
[ 39.008888] Testing event sys_exit_acct: OK
[ 39.025546] Testing event sys_enter_set_robust_list: OK
[ 39.042226] Testing event sys_exit_set_robust_list: OK
[ 39.058889] Testing event sys_enter_get_robust_list: OK
[ 39.075559] Testing event sys_exit_get_robust_list: OK
[ 39.092221] Testing event sys_enter_futex: OK
[ 39.108889] Testing event sys_exit_futex: OK
[ 39.125556] Testing event lock_acquire: OK
[ 39.142223] Testing event lock_release: OK
[ 39.158881] Testing event lock_contended: OK
[ 39.175540] Testing event lock_acquired: OK
[ 39.192208] Testing event sys_enter_getgroups: OK
[ 39.212221] Testing event sys_exit_getgroups: OK
[ 39.228897] Testing event sys_enter_setgroups: OK
[ 39.248893] Testing event sys_exit_setgroups: OK
[ 39.263592] Testing event sys_enter_nanosleep: OK
[ 39.285563] Testing event sys_exit_nanosleep: OK
[ 39.302223] Testing event sys_enter_timer_create: OK
[ 39.318893] Testing event sys_exit_timer_create: OK
[ 39.335564] Testing event sys_enter_timer_gettime: OK
[ 39.352227] Testing event sys_exit_timer_gettime: OK
[ 39.368897] Testing event sys_enter_timer_getoverrun: OK
[ 39.385560] Testing event sys_exit_timer_getoverrun: OK
[ 39.402231] Testing event sys_enter_timer_settime: OK
[ 39.418893] Testing event sys_exit_timer_settime: OK
[ 39.435563] Testing event sys_enter_timer_delete: OK
[ 39.452226] Testing event sys_exit_timer_delete: OK
[ 39.468897] Testing event sys_enter_clock_settime: OK
[ 39.485559] Testing event sys_exit_clock_settime: OK
[ 39.502229] Testing event sys_enter_clock_gettime: OK
[ 39.518892] Testing event sys_exit_clock_gettime: OK
[ 39.535563] Testing event sys_enter_clock_getres: OK
[ 39.552224] Testing event sys_exit_clock_getres: OK
[ 39.568895] Testing event sys_enter_clock_nanosleep: OK
[ 39.585558] Testing event sys_exit_clock_nanosleep: OK
[ 39.602229] Testing event workqueue_insertion: OK
[ 39.622208] Testing event workqueue_execution: OK
[ 39.640234] Testing event workqueue_creation: OK
[ 39.658878] Testing event workqueue_destruction: OK
[ 39.675550] Testing event sys_enter_setpriority: OK
[ 39.692220] Testing event sys_exit_setpriority: OK
[ 39.708891] Testing event sys_enter_getpriority: OK
[ 39.725553] Testing event sys_exit_getpriority: OK
[ 39.742224] Testing event sys_enter_reboot: OK
[ 39.758891] Testing event sys_exit_reboot: OK
[ 39.775558] Testing event sys_enter_setregid: OK
[ 39.792226] Testing event sys_exit_setregid: OK
[ 39.808894] Testing event sys_enter_setgid: OK
[ 39.825561] Testing event sys_exit_setgid: OK
[ 39.842227] Testing event sys_enter_setreuid: OK
[ 39.858895] Testing event sys_exit_setreuid: OK
[ 39.875563] Testing event sys_enter_setuid: OK
[ 39.892229] Testing event sys_exit_setuid: OK
[ 39.908897] Testing event sys_enter_setresuid: OK
[ 39.928892] Testing event sys_exit_setresuid: OK
[ 39.945560] Testing event sys_enter_getresuid: OK
[ 39.963601] Testing event sys_exit_getresuid: OK
[ 39.982223] Testing event sys_enter_setresgid: OK
[ 40.002227] Testing event sys_exit_setresgid: OK
[ 40.018894] Testing event sys_enter_getresgid: OK
[ 40.038890] Testing event sys_exit_getresgid: OK
[ 40.055557] Testing event sys_enter_setfsuid: OK
[ 40.072225] Testing event sys_exit_setfsuid: OK
[ 40.088892] Testing event sys_enter_setfsgid: OK
[ 40.105559] Testing event sys_exit_setfsgid: OK
[ 40.122226] Testing event sys_enter_times: OK
[ 40.138893] Testing event sys_exit_times: OK
[ 40.155553] Testing event sys_enter_setpgid: OK
[ 40.172229] Testing event sys_exit_setpgid: OK
[ 40.188887] Testing event sys_enter_getpgid: OK
[ 40.205554] Testing event sys_exit_getpgid: OK
[ 40.222222] Testing event sys_enter_getpgrp: OK
[ 40.238888] Testing event sys_exit_getpgrp: OK
[ 40.255556] Testing event sys_enter_getsid: OK
[ 40.272223] Testing event sys_exit_getsid: OK
[ 40.288890] Testing event sys_enter_setsid: OK
[ 40.305557] Testing event sys_exit_setsid: OK
[ 40.322225] Testing event sys_enter_newuname: OK
[ 40.338901] Testing event sys_exit_newuname: OK
[ 40.355559] Testing event sys_enter_sethostname: OK
[ 40.372222] Testing event sys_exit_sethostname: OK
[ 40.388893] Testing event sys_enter_setdomainname: OK
[ 40.405555] Testing event sys_exit_setdomainname: OK
[ 40.422225] Testing event sys_enter_getrlimit: OK
[ 40.442222] Testing event sys_exit_getrlimit: OK
[ 40.458888] Testing event sys_enter_old_getrlimit: OK
[ 40.475550] Testing event sys_exit_old_getrlimit: OK
[ 40.492221] Testing event sys_enter_setrlimit: OK
[ 40.512218] Testing event sys_exit_setrlimit: OK
[ 40.528893] Testing event sys_enter_getrusage: OK
[ 40.548889] Testing event sys_exit_getrusage: OK
[ 40.563588] Testing event sys_enter_umask: OK
[ 40.582215] Testing event sys_exit_umask: OK
[ 40.598882] Testing event sys_enter_prctl: OK
[ 40.615549] Testing event sys_exit_prctl: OK
[ 40.632225] Testing event sys_enter_getcpu: OK
[ 40.648893] Testing event sys_exit_getcpu: OK
[ 40.663591] Testing event sys_enter_restart_syscall: OK
[ 40.682214] Testing event sys_exit_restart_syscall: OK
[ 40.698884] Testing event sys_enter_rt_sigprocmask: OK
[ 40.715555] Testing event sys_exit_rt_sigprocmask: OK
[ 40.732217] Testing event sys_enter_rt_sigpending: OK
[ 40.748888] Testing event sys_exit_rt_sigpending: OK
[ 40.763582] Testing event sys_enter_rt_sigtimedwait: OK
[ 40.782221] Testing event sys_exit_rt_sigtimedwait: OK
[ 40.798883] Testing event sys_enter_kill: OK
[ 40.815550] Testing event sys_exit_kill: OK
[ 40.832218] Testing event sys_enter_tgkill: OK
[ 40.848885] Testing event sys_exit_tgkill: OK
[ 40.863584] Testing event sys_enter_tkill: OK
[ 40.882220] Testing event sys_exit_tkill: OK
[ 40.898887] Testing event sys_enter_rt_sigqueueinfo: OK
[ 40.915558] Testing event sys_exit_rt_sigqueueinfo: OK
[ 40.932221] Testing event sys_enter_rt_tgsigqueueinfo: OK
[ 40.948891] Testing event sys_exit_rt_tgsigqueueinfo: OK
[ 40.963594] Testing event sys_enter_sigpending: OK
[ 40.982215] Testing event sys_exit_sigpending: OK
[ 41.002220] Testing event sys_enter_sigprocmask: OK
[ 41.018891] Testing event sys_exit_sigprocmask: OK
[ 41.035562] Testing event sys_enter_rt_sigaction: OK
[ 41.052223] Testing event sys_exit_rt_sigaction: OK
[ 41.068895] Testing event sys_enter_sgetmask: OK
[ 41.085553] Testing event sys_exit_sgetmask: OK
[ 41.102220] Testing event sys_enter_ssetmask: OK
[ 41.118888] Testing event sys_exit_ssetmask: OK
[ 41.135555] Testing event sys_enter_signal: OK
[ 41.152222] Testing event sys_exit_signal: OK
[ 41.168890] Testing event sys_enter_pause: OK
[ 41.185557] Testing event sys_exit_pause: OK
[ 41.202223] Testing event sys_enter_rt_sigsuspend: OK
[ 41.218895] Testing event sys_exit_rt_sigsuspend: OK
[ 41.235557] Testing event sys_enter_alarm: OK
[ 41.252225] Testing event sys_exit_alarm: OK
[ 41.268891] Testing event sys_enter_getpid: OK
[ 41.285559] Testing event sys_exit_getpid: OK
[ 41.302226] Testing event sys_enter_getppid: OK
[ 41.318894] Testing event sys_exit_getppid: OK
[ 41.335561] Testing event sys_enter_getuid: OK
[ 41.352228] Testing event sys_exit_getuid: OK
[ 41.368896] Testing event sys_enter_geteuid: OK
[ 41.385562] Testing event sys_exit_geteuid: OK
[ 41.402230] Testing event sys_enter_getgid: OK
[ 41.418888] Testing event sys_exit_getgid: OK
[ 41.435565] Testing event sys_enter_getegid: OK
[ 41.452223] Testing event sys_exit_getegid: OK
[ 41.468890] Testing event sys_enter_gettid: OK
[ 41.485558] Testing event sys_exit_gettid: OK
[ 41.502225] Testing event sys_enter_sysinfo: OK
[ 41.518892] Testing event sys_exit_sysinfo: OK
[ 41.535560] Testing event sys_enter_ptrace: OK
[ 41.552218] Testing event sys_exit_ptrace: OK
[ 41.568886] Testing event sys_enter_capget: OK
[ 41.585561] Testing event sys_exit_capget: OK
[ 41.602229] Testing event sys_enter_capset: OK
[ 41.618896] Testing event sys_exit_capset: OK
[ 41.635563] Testing event sys_enter_sysctl: OK
[ 41.652222] Testing event sys_exit_sysctl: OK
[ 41.668889] Testing event irq_handler_entry: OK
[ 41.685547] Testing event irq_handler_exit: OK
[ 41.702216] Testing event softirq_entry: OK
[ 41.718882] Testing event softirq_exit: OK
[ 41.735550] Testing event sys_enter_time: OK
[ 41.752225] Testing event sys_exit_time: OK
[ 41.768892] Testing event sys_enter_stime: OK
[ 41.785551] Testing event sys_exit_stime: OK
[ 41.802218] Testing event sys_enter_gettimeofday: OK
[ 41.818890] Testing event sys_exit_gettimeofday: OK
[ 41.835561] Testing event sys_enter_settimeofday: OK
[ 41.852222] Testing event sys_exit_settimeofday: OK
[ 41.868894] Testing event sys_enter_adjtimex: OK
[ 41.885561] Testing event sys_exit_adjtimex: OK
[ 41.902228] Testing event sys_enter_getitimer: OK
[ 41.922223] Testing event sys_exit_getitimer: OK
[ 41.938891] Testing event sys_enter_setitimer: OK
[ 41.959527] Testing event sys_exit_setitimer: OK
[ 41.975558] Testing event sys_enter_exit: OK
[ 41.992216] Testing event sys_exit_exit: OK
[ 42.008892] Testing event sys_enter_exit_group: OK
[ 42.025563] Testing event sys_exit_exit_group: OK
[ 42.045567] Testing event sys_enter_waitid: OK
[ 42.062226] Testing event sys_exit_waitid: OK
[ 42.078893] Testing event sys_enter_wait4: OK
[ 42.095560] Testing event sys_exit_wait4: OK
[ 42.112228] Testing event sys_enter_waitpid: OK
[ 42.128886] Testing event sys_exit_waitpid: OK
[ 42.145562] Testing event sys_enter_syslog: OK
[ 42.162220] Testing event sys_exit_syslog: OK
[ 42.178888] Testing event sys_enter_personality: OK
[ 42.195559] Testing event sys_exit_personality: OK
[ 42.212230] Testing event sys_enter_set_tid_address: OK
[ 42.228893] Testing event sys_exit_set_tid_address: OK
[ 42.245572] Testing event sys_enter_unshare: OK
[ 42.262230] Testing event sys_exit_unshare: OK
[ 42.278897] Testing event sched_kthread_stop: OK
[ 42.295547] Testing event sched_kthread_stop_ret: OK
[ 42.312210] Testing event sched_wait_task: OK
[ 42.328877] Testing event sched_wakeup: OK
[ 42.345553] Testing event sched_wakeup_new: OK
[ 42.362211] Testing event sched_switch: OK
[ 42.378878] Testing event sched_migrate_task: OK
[ 42.395546] Testing event sched_process_free: OK
[ 42.412213] Testing event sched_process_exit: OK
[ 42.428881] Testing event sched_process_wait: OK
[ 42.445548] Testing event sched_process_fork: OK
[ 42.462216] Testing event sched_signal_send: OK
[ 42.478874] Testing event sys_enter_nice: OK
[ 42.495559] Testing event sys_exit_nice: OK
[ 42.512226] Testing event sys_enter_sched_setscheduler: OK
[ 42.528897] Testing event sys_exit_sched_setscheduler: OK
[ 42.545567] Testing event sys_enter_sched_setparam: OK
[ 42.562230] Testing event sys_exit_sched_setparam: OK
[ 42.578892] Testing event sys_enter_sched_getscheduler: OK
[ 42.595563] Testing event sys_exit_sched_getscheduler: OK
[ 42.612225] Testing event sys_enter_sched_getparam: OK
[ 42.628896] Testing event sys_exit_sched_getparam: OK
[ 42.645566] Testing event sys_enter_sched_setaffinity: OK
[ 42.662229] Testing event sys_exit_sched_setaffinity: OK
[ 42.678892] Testing event sys_enter_sched_getaffinity: OK
[ 42.695562] Testing event sys_exit_sched_getaffinity: OK
[ 42.712224] Testing event sys_enter_sched_yield: OK
[ 42.728896] Testing event sys_exit_sched_yield: OK
[ 42.745566] Testing event sys_enter_sched_get_priority_max: OK
[ 42.762229] Testing event sys_exit_sched_get_priority_max: OK
[ 42.778891] Testing event sys_enter_sched_get_priority_min: OK
[ 42.795561] Testing event sys_exit_sched_get_priority_min: OK
[ 42.812223] Testing event sys_enter_sched_rr_get_interval: OK
[ 42.828894] Testing event sys_exit_sched_rr_get_interval: OK
[ 42.845565] Running tests on trace event systems:
[ 42.846638] Testing event system skb: OK
[ 42.863591] Testing event system block: OK
[ 42.882405] Testing event system jbd2: OK
[ 42.898960] Testing event system kmem: OK
[ 42.915619] Testing event system lockdep: OK
[ 42.932294] Testing event system workqueue: OK
[ 42.948926] Testing event system irq: OK
[ 42.963617] Testing event system sched: OK
[ 42.982348] Testing event system syscalls: OK
[ 43.004520] Running tests on all trace events:
[ 43.006638] Testing all events: OK
[ 43.032534] Running tests again, along with the function tracer
[ 43.033315] Running tests on trace events:
[ 43.036649] Testing event kfree_skb: OK
[ 43.059174] Testing event sys_enter_socketcall: OK
[ 43.075870] Testing event sys_exit_socketcall: OK
[ 43.092542] Testing event block_rq_abort: OK
[ 43.112512] Testing event block_rq_insert: OK
[ 43.132507] Testing event block_rq_issue: OK
[ 43.152502] Testing event block_rq_requeue: OK
[ 43.172515] Testing event block_rq_complete: OK
[ 43.189168] Testing event block_bio_bounce: OK
[ 43.209173] Testing event block_bio_complete: OK
[ 43.225835] Testing event block_bio_backmerge: OK
[ 43.242506] Testing event block_bio_frontmerge: OK
[ 43.259168] Testing event block_bio_queue: OK
[ 43.279173] Testing event block_getrq: OK
[ 43.295840] Testing event block_sleeprq: OK
[ 43.313869] Testing event block_plug: OK
[ 43.332477] Testing event block_unplug_timer: OK
[ 43.347110] Testing event block_unplug_io: OK
[ 43.369176] Testing event block_split: OK
[ 43.385836] Testing event block_remap: OK
[ 43.402504] Testing event sys_enter_add_key: OK
[ 43.419235] Testing event sys_exit_add_key: OK
[ 43.435906] Testing event sys_enter_request_key: OK
[ 43.452568] Testing event sys_exit_request_key: OK
[ 43.469238] Testing event sys_enter_keyctl: OK
[ 43.485901] Testing event sys_exit_keyctl: OK
[ 43.505905] Testing event sys_enter_mq_open: OK
[ 43.522567] Testing event sys_exit_mq_open: OK
[ 43.539238] Testing event sys_enter_mq_unlink: OK
[ 43.555901] Testing event sys_exit_mq_unlink: OK
[ 43.572571] Testing event sys_enter_mq_timedsend: OK
[ 43.589233] Testing event sys_exit_mq_timedsend: OK
[ 43.605905] Testing event sys_enter_mq_timedreceive: OK
[ 43.622567] Testing event sys_exit_mq_timedreceive: OK
[ 43.639237] Testing event sys_enter_mq_notify: OK
[ 43.655900] Testing event sys_exit_mq_notify: OK
[ 43.672571] Testing event sys_enter_mq_getsetattr: OK
[ 43.689233] Testing event sys_exit_mq_getsetattr: OK
[ 43.705904] Testing event jbd2_checkpoint: OK
[ 43.725839] Testing event jbd2_start_commit: OK
[ 43.742501] Testing event jbd2_commit_locking: OK
[ 43.759172] Testing event jbd2_commit_flushing: OK
[ 43.775843] Testing event jbd2_commit_logging: OK
[ 43.792505] Testing event jbd2_end_commit: OK
[ 43.812517] Testing event jbd2_submit_inode_data: OK
[ 43.829163] Testing event sys_enter_quotactl: OK
[ 43.845912] Testing event sys_exit_quotactl: OK
[ 43.862539] Testing event sys_enter_nfsservctl: OK
[ 43.879227] Testing event sys_exit_nfsservctl: OK
[ 43.895881] Testing event sys_enter_flock: OK
[ 43.915877] Testing event sys_exit_flock: OK
[ 43.935880] Testing event sys_enter_io_setup: OK
[ 43.952561] Testing event sys_exit_io_setup: OK
[ 43.969231] Testing event sys_enter_io_destroy: OK
[ 43.985893] Testing event sys_exit_io_destroy: OK
[ 44.002564] Testing event sys_enter_io_submit: OK
[ 44.019226] Testing event sys_exit_io_submit: OK
[ 44.035897] Testing event sys_enter_io_cancel: OK
[ 44.052559] Testing event sys_exit_io_cancel: OK
[ 44.069229] Testing event sys_enter_io_getevents: OK
[ 44.085893] Testing event sys_exit_io_getevents: OK
[ 44.102563] Testing event sys_enter_eventfd2: OK
[ 44.119244] Testing event sys_exit_eventfd2: OK
[ 44.135914] Testing event sys_enter_eventfd: OK
[ 44.152576] Testing event sys_exit_eventfd: OK
[ 44.169246] Testing event sys_enter_signalfd4: OK
[ 44.185909] Testing event sys_exit_signalfd4: OK
[ 44.202580] Testing event sys_enter_signalfd: OK
[ 44.219242] Testing event sys_exit_signalfd: OK
[ 44.235913] Testing event sys_enter_inotify_init1: OK
[ 44.252575] Testing event sys_exit_inotify_init1: OK
[ 44.269253] Testing event sys_enter_inotify_init: OK
[ 44.285900] Testing event sys_exit_inotify_init: OK
[ 44.302579] Testing event sys_enter_inotify_add_watch: OK
[ 44.319233] Testing event sys_exit_inotify_add_watch: OK
[ 44.335913] Testing event sys_enter_inotify_rm_watch: OK
[ 44.352573] Testing event sys_exit_inotify_rm_watch: OK
[ 44.369245] Testing event sys_enter_ioprio_set: OK
[ 44.385899] Testing event sys_exit_ioprio_set: OK
[ 44.402578] Testing event sys_enter_ioprio_get: OK
[ 44.419232] Testing event sys_exit_ioprio_get: OK
[ 44.435902] Testing event sys_enter_bdflush: OK
[ 44.452540] Testing event sys_exit_bdflush: OK
[ 44.472544] Testing event sys_enter_utime: OK
[ 44.492521] Testing event sys_exit_utime: OK
[ 44.512534] Testing event sys_enter_utimensat: OK
[ 44.529240] Testing event sys_exit_utimensat: OK
[ 44.545945] Testing event sys_enter_futimesat: OK
[ 44.562573] Testing event sys_exit_futimesat: OK
[ 44.579261] Testing event sys_enter_utimes: OK
[ 44.595897] Testing event sys_exit_utimes: OK
[ 44.615911] Testing event sys_enter_sync: OK
[ 44.635863] Testing event sys_exit_sync: OK
[ 44.655858] Testing event sys_enter_fsync: OK
[ 44.675871] Testing event sys_exit_fsync: OK
[ 44.695876] Testing event sys_enter_fdatasync: OK
[ 44.712538] Testing event sys_exit_fdatasync: OK
[ 44.729216] Testing event sys_enter_vmsplice: OK
[ 44.745931] Testing event sys_exit_vmsplice: OK
[ 44.762585] Testing event sys_enter_splice: OK
[ 44.779238] Testing event sys_exit_splice: OK
[ 44.799251] Testing event sys_enter_tee: OK
[ 44.819255] Testing event sys_exit_tee: OK
[ 44.839251] Testing event sys_enter_setxattr: OK
[ 44.855895] Testing event sys_exit_setxattr: OK
[ 44.872567] Testing event sys_enter_lsetxattr: OK
[ 44.889221] Testing event sys_exit_lsetxattr: OK
[ 44.905890] Testing event sys_enter_fsetxattr: OK
[ 44.922562] Testing event sys_exit_fsetxattr: OK
[ 44.939224] Testing event sys_enter_getxattr: OK
[ 44.955895] Testing event sys_exit_getxattr: OK
[ 44.972566] Testing event sys_enter_lgetxattr: OK
[ 44.989228] Testing event sys_exit_lgetxattr: OK
[ 45.006522] Testing event sys_enter_fgetxattr: OK
[ 45.022561] Testing event sys_exit_fgetxattr: OK
[ 45.039231] Testing event sys_enter_listxattr: OK
[ 45.055895] Testing event sys_exit_listxattr: OK
[ 45.072565] Testing event sys_enter_llistxattr: OK
[ 45.089228] Testing event sys_exit_llistxattr: OK
[ 45.105898] Testing event sys_enter_flistxattr: OK
[ 45.122561] Testing event sys_exit_flistxattr: OK
[ 45.139231] Testing event sys_enter_removexattr: OK
[ 45.155894] Testing event sys_exit_removexattr: OK
[ 45.172565] Testing event sys_enter_lremovexattr: OK
[ 45.189227] Testing event sys_exit_lremovexattr: OK
[ 45.205897] Testing event sys_enter_fremovexattr: OK
[ 45.222559] Testing event sys_exit_fremovexattr: OK
[ 45.239231] Testing event sys_enter_umount: OK
[ 45.255859] Testing event sys_exit_umount: OK
[ 45.275862] Testing event sys_enter_oldumount: OK
[ 45.292524] Testing event sys_exit_oldumount: OK
[ 45.309195] Testing event sys_enter_mount: OK
[ 45.329191] Testing event sys_exit_mount: OK
[ 45.347135] Testing event sys_enter_pivot_root: OK
[ 45.363834] Testing event sys_exit_pivot_root: OK
[ 45.382563] Testing event sys_enter_sysfs: OK
[ 45.402542] Testing event sys_exit_sysfs: OK
[ 45.422554] Testing event sys_enter_getcwd: OK
[ 45.439216] Testing event sys_exit_getcwd: OK
[ 45.459221] Testing event sys_enter_select: OK
[ 45.475874] Testing event sys_exit_select: OK
[ 45.495879] Testing event sys_enter_pselect6: OK
[ 45.512575] Testing event sys_exit_pselect6: OK
[ 45.529246] Testing event sys_enter_poll: OK
[ 45.549215] Testing event sys_exit_poll: OK
[ 45.569218] Testing event sys_enter_ppoll: OK
[ 45.589259] Testing event sys_exit_ppoll: OK
[ 45.609246] Testing event sys_enter_old_readdir: OK
[ 45.625864] Testing event sys_exit_old_readdir: OK
[ 45.642535] Testing event sys_enter_getdents: OK
[ 45.659206] Testing event sys_exit_getdents: OK
[ 45.675877] Testing event sys_enter_getdents64: OK
[ 45.692557] Testing event sys_exit_getdents64: OK
[ 45.709227] Testing event sys_enter_ioctl: OK
[ 45.729197] Testing event sys_exit_ioctl: OK
[ 45.749201] Testing event sys_enter_dup3: OK
[ 45.769248] Testing event sys_exit_dup3: OK
[ 45.789261] Testing event sys_enter_dup2: OK
[ 45.809196] Testing event sys_exit_dup2: OK
[ 45.829201] Testing event sys_enter_dup: OK
[ 45.849196] Testing event sys_exit_dup: OK
[ 45.869164] Testing event sys_enter_fcntl: OK
[ 45.889179] Testing event sys_exit_fcntl: OK
[ 45.909175] Testing event sys_enter_fcntl64: OK
[ 45.925862] Testing event sys_exit_fcntl64: OK
[ 45.945892] Testing event sys_enter_mknodat: OK
[ 45.962547] Testing event sys_exit_mknodat: OK
[ 45.982551] Testing event sys_enter_mknod: OK
[ 46.002493] Testing event sys_exit_mknod: OK
[ 46.022507] Testing event sys_enter_mkdirat: OK
[ 46.039212] Testing event sys_exit_mkdirat: OK
[ 46.059216] Testing event sys_enter_mkdir: OK
[ 46.079169] Testing event sys_exit_mkdir: OK
[ 46.099164] Testing event sys_enter_rmdir: OK
[ 46.119168] Testing event sys_exit_rmdir: OK
[ 46.139164] Testing event sys_enter_unlinkat: OK
[ 46.155878] Testing event sys_exit_unlinkat: OK
[ 46.172548] Testing event sys_enter_unlink: OK
[ 46.192501] Testing event sys_exit_unlink: OK
[ 46.212496] Testing event sys_enter_symlinkat: OK
[ 46.229211] Testing event sys_exit_symlinkat: OK
[ 46.245908] Testing event sys_enter_symlink: OK
[ 46.262500] Testing event sys_exit_symlink: OK
[ 46.282505] Testing event sys_enter_linkat: OK
[ 46.302543] Testing event sys_exit_linkat: OK
[ 46.322548] Testing event sys_enter_link: OK
[ 46.342501] Testing event sys_exit_link: OK
[ 46.360573] Testing event sys_enter_renameat: OK
[ 46.379215] Testing event sys_exit_renameat: OK
[ 46.395894] Testing event sys_enter_rename: OK
[ 46.412496] Testing event sys_exit_rename: OK
[ 46.432500] Testing event sys_enter_pipe2: OK
[ 46.452556] Testing event sys_exit_pipe2: OK
[ 46.472551] Testing event sys_enter_pipe: OK
[ 46.492495] Testing event sys_exit_pipe: OK
[ 46.510560] Testing event sys_enter_uselib: OK
[ 46.529176] Testing event sys_exit_uselib: OK
[ 46.549224] Testing event sys_enter_stat: OK
[ 46.567130] Testing event sys_exit_stat: OK
[ 46.589198] Testing event sys_enter_lstat: OK
[ 46.609202] Testing event sys_exit_lstat: OK
[ 46.629206] Testing event sys_enter_fstat: OK
[ 46.649218] Testing event sys_exit_fstat: OK
[ 46.667135] Testing event sys_enter_newstat: OK
[ 46.685867] Testing event sys_exit_newstat: OK
[ 46.705881] Testing event sys_enter_newlstat: OK
[ 46.722534] Testing event sys_exit_newlstat: OK
[ 46.739214] Testing event sys_enter_newfstat: OK
[ 46.755867] Testing event sys_exit_newfstat: OK
[ 46.772545] Testing event sys_enter_readlinkat: OK
[ 46.789243] Testing event sys_exit_readlinkat: OK
[ 46.805914] Testing event sys_enter_readlink: OK
[ 46.822534] Testing event sys_exit_readlink: OK
[ 46.839204] Testing event sys_enter_stat64: OK
[ 46.859217] Testing event sys_exit_stat64: OK
[ 46.879221] Testing event sys_enter_lstat64: OK
[ 46.895883] Testing event sys_exit_lstat64: OK
[ 46.915887] Testing event sys_enter_fstat64: OK
[ 46.932550] Testing event sys_exit_fstat64: OK
[ 46.952554] Testing event sys_enter_fstatat64: OK
[ 46.967188] Testing event sys_exit_fstatat64: OK
[ 46.985913] Testing event sys_enter_ustat: OK
[ 47.005874] Testing event sys_exit_ustat: OK
[ 47.025869] Testing event sys_enter_lseek: OK
[ 47.045856] Testing event sys_exit_lseek: OK
[ 47.065861] Testing event sys_enter_llseek: OK
[ 47.085874] Testing event sys_exit_llseek: OK
[ 47.105886] Testing event sys_enter_read: OK
[ 47.125856] Testing event sys_exit_read: OK
[ 47.143885] Testing event sys_enter_write: OK
[ 47.162493] Testing event sys_exit_write: OK
[ 47.182515] Testing event sys_enter_readv: OK
[ 47.202544] Testing event sys_exit_readv: OK
[ 47.222549] Testing event sys_enter_writev: OK
[ 47.242553] Testing event sys_exit_writev: OK
[ 47.262548] Testing event sys_enter_preadv: OK
[ 47.282588] Testing event sys_exit_preadv: OK
[ 47.302583] Testing event sys_enter_pwritev: OK
[ 47.319245] Testing event sys_exit_pwritev: OK
[ 47.335916] Testing event sys_enter_sendfile: OK
[ 47.352576] Testing event sys_exit_sendfile: OK
[ 47.369223] Testing event sys_enter_sendfile64: OK
[ 47.385894] Testing event sys_exit_sendfile64: OK
[ 47.402565] Testing event sys_enter_statfs: OK
[ 47.419201] Testing event sys_exit_statfs: OK
[ 47.439206] Testing event sys_enter_statfs64: OK
[ 47.455903] Testing event sys_exit_statfs64: OK
[ 47.470514] Testing event sys_enter_fstatfs: OK
[ 47.489201] Testing event sys_exit_fstatfs: OK
[ 47.509213] Testing event sys_enter_fstatfs64: OK
[ 47.525901] Testing event sys_exit_fstatfs64: OK
[ 47.542581] Testing event sys_enter_truncate: OK
[ 47.559200] Testing event sys_exit_truncate: OK
[ 47.575879] Testing event sys_enter_ftruncate: OK
[ 47.592534] Testing event sys_exit_ftruncate: OK
[ 47.609212] Testing event sys_enter_faccessat: OK
[ 47.625910] Testing event sys_exit_faccessat: OK
[ 47.642589] Testing event sys_enter_access: OK
[ 47.659190] Testing event sys_exit_access: OK
[ 47.679195] Testing event sys_enter_chdir: OK
[ 47.699191] Testing event sys_exit_chdir: OK
[ 47.719195] Testing event sys_enter_fchdir: OK
[ 47.739208] Testing event sys_exit_fchdir: OK
[ 47.759211] Testing event sys_enter_chroot: OK
[ 47.779208] Testing event sys_exit_chroot: OK
[ 47.799202] Testing event sys_enter_fchmod: OK
[ 47.819207] Testing event sys_exit_fchmod: OK
[ 47.839203] Testing event sys_enter_fchmodat: OK
[ 47.855908] Testing event sys_exit_fchmodat: OK
[ 47.870519] Testing event sys_enter_chmod: OK
[ 47.892522] Testing event sys_exit_chmod: OK
[ 47.912536] Testing event sys_enter_chown: OK
[ 47.932556] Testing event sys_exit_chown: OK
[ 47.952587] Testing event sys_enter_fchownat: OK
[ 47.969241] Testing event sys_exit_fchownat: OK
[ 47.985911] Testing event sys_enter_lchown: OK
[ 48.002547] Testing event sys_exit_lchown: OK
[ 48.022551] Testing event sys_enter_fchown: OK
[ 48.042556] Testing event sys_exit_fchown: OK
[ 48.062561] Testing event sys_enter_open: OK
[ 48.082530] Testing event sys_exit_open: OK
[ 48.102526] Testing event sys_enter_openat: OK
[ 48.122572] Testing event sys_exit_openat: OK
[ 48.142577] Testing event sys_enter_creat: OK
[ 48.162520] Testing event sys_exit_creat: OK
[ 48.182534] Testing event sys_enter_close: OK
[ 48.202520] Testing event sys_exit_close: OK
[ 48.222525] Testing event sys_enter_vhangup: OK
[ 48.239204] Testing event sys_exit_vhangup: OK
[ 48.259208] Testing event sys_enter_move_pages: OK
[ 48.275905] Testing event sys_exit_move_pages: OK
[ 48.292585] Testing event sys_enter_mbind: OK
[ 48.312572] Testing event sys_exit_mbind: OK
[ 48.333200] Testing event sys_enter_set_mempolicy: OK
[ 48.347176] Testing event sys_exit_set_mempolicy: OK
[ 48.365909] Testing event sys_enter_migrate_pages: OK
[ 48.382571] Testing event sys_exit_migrate_pages: OK
[ 48.399242] Testing event sys_enter_get_mempolicy: OK
[ 48.415896] Testing event sys_exit_get_mempolicy: OK
[ 48.432575] Testing event sys_enter_msync: OK
[ 48.452579] Testing event sys_exit_msync: OK
[ 48.470489] Testing event sys_enter_mremap: OK
[ 48.492553] Testing event sys_exit_mremap: OK
[ 48.512548] Testing event sys_enter_mprotect: OK
[ 48.529202] Testing event sys_exit_mprotect: OK
[ 48.545873] Testing event sys_enter_brk: OK
[ 48.565860] Testing event sys_exit_brk: OK
[ 48.585846] Testing event sys_enter_munmap: OK
[ 48.605842] Testing event sys_exit_munmap: OK
[ 48.625847] Testing event sys_enter_mlock: OK
[ 48.645850] Testing event sys_exit_mlock: OK
[ 48.665855] Testing event sys_enter_munlock: OK
[ 48.682517] Testing event sys_exit_munlock: OK
[ 48.702521] Testing event sys_enter_mlockall: OK
[ 48.719183] Testing event sys_exit_mlockall: OK
[ 48.735854] Testing event sys_enter_munlockall: OK
[ 48.752542] Testing event sys_exit_munlockall: OK
[ 48.769188] Testing event sys_enter_mincore: OK
[ 48.785859] Testing event sys_exit_mincore: OK
[ 48.805863] Testing event sys_enter_madvise: OK
[ 48.822525] Testing event sys_exit_madvise: OK
[ 48.842529] Testing event sys_enter_remap_file_pages: OK
[ 48.859200] Testing event sys_exit_remap_file_pages: OK
[ 48.875869] Testing event kmalloc: OK
[ 48.892478] Testing event kmem_cache_alloc: OK
[ 48.912481] Testing event kmalloc_node: OK
[ 48.930449] Testing event kmem_cache_alloc_node: OK
[ 48.949161] Testing event kfree: OK
[ 48.965856] Testing event kmem_cache_free: OK
[ 48.985842] Testing event sys_enter_perf_counter_open: OK
[ 49.002583] Testing event sys_exit_perf_counter_open: OK
[ 49.019254] Testing event sys_enter_acct: OK
[ 49.039197] Testing event sys_exit_acct: OK
[ 49.059200] Testing event sys_enter_set_robust_list: OK
[ 49.075905] Testing event sys_exit_set_robust_list: OK
[ 49.092577] Testing event sys_enter_get_robust_list: OK
[ 49.109239] Testing event sys_exit_get_robust_list: OK
[ 49.125910] Testing event sys_enter_futex: OK
[ 49.145897] Testing event sys_exit_futex: OK
[ 49.165910] Testing event lock_acquire: OK
[ 49.183947] Testing event lock_release: OK
[ 49.202511] Testing event lock_contended: OK
[ 49.222500] Testing event lock_acquired: OK
[ 49.242477] Testing event sys_enter_getgroups: OK
[ 49.259191] Testing event sys_exit_getgroups: OK
[ 49.275862] Testing event sys_enter_setgroups: OK
[ 49.292525] Testing event sys_exit_setgroups: OK
[ 49.309195] Testing event sys_enter_nanosleep: OK
[ 49.325849] Testing event sys_exit_nanosleep: OK
[ 49.342529] Testing event sys_enter_timer_create: OK
[ 49.359200] Testing event sys_exit_timer_create: OK
[ 49.375870] Testing event sys_enter_timer_gettime: OK
[ 49.392533] Testing event sys_exit_timer_gettime: OK
[ 49.409203] Testing event sys_enter_timer_getoverrun: OK
[ 49.425866] Testing event sys_exit_timer_getoverrun: OK
[ 49.442537] Testing event sys_enter_timer_settime: OK
[ 49.459198] Testing event sys_exit_timer_settime: OK
[ 49.475869] Testing event sys_enter_timer_delete: OK
[ 49.492532] Testing event sys_exit_timer_delete: OK
[ 49.509212] Testing event sys_enter_clock_settime: OK
[ 49.525865] Testing event sys_exit_clock_settime: OK
[ 49.542545] Testing event sys_enter_clock_gettime: OK
[ 49.559198] Testing event sys_exit_clock_gettime: OK
[ 49.575877] Testing event sys_enter_clock_getres: OK
[ 49.592531] Testing event sys_exit_clock_getres: OK
[ 49.609210] Testing event sys_enter_clock_nanosleep: OK
[ 49.625873] Testing event sys_exit_clock_nanosleep: OK
[ 49.642544] Testing event workqueue_insertion: OK
[ 49.659146] Testing event workqueue_execution: OK
[ 49.675807] Testing event workqueue_creation: OK
[ 49.692470] Testing event workqueue_destruction: OK
[ 49.709140] Testing event sys_enter_setpriority: OK
[ 49.725837] Testing event sys_exit_setpriority: OK
[ 49.742508] Testing event sys_enter_getpriority: OK
[ 49.759170] Testing event sys_exit_getpriority: OK
[ 49.775841] Testing event sys_enter_reboot: OK
[ 49.795837] Testing event sys_exit_reboot: OK
[ 49.815841] Testing event sys_enter_setregid: OK
[ 49.832521] Testing event sys_exit_setregid: OK
[ 49.849200] Testing event sys_enter_setgid: OK
[ 49.869204] Testing event sys_exit_setgid: OK
[ 49.889200] Testing event sys_enter_setreuid: OK
[ 49.905888] Testing event sys_exit_setreuid: OK
[ 49.922558] Testing event sys_enter_setuid: OK
[ 49.939221] Testing event sys_exit_setuid: OK
[ 49.959226] Testing event sys_enter_setresuid: OK
[ 49.975887] Testing event sys_exit_setresuid: OK
[ 49.992559] Testing event sys_enter_getresuid: OK
[ 50.009221] Testing event sys_exit_getresuid: OK
[ 50.025892] Testing event sys_enter_setresgid: OK
[ 50.040498] Testing event sys_exit_setresgid: OK
[ 50.059224] Testing event sys_enter_getresgid: OK
[ 50.075885] Testing event sys_exit_getresgid: OK
[ 50.092557] Testing event sys_enter_setfsuid: OK
[ 50.109220] Testing event sys_exit_setfsuid: OK
[ 50.125891] Testing event sys_enter_setfsgid: OK
[ 50.142553] Testing event sys_exit_setfsgid: OK
[ 50.159232] Testing event sys_enter_times: OK
[ 50.179194] Testing event sys_exit_times: OK
[ 50.199198] Testing event sys_enter_setpgid: OK
[ 50.215860] Testing event sys_exit_setpgid: OK
[ 50.235872] Testing event sys_enter_getpgid: OK
[ 50.252535] Testing event sys_exit_getpgid: OK
[ 50.270487] Testing event sys_enter_getpgrp: OK
[ 50.289193] Testing event sys_exit_getpgrp: OK
[ 50.309205] Testing event sys_enter_getsid: OK
[ 50.329210] Testing event sys_exit_getsid: OK
[ 50.347156] Testing event sys_enter_setsid: OK
[ 50.365859] Testing event sys_exit_setsid: OK
[ 50.385863] Testing event sys_enter_newuname: OK
[ 50.402534] Testing event sys_exit_newuname: OK
[ 50.419205] Testing event sys_enter_sethostname: OK
[ 50.435859] Testing event sys_exit_sethostname: OK
[ 50.452538] Testing event sys_enter_setdomainname: OK
[ 50.469201] Testing event sys_exit_setdomainname: OK
[ 50.485880] Testing event sys_enter_getrlimit: OK
[ 50.502550] Testing event sys_exit_getrlimit: OK
[ 50.519222] Testing event sys_enter_old_getrlimit: OK
[ 50.535858] Testing event sys_exit_old_getrlimit: OK
[ 50.552537] Testing event sys_enter_setrlimit: OK
[ 50.569191] Testing event sys_exit_setrlimit: OK
[ 50.585871] Testing event sys_enter_getrusage: OK
[ 50.602532] Testing event sys_exit_getrusage: OK
[ 50.619204] Testing event sys_enter_umask: OK
[ 50.639209] Testing event sys_exit_umask: OK
[ 50.659220] Testing event sys_enter_prctl: OK
[ 50.679216] Testing event sys_exit_prctl: OK
[ 50.699220] Testing event sys_enter_getcpu: OK
[ 50.715909] Testing event sys_exit_getcpu: OK
[ 50.735913] Testing event sys_enter_restart_syscall: OK
[ 50.752515] Testing event sys_exit_restart_syscall: OK
[ 50.769185] Testing event sys_enter_rt_sigprocmask: OK
[ 50.785883] Testing event sys_exit_rt_sigprocmask: OK
[ 50.802552] Testing event sys_enter_rt_sigpending: OK
[ 50.819215] Testing event sys_exit_rt_sigpending: OK
[ 50.835886] Testing event sys_enter_rt_sigtimedwait: OK
[ 50.852548] Testing event sys_exit_rt_sigtimedwait: OK
[ 50.869218] Testing event sys_enter_kill: OK
[ 50.889163] Testing event sys_exit_kill: OK
[ 50.907227] Testing event sys_enter_tgkill: OK
[ 50.925878] Testing event sys_exit_tgkill: OK
[ 50.945899] Testing event sys_enter_tkill: OK
[ 50.965894] Testing event sys_exit_tkill: OK
[ 50.985898] Testing event sys_enter_rt_sigqueueinfo: OK
[ 51.002552] Testing event sys_exit_rt_sigqueueinfo: OK
[ 51.019223] Testing event sys_enter_rt_tgsigqueueinfo: OK
[ 51.035911] Testing event sys_exit_rt_tgsigqueueinfo: OK
[ 51.052583] Testing event sys_enter_sigpending: OK
[ 51.069192] Testing event sys_exit_sigpending: OK
[ 51.085872] Testing event sys_enter_sigprocmask: OK
[ 51.102543] Testing event sys_exit_sigprocmask: OK
[ 51.119214] Testing event sys_enter_rt_sigaction: OK
[ 51.135876] Testing event sys_exit_rt_sigaction: OK
[ 51.152555] Testing event sys_enter_sgetmask: OK
[ 51.169192] Testing event sys_exit_sgetmask: OK
[ 51.185871] Testing event sys_enter_ssetmask: OK
[ 51.202533] Testing event sys_exit_ssetmask: OK
[ 51.219205] Testing event sys_enter_signal: OK
[ 51.239190] Testing event sys_exit_signal: OK
[ 51.259221] Testing event sys_enter_pause: OK
[ 51.279199] Testing event sys_exit_pause: OK
[ 51.299194] Testing event sys_enter_rt_sigsuspend: OK
[ 51.315884] Testing event sys_exit_rt_sigsuspend: OK
[ 51.332554] Testing event sys_enter_alarm: OK
[ 51.352532] Testing event sys_exit_alarm: OK
[ 51.370468] Testing event sys_enter_getpid: OK
[ 51.392524] Testing event sys_exit_getpid: OK
[ 51.412536] Testing event sys_enter_getppid: OK
[ 51.429191] Testing event sys_exit_getppid: OK
[ 51.449203] Testing event sys_enter_getuid: OK
[ 51.469225] Testing event sys_exit_getuid: OK
[ 51.489193] Testing event sys_enter_geteuid: OK
[ 51.505857] Testing event sys_exit_geteuid: OK
[ 51.526492] Testing event sys_enter_getgid: OK
[ 51.542523] Testing event sys_exit_getgid: OK
[ 51.562526] Testing event sys_enter_getegid: OK
[ 51.579189] Testing event sys_exit_getegid: OK
[ 51.599193] Testing event sys_enter_gettid: OK
[ 51.619205] Testing event sys_exit_gettid: OK
[ 51.639201] Testing event sys_enter_sysinfo: OK
[ 51.655847] Testing event sys_exit_sysinfo: OK
[ 51.675850] Testing event sys_enter_ptrace: OK
[ 51.695829] Testing event sys_exit_ptrace: OK
[ 51.715833] Testing event sys_enter_capget: OK
[ 51.735854] Testing event sys_exit_capget: OK
[ 51.755867] Testing event sys_enter_capset: OK
[ 51.775853] Testing event sys_exit_capset: OK
[ 51.795858] Testing event sys_enter_sysctl: OK
[ 51.815854] Testing event sys_exit_sysctl: OK
[ 51.835849] Testing event irq_handler_entry: OK
[ 51.852468] Testing event irq_handler_exit: OK
[ 51.870450] Testing event softirq_entry: OK
[ 51.892494] Testing event softirq_exit: OK
[ 51.912482] Testing event sys_enter_time: OK
[ 51.932494] Testing event sys_exit_time: OK
[ 51.950558] Testing event sys_enter_stime: OK
[ 51.969165] Testing event sys_exit_stime: OK
[ 51.989161] Testing event sys_enter_gettimeofday: OK
[ 52.005841] Testing event sys_exit_gettimeofday: OK
[ 52.022512] Testing event sys_enter_settimeofday: OK
[ 52.039165] Testing event sys_exit_settimeofday: OK
[ 52.055845] Testing event sys_enter_adjtimex: OK
[ 52.070480] Testing event sys_exit_adjtimex: OK
[ 52.089177] Testing event sys_enter_getitimer: OK
[ 52.105840] Testing event sys_exit_getitimer: OK
[ 52.122511] Testing event sys_enter_setitimer: OK
[ 52.139173] Testing event sys_exit_setitimer: OK
[ 52.155844] Testing event sys_enter_exit: OK
[ 52.175821] Testing event sys_exit_exit: OK
[ 52.193887] Testing event sys_enter_exit_group: OK
[ 52.212537] Testing event sys_exit_exit_group: OK
[ 52.229243] Testing event sys_enter_waitid: OK
[ 52.245904] Testing event sys_exit_waitid: OK
[ 52.265909] Testing event sys_enter_wait4: OK
[ 52.285869] Testing event sys_exit_wait4: OK
[ 52.305883] Testing event sys_enter_waitpid: OK
[ 52.322519] Testing event sys_exit_waitpid: OK
[ 52.342531] Testing event sys_enter_syslog: OK
[ 52.362571] Testing event sys_exit_syslog: OK
[ 52.382540] Testing event sys_enter_personality: OK
[ 52.399211] Testing event sys_exit_personality: OK
[ 52.415881] Testing event sys_enter_set_tid_address: OK
[ 52.432562] Testing event sys_exit_set_tid_address: OK
[ 52.449232] Testing event sys_enter_unshare: OK
[ 52.465912] Testing event sys_exit_unshare: OK
[ 52.482583] Testing event sched_kthread_stop: OK
[ 52.499166] Testing event sched_kthread_stop_ret: OK
[ 52.515838] Testing event sched_wait_task: OK
[ 52.535842] Testing event sched_wakeup: OK
[ 52.555812] Testing event sched_wakeup_new: OK
[ 52.575815] Testing event sched_switch: OK
[ 52.593784] Testing event sched_migrate_task: OK
[ 52.612470] Testing event sched_process_free: OK
[ 52.629159] Testing event sched_process_exit: OK
[ 52.645812] Testing event sched_process_wait: OK
[ 52.662509] Testing event sched_process_fork: OK
[ 52.679136] Testing event sched_signal_send: OK
[ 52.695824] Testing event sys_enter_nice: OK
[ 52.715829] Testing event sys_exit_nice: OK
[ 52.733893] Testing event sys_enter_sched_setscheduler: OK
[ 52.752517] Testing event sys_exit_sched_setscheduler: OK
[ 52.769206] Testing event sys_enter_sched_setparam: OK
[ 52.785876] Testing event sys_exit_sched_setparam: OK
[ 52.802548] Testing event sys_enter_sched_getscheduler: OK
[ 52.819218] Testing event sys_exit_sched_getscheduler: OK
[ 52.835880] Testing event sys_enter_sched_getparam: OK
[ 52.852551] Testing event sys_exit_sched_getparam: OK
[ 52.869213] Testing event sys_enter_sched_setaffinity: OK
[ 52.885893] Testing event sys_exit_sched_setaffinity: OK
[ 52.902564] Testing event sys_enter_sched_getaffinity: OK
[ 52.919235] Testing event sys_exit_sched_getaffinity: OK
[ 52.935897] Testing event sys_enter_sched_yield: OK
[ 52.952550] Testing event sys_exit_sched_yield: OK
[ 52.969212] Testing event sys_enter_sched_get_priority_max: OK
[ 52.985884] Testing event sys_exit_sched_get_priority_max: OK
[ 53.002546] Testing event sys_enter_sched_get_priority_min: OK
[ 53.019216] Testing event sys_exit_sched_get_priority_min: OK
[ 53.035879] Testing event sys_enter_sched_rr_get_interval: OK
[ 53.052551] Testing event sys_exit_sched_rr_get_interval: OK
[ 53.069212] Running tests on trace event systems:
[ 53.070002] Testing event system skb: OK
[ 53.089315] Testing event system block: OK
[ 53.110380] Testing event system jbd2: OK
[ 53.129697] Testing event system kmem: OK
[ 53.146290] Testing event system lockdep: OK
[ 53.162976] Testing event system workqueue: OK
[ 53.179491] Testing event system irq: OK
[ 53.199505] Testing event system sched: OK
[ 53.219983] Testing event system syscalls: OK
[ 53.273706] Running tests on all trace events:
[ 53.276650] Testing all events: OK
[ 53.342763] initcall event_trace_self_tests_init+0x0/0x39 returned 0 after 19521484 usecs
[ 53.343308] calling afs_init+0x0/0x106 @ 1
[ 53.346642] kAFS: Red Hat AFS client v0.1 registering.
[ 53.350012] initcall afs_init+0x0/0x106 returned 0 after 3255 usecs
[ 53.353308] calling random32_reseed+0x0/0x78 @ 1
[ 53.356653] initcall random32_reseed+0x0/0x78 returned 0 after 0 usecs
[ 53.359973] calling pci_resource_alignment_sysfs_init+0x0/0x14 @ 1
[ 53.363314] initcall pci_resource_alignment_sysfs_init+0x0/0x14 returned 0 after 0 usecs
[ 53.366641] calling pci_sysfs_init+0x0/0x44 @ 1
[ 53.373398] initcall pci_sysfs_init+0x0/0x44 returned 0 after 3255 usecs
[ 53.379973] calling seqgen_init+0x0/0xe @ 1
[ 53.383322] initcall seqgen_init+0x0/0xe returned 0 after 0 usecs
[ 53.386639] calling hd_init+0x0/0x2a1 @ 1
[ 53.389989] hd: no drives specified - use hd=cyl,head,sectors on kernel command line
[ 53.393316] initcall hd_init+0x0/0x2a1 returned -1 after 3255 usecs
[ 53.396640] initcall hd_init+0x0/0x2a1 returned with error code -1
[ 53.399975] calling scsi_complete_async_scans+0x0/0x127 @ 1
[ 53.403307] initcall scsi_complete_async_scans+0x0/0x127 returned 0 after 0 usecs
[ 53.406641] calling rtc_hctosys+0x0/0x10a @ 1
[ 53.409973] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 53.413306] initcall rtc_hctosys+0x0/0x10a returned -19 after 3255 usecs
[ 53.416640] calling memmap_init+0x0/0x89 @ 1
[ 53.420039] initcall memmap_init+0x0/0x89 returned 0 after 0 usecs
[ 53.423308] calling tcp_congestion_default+0x0/0xf @ 1
[ 53.426641] initcall tcp_congestion_default+0x0/0xf returned 0 after 0 usecs
[ 53.429973] calling initialize_hashrnd+0x0/0x16 @ 1
[ 53.433311] initcall initialize_hashrnd+0x0/0x16 returned 0 after 0 usecs
[ 53.436655] async_waiting @ 1
[ 53.439972] async_continuing @ 1 after 0 usec
[ 53.443534] EXT3-fs: INFO: recovery required on readonly filesystem.
[ 53.449974] EXT3-fs: write access will be enabled during recovery.
[ 53.493192] kjournald starting. Commit interval 5 seconds
[ 53.493192] EXT3-fs: recovery complete.
[ 53.493192] EXT3-fs: mounted filesystem with ordered data mode.
[ 53.493192] VFS: Mounted root (ext3 filesystem) readonly on device 8:1.
[ 53.493192] async_waiting @ 1
[ 53.493192] async_continuing @ 1 after 0 usec
[ 53.493192] debug: unmapping init memory c1fe2000..c21ae000
[ 53.493192] Write protecting the kernel text: 10232k
[ 53.496916] Write protecting the kernel read-only data: 4848k
[ 53.530045] Not activating Mandatory Access Control now since /sbin/tomoyo-init doesn't exist.
[ 56.906678] EXT3 FS on sda1, internal journal
[ 56.959070] kjournald starting. Commit interval 5 seconds
[ 56.959070] EXT3 FS on sda5, internal journal
[ 56.959070] EXT3-fs: mounted filesystem with ordered data mode.
[ 57.837552] rc.sysinit used greatest stack depth: 5740 bytes left
[ 63.368814] sshd used greatest stack depth: 5628 bytes left
[ 65.035193] device: 'vcs3': device_add
[ 65.036865] device: 'vcsa3': device_add
[ 65.044562] device: 'vcs5': device_add
[ 65.044562] device: 'vcsa5': device_add
[ 65.053324] device: 'vcs9': device_add
[ 65.054067] device: 'vcsa9': device_add
[ 65.056730] device: 'vcs4': device_add
[ 65.057004] device: 'vcsa4': device_add
[ 65.060047] device: 'vcs8': device_add
[ 65.060047] device: 'vcsa8': device_add
[ 65.068382] device: 'vcs10': device_add
[ 65.068564] device: 'vcsa10': device_add
[ 65.070049] device: 'vcs7': device_add
[ 65.070157] device: 'vcsa7': device_add
[ 65.073384] device: 'vcs2': device_add
[ 65.073400] device: 'vcsa2': device_add
[ 65.076714] device: 'vcs6': device_add
[ 65.076788] device: 'vcsa6': device_add
[ 68.826644] eth0: no IPv6 routers present
[ 1833.514925] sshd used greatest stack depth: 5260 bytes left
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-15 9:52 ` Ingo Molnar
@ 2009-08-15 10:08 ` Thomas Gleixner
2009-08-17 7:40 ` Martin Schwidefsky
0 siblings, 1 reply; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-15 10:08 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Peter Zijlstra, john stultz, Martin Schwidefsky, linux-kernel
On Sat, 15 Aug 2009, Ingo Molnar wrote:
> Yeah, nice cleanups!
>
> I gave it some brief testing in tip:master and there's the new
> lockdep assert below. Config and full bootlog attached.
Yeah, we need to call clocksource_change_rating() outside of watchdog
lock. Spotted a missing _irqrestore as well.
Thanks,
tglx
---
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index a1657b5..02dc22d 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -307,16 +307,23 @@ static void clocksource_watchdog_work(struct work_struct *work)
{
struct clocksource *cs, *tmp;
unsigned long flags;
+ LIST_HEAD(unstable);
spin_lock_irqsave(&watchdog_lock, flags);
list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
list_del_init(&cs->wd_list);
- clocksource_change_rating(cs, 0);
+ list_add(&cs->wd_list, &unstable);
}
/* Check if the watchdog timer needs to be stopped. */
clocksource_stop_watchdog();
- spin_unlock(&watchdog_lock);
+ spin_unlock_irqrestore(&watchdog_lock, flags);
+
+ /* Needs to be done outside of watchdog lock */
+ list_for_each_entry_safe(cs, tmp, &unstable, wd_list) {
+ list_del_init(&cs->wd_list);
+ clocksource_change_rating(cs, 0);
+ }
}
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
^ permalink raw reply related [flat|nested] 78+ messages in thread
* Re: [patch 04/15] cleanup clocksource selection
2009-08-15 1:42 ` john stultz
2009-08-15 1:43 ` john stultz
@ 2009-08-17 7:34 ` Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-17 7:34 UTC (permalink / raw)
To: john stultz; +Cc: linux-kernel, Ingo Molnar, Thomas Gleixner, Daniel Walker
On Fri, 14 Aug 2009 18:42:20 -0700
john stultz <johnstul@us.ibm.com> wrote:
> Here when you return count, count may have been decremented in the code
> above, which causes the writer to get back fewer bytes then what they
> passed in, causing the last char to be repeatedly sent. This is what
> causes the immediate switch back to the default clocksource (override
> gets set to null), and the hang of the command writing to the sysfs
> file.
>
> The fix is simply keeping the initial "size_t ret = count;" and the
> final "return ret;"
>
>
> Index: linux-2.6-tip/kernel/time/clocksource.c
> ===================================================================
> --- linux-2.6-tip.orig/kernel/time/clocksource.c 2009-08-14 17:29:50.000000000 -0400
> +++ linux-2.6-tip/kernel/time/clocksource.c 2009-08-14 17:30:36.000000000 -0400
> @@ -478,6 +478,8 @@
> struct sysdev_attribute *attr,
> const char *buf, size_t count)
> {
> + size_t ret = count;
> +
> /* strings from sysfs write are not 0 terminated! */
> if (count >= sizeof(override_name))
> return -EINVAL;
> @@ -495,7 +497,7 @@
>
> spin_unlock_irq(&clocksource_lock);
>
> - return count;
> + return ret;
> }
>
> /**
Opps :-(
Thanks for bisecting & fixing.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-15 10:08 ` Thomas Gleixner
@ 2009-08-17 7:40 ` Martin Schwidefsky
2009-08-17 8:45 ` Thomas Gleixner
0 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-17 7:40 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Ingo Molnar, Peter Zijlstra, john stultz, linux-kernel
On Sat, 15 Aug 2009 12:08:35 +0200 (CEST)
Thomas Gleixner <tglx@linutronix.de> wrote:
> Yeah, we need to call clocksource_change_rating() outside of watchdog
> lock. Spotted a missing _irqrestore as well.
>
> Thanks,
>
> tglx
> ---
>
> diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
> index a1657b5..02dc22d 100644
> --- a/kernel/time/clocksource.c
> +++ b/kernel/time/clocksource.c
> @@ -307,16 +307,23 @@ static void clocksource_watchdog_work(struct work_struct *work)
> {
> struct clocksource *cs, *tmp;
> unsigned long flags;
> + LIST_HEAD(unstable);
>
> spin_lock_irqsave(&watchdog_lock, flags);
> list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
> if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
> list_del_init(&cs->wd_list);
> - clocksource_change_rating(cs, 0);
> + list_add(&cs->wd_list, &unstable);
> }
> /* Check if the watchdog timer needs to be stopped. */
> clocksource_stop_watchdog();
> - spin_unlock(&watchdog_lock);
> + spin_unlock_irqrestore(&watchdog_lock, flags);
> +
> + /* Needs to be done outside of watchdog lock */
> + list_for_each_entry_safe(cs, tmp, &unstable, wd_list) {
> + list_del_init(&cs->wd_list);
> + clocksource_change_rating(cs, 0);
> + }
> }
>
> #else /* CONFIG_CLOCKSOURCE_WATCHDOG */
Autsch, the s/spin_unlock/spin_unlock_irqrestore/ is rather obvious, no?
In theory we now have a reference count problem. The call to
clocksource_change_rating are no done outside of the clocksource mutex
and outside of the watchdog lock. A concurrent clocksource_unregister
could remove the clock.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-17 7:40 ` Martin Schwidefsky
@ 2009-08-17 8:45 ` Thomas Gleixner
2009-08-17 9:28 ` [circular locking bug] " Ingo Molnar
2009-08-19 9:46 ` [tip:timers/core] clocksource: Protect the watchdog rating changes with clocksource_mutex tip-bot for Thomas Gleixner
0 siblings, 2 replies; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-17 8:45 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: Ingo Molnar, Peter Zijlstra, john stultz, linux-kernel
On Mon, 17 Aug 2009, Martin Schwidefsky wrote:
> > - spin_unlock(&watchdog_lock);
> > + spin_unlock_irqrestore(&watchdog_lock, flags);
> > +
> > + /* Needs to be done outside of watchdog lock */
> > + list_for_each_entry_safe(cs, tmp, &unstable, wd_list) {
> > + list_del_init(&cs->wd_list);
> > + clocksource_change_rating(cs, 0);
> > + }
> > }
> >
> > #else /* CONFIG_CLOCKSOURCE_WATCHDOG */
>
> Autsch, the s/spin_unlock/spin_unlock_irqrestore/ is rather obvious, no?
:)
> In theory we now have a reference count problem. The call to
> clocksource_change_rating are no done outside of the clocksource mutex
> and outside of the watchdog lock. A concurrent clocksource_unregister
> could remove the clock.
Darn, yes. But it's not hard to fix.
Thanks,
tglx
---
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 02dc22d..c6bff11 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -131,6 +131,7 @@ static cycle_t watchdog_last;
static int watchdog_running;
static void clocksource_watchdog_work(struct work_struct *work);
+static void __clocksource_change_rating(struct clocksource *cs, int rating);
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -309,6 +310,7 @@ static void clocksource_watchdog_work(struct work_struct *work)
unsigned long flags;
LIST_HEAD(unstable);
+ mutex_lock(&clocksource_mutex);
spin_lock_irqsave(&watchdog_lock, flags);
list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
@@ -322,8 +324,9 @@ static void clocksource_watchdog_work(struct work_struct *work)
/* Needs to be done outside of watchdog lock */
list_for_each_entry_safe(cs, tmp, &unstable, wd_list) {
list_del_init(&cs->wd_list);
- clocksource_change_rating(cs, 0);
+ __clocksource_change_rating(cs, 0);
}
+ mutex_unlock(&clocksource_mutex);
}
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
@@ -470,16 +473,21 @@ int clocksource_register(struct clocksource *cs)
}
EXPORT_SYMBOL(clocksource_register);
+static void __clocksource_change_rating(struct clocksource *cs, int rating)
+{
+ list_del(&cs->list);
+ cs->rating = rating;
+ clocksource_enqueue(cs);
+ clocksource_select();
+}
+
/**
* clocksource_change_rating - Change the rating of a registered clocksource
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
mutex_lock(&clocksource_mutex);
- list_del(&cs->list);
- cs->rating = rating;
- clocksource_enqueue(cs);
- clocksource_select();
+ __clocksource_change_rating(cs, rating);
mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_change_rating);
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-17 8:45 ` Thomas Gleixner
@ 2009-08-17 9:28 ` Ingo Molnar
2009-08-17 17:53 ` Martin Schwidefsky
2009-08-18 15:09 ` Martin Schwidefsky
2009-08-19 9:46 ` [tip:timers/core] clocksource: Protect the watchdog rating changes with clocksource_mutex tip-bot for Thomas Gleixner
1 sibling, 2 replies; 78+ messages in thread
From: Ingo Molnar @ 2009-08-17 9:28 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Martin Schwidefsky, Peter Zijlstra, john stultz, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 288407 bytes --]
-tip testing still triggers lockdep troubles with latest
timers/core. I think timekeeping_notify() might be involved.
Bootlog below, config attached.
Ingo
[ 0.000000] Linux version 2.6.31-rc6-tip-01039-ge54d9cb-dirty (mingo@sirius) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #4937 SMP Mon Aug 17 11:04:54 CEST 2009
[ 0.000000] Command line: root=/dev/sda6 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 debug initcall_debug apic=verbose sysrq_always_enabled ignore_loglevel selinux=0 nmi_watchdog=0 panic=1 3
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Centaur CentaurHauls
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
[ 0.000000] BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] bootconsole [earlyser0] enabled
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] DMI 2.3 present.
[ 0.000000] Phoenix BIOS detected: BIOS may corrupt low RAM, working around it.
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] last_pfn = 0x3fff0 max_arch_pfn = 0x400000000
[ 0.000000] initial memory mapped : 0 - 20000000
[ 0.000000] init_memory_mapping: 0000000000000000-000000003fff0000
[ 0.000000] 0000000000 - 003fff0000 page 4k
[ 0.000000] kernel direct mapping tables up to 3fff0000 @ 100000-302000
[ 0.000000] ACPI: RSDP 00000000000f76f0 00014 (v00 Nvidia)
[ 0.000000] ACPI: RSDT 000000003fff3040 00034 (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
[ 0.000000] ACPI: FACP 000000003fff30c0 00074 (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
[ 0.000000] ACPI: DSDT 000000003fff3180 06264 (v01 NVIDIA AWRDACPI 00001000 MSFT 0100000E)
[ 0.000000] ACPI: FACS 000000003fff0000 00040
[ 0.000000] ACPI: SRAT 000000003fff9500 000A0 (v01 AMD HAMMER 00000001 AMD 00000001)
[ 0.000000] ACPI: MCFG 000000003fff9600 0003C (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
[ 0.000000] ACPI: APIC 000000003fff9440 0007C (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] SRAT: PXM 0 -> APIC 0 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 1 -> Node 0
[ 0.000000] SRAT: Node 0 PXM 0 0-a0000
[ 0.000000] SRAT: Node 0 PXM 0 100000-40000000
[ 0.000000] NUMA: Allocated memnodemap from 10000 - 10840
[ 0.000000] NUMA: Using 20 for the hash shift.
[ 0.000000] Bootmem setup node 0 0000000000000000-000000003fff0000
[ 0.000000] NODE_DATA [0000000000010840 - 000000000001583f]
[ 0.000000] bootmap [0000000000016000 - 000000000001dfff] pages 8
[ 0.000000] (7 early reservations) ==> bootmem [0000000000 - 003fff0000]
[ 0.000000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
[ 0.000000] #1 [0000006000 - 0000008000] TRAMPOLINE ==> [0000006000 - 0000008000]
[ 0.000000] #2 [0001000000 - 00029d0658] TEXT DATA BSS ==> [0001000000 - 00029d0658]
[ 0.000000] #3 [000009f800 - 0000100000] BIOS reserved ==> [000009f800 - 0000100000]
[ 0.000000] #4 [00029d1000 - 00029d1149] BRK ==> [00029d1000 - 00029d1149]
[ 0.000000] #5 [0000100000 - 0000300000] PGTABLE ==> [0000100000 - 0000300000]
[ 0.000000] #6 [0000010000 - 0000010840] MEMNODEMAP ==> [0000010000 - 0000010840]
[ 0.000000] Scan SMP from ffff880000000000 for 1024 bytes.
[ 0.000000] Scan SMP from ffff88000009fc00 for 1024 bytes.
[ 0.000000] Scan SMP from ffff8800000f0000 for 65536 bytes.
[ 0.000000] found SMP MP-table at [ffff8800000f5680] f5680
[ 0.000000] mpc: f1400-f152c
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000010 -> 0x00001000
[ 0.000000] DMA32 0x00001000 -> 0x00100000
[ 0.000000] Normal 0x00100000 -> 0x00100000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[2] active PFN ranges
[ 0.000000] 0: 0x00000010 -> 0x0000009f
[ 0.000000] 0: 0x00000100 -> 0x0003fff0
[ 0.000000] On node 0 totalpages: 262015
[ 0.000000] DMA zone: 104 pages used for memmap
[ 0.000000] DMA zone: 611 pages reserved
[ 0.000000] DMA zone: 3268 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 6552 pages used for memmap
[ 0.000000] DMA32 zone: 251480 pages, LIFO batch:31
[ 0.000000] Nvidia board detected. Ignoring ACPI timer override.
[ 0.000000] If you got timer trouble try acpi_use_timer_override
[ 0.000000] ACPI: PM-Timer IO Port: 0x4008
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: BIOS IRQ0 pin2 override ignored.
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge)
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] ACPI: IRQ14 used by override.
[ 0.000000] ACPI: IRQ15 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[ 0.000000] mapped APIC to ffffffffff5fc000 (fee00000)
[ 0.000000] mapped IOAPIC to ffffffffff5fb000 (fec00000)
[ 0.000000] nr_irqs_gsi: 24
[ 0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:a0000000)
[ 0.000000] NR_CPUS:8 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 479 pages at ffff8800029ea000, static data 1929760 bytes
[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 254748
[ 0.000000] Policy zone: DMA32
[ 0.000000] Kernel command line: root=/dev/sda6 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 debug initcall_debug apic=verbose sysrq_always_enabled ignore_loglevel selinux=0 nmi_watchdog=0 panic=1 3
[ 0.000000] debug: sysrq always enabled.
[ 0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[ 0.000000] Initializing CPU#0
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Node 0: aperture @ 20000000 size 32 MB
[ 0.000000] Aperture pointing to e820 RAM. Ignoring.
[ 0.000000] Your BIOS doesn't leave a aperture memory hole
[ 0.000000] Please enable the IOMMU option in the BIOS setup
[ 0.000000] This costs you 64 MB of RAM
[ 0.000000] Mapping aperture over 65536 KB of RAM @ 20000000
[ 0.000000] Memory: 923412k/1048512k available (8687k kernel code, 452k absent, 124648k reserved, 4619k data, 2572k init)
[ 0.000000] SLUB: Genslabs=14, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU-based detection of stalled CPUs is enabled.
[ 0.000000] NR_IRQS:4352 nr_irqs:424
[ 0.000000] Fast TSC calibration using PIT
[ 0.000000] Detected 2010.588 MHz processor.
[ 0.000071] spurious 8259A interrupt: IRQ7.
[ 0.006622] Console: colour VGA+ 80x25
[ 0.010000] console [ttyS0] enabled, bootconsole disabled
[ 0.010000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.010000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.010000] ... MAX_LOCK_DEPTH: 48
[ 0.010000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.010000] ... CLASSHASH_SIZE: 4096
[ 0.010000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.010000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.010000] ... CHAINHASH_SIZE: 16384
[ 0.010000] memory used by lock dependency info: 6367 kB
[ 0.010000] per task-struct memory footprint: 2688 bytes
[ 0.010000] ------------------------
[ 0.010000] | Locking API testsuite:
[ 0.010000] ----------------------------------------------------------------------------
[ 0.010000] | spin |wlock |rlock |mutex | wsem | rsem |
[ 0.010000] --------------------------------------------------------------------------
[ 0.010000] A-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-B-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] double unlock: ok | ok | ok | ok | ok | ok |
[ 0.010000] initialize held: ok | ok | ok | ok | ok | ok |
[ 0.010000] bad unlock order: ok | ok | ok | ok | ok | ok |
[ 0.010000] --------------------------------------------------------------------------
[ 0.010000] recursive read-lock: | ok | | ok |
[ 0.010000] recursive read-lock #2: | ok | | ok |
[ 0.010000] mixed read-write-lock: | ok | | ok |
[ 0.010000] mixed write-read-lock: | ok | | ok |
[ 0.010000] --------------------------------------------------------------------------
[ 0.010000] hard-irqs-on + irq-safe-A/12: ok | ok | ok |
[ 0.010000] soft-irqs-on + irq-safe-A/12: ok | ok | ok |
[ 0.010000] hard-irqs-on + irq-safe-A/21: ok | ok | ok |
[ 0.010000] soft-irqs-on + irq-safe-A/21: ok | ok | ok |
[ 0.010000] sirq-safe-A => hirqs-on/12: ok | ok | ok |
[ 0.010000] sirq-safe-A => hirqs-on/21: ok | ok | ok |
[ 0.010000] hard-safe-A + irqs-on/12: ok | ok | ok |
[ 0.010000] soft-safe-A + irqs-on/12: ok | ok | ok |
[ 0.010000] hard-safe-A + irqs-on/21: ok | ok | ok |
[ 0.010000] soft-safe-A + irqs-on/21: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/123: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/123: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/132: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/132: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/213: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/213: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/231: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/231: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/312: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/312: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #1/321: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #1/321: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/123: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/123: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/132: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/132: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/213: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/213: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/231: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/231: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/312: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/312: ok | ok | ok |
[ 0.010000] hard-safe-A + unsafe-B #2/321: ok | ok | ok |
[ 0.010000] soft-safe-A + unsafe-B #2/321: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/123: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/123: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/132: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/132: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/213: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/213: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/231: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/231: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/312: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/312: ok | ok | ok |
[ 0.010000] hard-irq lock-inversion/321: ok | ok | ok |
[ 0.010000] soft-irq lock-inversion/321: ok | ok | ok |
[ 0.010000] hard-irq read-recursion/123: ok |
[ 0.010000] soft-irq read-recursion/123: ok |
[ 0.010000] hard-irq read-recursion/132: ok |
[ 0.010000] soft-irq read-recursion/132: ok |
[ 0.010000] hard-irq read-recursion/213: ok |
[ 0.010000] soft-irq read-recursion/213: ok |
[ 0.010000] hard-irq read-recursion/231: ok |
[ 0.010000] soft-irq read-recursion/231: ok |
[ 0.010000] hard-irq read-recursion/312: ok |
[ 0.010000] soft-irq read-recursion/312: ok |
[ 0.010000] hard-irq read-recursion/321: ok |
[ 0.010000] soft-irq read-recursion/321: ok |
[ 0.010000] -------------------------------------------------------
[ 0.010000] Good, all 218 testcases passed! |
[ 0.010000] ---------------------------------
[ 0.010042] Calibrating delay loop (skipped), value calculated using timer frequency.. 4021.17 BogoMIPS (lpj=20105880)
[ 0.020210] Security Framework initialized
[ 0.024956] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.030859] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.040392] Mount-cache hash table entries: 256
[ 0.046889] Initializing cgroup subsys ns
[ 0.050023] Initializing cgroup subsys cpuacct
[ 0.054477] Initializing cgroup subsys freezer
[ 0.060057] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.067182] CPU: L2 Cache: 512K (64 bytes/line)
[ 0.070008] CPU 0/0x0 -> Node 0
[ 0.073146] tseg: 0000000000
[ 0.076051] CPU: Physical Processor ID: 0
[ 0.080005] CPU: Processor Core ID: 0
[ 0.083659] mce: CPU supports 5 MCE banks
[ 0.087670] numa_add_cpu cpu 0 node 0: mask now 0
[ 0.091052] ACPI: Core revision 20090521
[ 0.139363] Setting APIC routing to flat
[ 0.140012] enabled ExtINT on CPU#0
[ 0.143656] ENABLING IO-APIC IRQs
[ 0.150006] init IO_APIC IRQs
[ 0.153013] IOAPIC[0]: Set routing entry (2-0 -> 0x30 -> IRQ 0 Mode:0 Active:0)
[ 0.160020] IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0)
[ 0.167327] IOAPIC[0]: Set routing entry (2-3 -> 0x33 -> IRQ 3 Mode:0 Active:0)
[ 0.170016] IOAPIC[0]: Set routing entry (2-4 -> 0x34 -> IRQ 4 Mode:0 Active:0)
[ 0.180016] IOAPIC[0]: Set routing entry (2-5 -> 0x35 -> IRQ 5 Mode:0 Active:0)
[ 0.187326] IOAPIC[0]: Set routing entry (2-6 -> 0x36 -> IRQ 6 Mode:0 Active:0)
[ 0.190016] IOAPIC[0]: Set routing entry (2-7 -> 0x37 -> IRQ 7 Mode:0 Active:0)
[ 0.200016] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0)
[ 0.210016] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:1 Active:0)
[ 0.217327] IOAPIC[0]: Set routing entry (2-10 -> 0x3a -> IRQ 10 Mode:0 Active:0)
[ 0.220016] IOAPIC[0]: Set routing entry (2-11 -> 0x3b -> IRQ 11 Mode:0 Active:0)
[ 0.230016] IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0)
[ 0.240016] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0)
[ 0.247500] IOAPIC[0]: Set routing entry (2-14 -> 0x3e -> IRQ 14 Mode:0 Active:0)
[ 0.250016] IOAPIC[0]: Set routing entry (2-15 -> 0x3f -> IRQ 15 Mode:0 Active:0)
[ 0.260009] 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 (apicid-pin) not connected
[ 0.270139] ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
[ 0.377786] CPU0: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 0.381237] Using local APIC timer interrupts.
[ 0.381238] calibrating APIC timer ...
[ 0.400000] ... lapic delta = 1256460
[ 0.400000] ... PM-Timer delta = 357960
[ 0.400000] ... PM-Timer result ok
[ 0.400000] ..... delta 1256460
[ 0.400000] ..... mult: 53964546
[ 0.400000] ..... calibration result: 2010336
[ 0.400000] ..... CPU clock speed is 2010.3360 MHz.
[ 0.400000] ..... host bus clock speed is 201.0336 MHz.
[ 0.400025] calling migration_init+0x0/0x7f @ 1
[ 0.404907] initcall migration_init+0x0/0x7f returned 0 after 0 usecs
[ 0.410007] calling spawn_ksoftirqd+0x0/0x7f @ 1
[ 0.414801] initcall spawn_ksoftirqd+0x0/0x7f returned 0 after 0 usecs
[ 0.420008] calling init_call_single_data+0x0/0xde @ 1
[ 0.425233] initcall init_call_single_data+0x0/0xde returned 0 after 0 usecs
[ 0.430006] calling relay_init+0x0/0x3b @ 1
[ 0.434279] initcall relay_init+0x0/0x3b returned 0 after 0 usecs
[ 0.440484] lockdep: fixing up alternatives.
[ 0.450308] Booting processor 1 APIC 0x1 ip 0x6000
[ 0.010000] Initializing CPU#1
[ 0.010000] masked ExtINT on CPU#1
[ 0.010000] Calibrating delay using timer specific routine.. 4020.72 BogoMIPS (lpj=20103606)
[ 0.010000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 0.010000] CPU: L2 Cache: 512K (64 bytes/line)
[ 0.010000] CPU 1/0x1 -> Node 0
[ 0.010000] CPU: Physical Processor ID: 0
[ 0.010000] CPU: Processor Core ID: 1
[ 0.010000] mce: CPU supports 5 MCE banks
[ 0.010000] numa_add_cpu cpu 1 node 0: mask now 0-1
[ 0.610120] CPU1: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 0.631261] Brought up 2 CPUs
[ 0.634225] Total of 2 processors activated (8041.89 BogoMIPS).
[ 0.640664] device: 'platform': device_add
[ 0.644297] PM: Adding info for No Bus:platform
[ 0.650141] khelper used greatest stack depth: 4592 bytes left
[ 0.650160] bus: 'platform': registered
[ 0.660012] Registering sysdev class 'cpu'
[ 0.664144] calling init_cpufreq_transition_notifier_list+0x0/0x42 @ 1
[ 0.670012] initcall init_cpufreq_transition_notifier_list+0x0/0x42 returned 0 after 0 usecs
[ 0.680006] calling net_ns_init+0x0/0x10e @ 1
[ 0.684543] initcall net_ns_init+0x0/0x10e returned 0 after 0 usecs
[ 0.690007] calling cpufreq_tsc+0x0/0x28 @ 1
[ 0.694363] initcall cpufreq_tsc+0x0/0x28 returned 0 after 0 usecs
[ 0.700005] calling pci_reboot_init+0x0/0x3b @ 1
[ 0.704702] initcall pci_reboot_init+0x0/0x3b returned 0 after 0 usecs
[ 0.710009] calling init_lapic_sysfs+0x0/0x52 @ 1
[ 0.720004] Registering sysdev class 'lapic'
[ 0.724320] Registering sys device of class 'lapic'
[ 0.724896] Registering sys device 'lapic0'
[ 0.730096] initcall init_lapic_sysfs+0x0/0x52 returned 0 after 9765 usecs
[ 0.740005] calling print_banner+0x0/0xe @ 1
[ 0.744355] Booting paravirtualized kernel on bare hardware
[ 0.750005] initcall print_banner+0x0/0xe returned 0 after 9765 usecs
[ 0.756434] calling init_smp_flush+0x0/0x5f @ 1
[ 0.760006] initcall init_smp_flush+0x0/0x5f returned 0 after 0 usecs
[ 0.766437] calling alloc_frozen_cpus+0x0/0x45 @ 1
[ 0.770010] initcall alloc_frozen_cpus+0x0/0x45 returned 0 after 0 usecs
[ 0.776704] calling sysctl_init+0x0/0x3d @ 1
[ 0.780011] initcall sysctl_init+0x0/0x3d returned 0 after 0 usecs
[ 0.790005] calling ksysfs_init+0x0/0xe4 @ 1
[ 0.794439] initcall ksysfs_init+0x0/0xe4 returned 0 after 0 usecs
[ 0.800006] calling async_init+0x0/0x69 @ 1
[ 0.804268] initcall async_init+0x0/0x69 returned 0 after 0 usecs
[ 0.810005] calling init_jiffies_clocksource+0x0/0x39 @ 1
[ 0.815515] initcall init_jiffies_clocksource+0x0/0x39 returned 0 after 0 usecs
[ 0.820005] calling pm_init+0x0/0x5b @ 1
[ 0.824028] initcall pm_init+0x0/0x5b returned 0 after 0 usecs
[ 0.830006] calling init_hw_breakpoint+0x0/0x39 @ 1
[ 0.834981] initcall init_hw_breakpoint+0x0/0x39 returned 0 after 0 usecs
[ 0.840009] calling filelock_init+0x0/0x55 @ 1
[ 0.850015] initcall filelock_init+0x0/0x55 returned 0 after 0 usecs
[ 0.856365] calling init_misc_binfmt+0x0/0x67 @ 1
[ 0.860027] initcall init_misc_binfmt+0x0/0x67 returned 0 after 0 usecs
[ 0.866632] calling init_script_binfmt+0x0/0x3b @ 1
[ 0.870006] initcall init_script_binfmt+0x0/0x3b returned 0 after 0 usecs
[ 0.880006] calling init_elf_binfmt+0x0/0x3b @ 1
[ 0.884710] initcall init_elf_binfmt+0x0/0x3b returned 0 after 0 usecs
[ 0.890005] calling init_compat_elf_binfmt+0x0/0x3b @ 1
[ 0.895308] initcall init_compat_elf_binfmt+0x0/0x3b returned 0 after 0 usecs
[ 0.900006] calling debugfs_init+0x0/0x80 @ 1
[ 0.904450] initcall debugfs_init+0x0/0x80 returned 0 after 0 usecs
[ 0.910006] calling random32_init+0x0/0xf3 @ 1
[ 0.914530] initcall random32_init+0x0/0xf3 returned 0 after 0 usecs
[ 0.920008] calling gnttab_init+0x0/0x1a3 @ 1
[ 0.924451] initcall gnttab_init+0x0/0x1a3 returned -19 after 0 usecs
[ 0.930006] calling regulator_init+0x0/0x53 @ 1
[ 0.940004] regulator: core version 0.5
[ 0.943835] device class 'regulator': registering
[ 0.948584] initcall regulator_init+0x0/0x53 returned 0 after 0 usecs
[ 0.950008] calling early_resume_init+0x0/0x3a @ 1
[ 0.960022] Time: 15:03:49 Date: 08/17/09
[ 0.964112] initcall early_resume_init+0x0/0x3a returned 0 after 0 usecs
[ 0.970006] calling cpufreq_core_init+0x0/0x9f @ 1
[ 0.974878] initcall cpufreq_core_init+0x0/0x9f returned 0 after 0 usecs
[ 0.980005] calling cpuidle_init+0x0/0x66 @ 1
[ 0.984455] initcall cpuidle_init+0x0/0x66 returned 0 after 0 usecs
[ 0.990007] calling sock_init+0x0/0x85 @ 1
[ 0.994510] initcall sock_init+0x0/0x85 returned 0 after 0 usecs
[ 1.000005] calling net_inuse_init+0x0/0x4d @ 1
[ 1.004641] initcall net_inuse_init+0x0/0x4d returned 0 after 0 usecs
[ 1.010005] calling netpoll_init+0x0/0x69 @ 1
[ 1.020005] initcall netpoll_init+0x0/0x69 returned 0 after 0 usecs
[ 1.026262] calling netlink_proto_init+0x0/0x169 @ 1
[ 1.030098] NET: Registered protocol family 16
[ 1.034653] initcall netlink_proto_init+0x0/0x169 returned 0 after 0 usecs
[ 1.040005] calling bdi_class_init+0x0/0x68 @ 1
[ 1.044616] device class 'bdi': registering
[ 1.050303] initcall bdi_class_init+0x0/0x68 returned 0 after 9765 usecs
[ 1.056993] calling kobject_uevent_init+0x0/0x7b @ 1
[ 1.060026] initcall kobject_uevent_init+0x0/0x7b returned 0 after 0 usecs
[ 1.070004] calling pcibus_class_init+0x0/0x40 @ 1
[ 1.074876] device class 'pci_bus': registering
[ 1.080097] initcall pcibus_class_init+0x0/0x40 returned 0 after 9765 usecs
[ 1.086972] calling pci_driver_init+0x0/0x39 @ 1
[ 1.090073] bus: 'pci': registered
[ 1.093457] initcall pci_driver_init+0x0/0x39 returned 0 after 0 usecs
[ 1.100007] calling backlight_class_init+0x0/0x84 @ 1
[ 1.105143] device class 'backlight': registering
[ 1.110066] initcall backlight_class_init+0x0/0x84 returned 0 after 9765 usecs
[ 1.117233] calling xenbus_probe_init+0x0/0x124 @ 1
[ 1.120006] initcall xenbus_probe_init+0x0/0x124 returned -19 after 0 usecs
[ 1.130005] calling tty_class_init+0x0/0x58 @ 1
[ 1.134616] device class 'tty': registering
[ 1.140065] initcall tty_class_init+0x0/0x58 returned 0 after 9765 usecs
[ 1.146712] calling vtconsole_class_init+0x0/0xe8 @ 1
[ 1.150006] device class 'vtconsole': registering
[ 1.154763] device: 'vtcon0': device_add
[ 1.160053] PM: Adding info for No Bus:vtcon0
[ 1.164458] initcall vtconsole_class_init+0x0/0xe8 returned 0 after 9765 usecs
[ 1.170007] calling register_node_type+0x0/0xa4 @ 1
[ 1.174969] Registering sysdev class 'node'
[ 1.180060] initcall register_node_type+0x0/0xa4 returned 0 after 9765 usecs
[ 1.187074] calling spi_init+0x0/0xf4 @ 1
[ 1.190063] bus: 'spi': registered
[ 1.193446] device class 'spi_master': registering
[ 1.200078] initcall spi_init+0x0/0xf4 returned 0 after 9765 usecs
[ 1.206199] calling i2c_init+0x0/0x8c @ 1
[ 1.210064] bus: 'i2c': registered
[ 1.213446] device class 'i2c-adapter': registering
[ 1.220068] bus: 'i2c': add driver dummy
[ 1.224019] i2c-core: driver [dummy] registered
[ 1.230045] initcall i2c_init+0x0/0x8c returned 0 after 19531 usecs
[ 1.236304] calling amd_postcore_init+0x0/0xdc @ 1
[ 1.240008] node 0 link 0: io port [1000, fffff]
[ 1.244625] TOM: 0000000040000000 aka 1024M
[ 1.250005] node 0 link 0: mmio [e0000000, efffffff]
[ 1.254978] node 0 link 0: mmio [feb00000, fec0ffff]
[ 1.260201] node 0 link 0: mmio [a0000, bffff]
[ 1.264660] node 0 link 0: mmio [40000000, fed3ffff]
[ 1.269638] bus: [00,ff] on node 0 link 0
[ 1.270006] bus: 00 index 0 io port: [0, ffff]
[ 1.274443] bus: 00 index 1 mmio: [40000000, fcffffffff]
[ 1.280004] bus: 00 index 2 mmio: [feb00000, fec0ffff]
[ 1.285134] bus: 00 index 3 mmio: [a0000, bffff]
[ 1.290005] initcall amd_postcore_init+0x0/0xdc returned 0 after 48828 usecs
[ 1.300005] calling arch_kdebugfs_init+0x0/0x55 @ 1
[ 1.305019] initcall arch_kdebugfs_init+0x0/0x55 returned 0 after 0 usecs
[ 1.310081] calling ffh_cstate_init+0x0/0x51 @ 1
[ 1.314780] initcall ffh_cstate_init+0x0/0x51 returned -1 after 0 usecs
[ 1.320006] initcall ffh_cstate_init+0x0/0x51 returned with error code -1
[ 1.330004] calling acpi_pci_init+0x0/0x81 @ 1
[ 1.334569] ACPI: bus type pci registered
[ 1.338573] initcall acpi_pci_init+0x0/0x81 returned 0 after 0 usecs
[ 1.340005] calling setup_vcpu_hotplug_event+0x0/0x49 @ 1
[ 1.350007] initcall setup_vcpu_hotplug_event+0x0/0x49 returned -19 after 0 usecs
[ 1.357483] calling dmi_id_init+0x0/0x11c @ 1
[ 1.360006] device class 'dmi': registering
[ 1.364247] device: 'id': device_add
[ 1.370105] PM: Adding info for No Bus:id
[ 1.374215] initcall dmi_id_init+0x0/0x11c returned 0 after 9765 usecs
[ 1.380005] calling dma_bus_init+0x0/0x66 @ 1
[ 1.384441] device class 'dma': registering
[ 1.390066] initcall dma_bus_init+0x0/0x66 returned 0 after 9765 usecs
[ 1.396539] calling dma_channel_table_init+0x0/0x137 @ 1
[ 1.400022] initcall dma_channel_table_init+0x0/0x137 returned 0 after 0 usecs
[ 1.407229] calling dca_init+0x0/0x45 @ 1
[ 1.410003] dca service started, version 1.8
[ 1.414270] device class 'dca': registering
[ 1.420065] initcall dca_init+0x0/0x45 returned 0 after 9765 usecs
[ 1.426195] calling pci_arch_init+0x0/0x67 @ 1
[ 1.430010] PCI: Using configuration type 1 for base access
[ 1.435583] initcall pci_arch_init+0x0/0x67 returned 0 after 0 usecs
[ 1.440005] calling topology_init+0x0/0xec @ 1
[ 1.444528] Registering sys device of class 'node'
[ 1.450010] Registering sys device 'node0'
[ 1.454152] Registering sys device of class 'cpu'
[ 1.460012] Registering sys device 'cpu0'
[ 1.464066] Registering sys device of class 'cpu'
[ 1.470010] Registering sys device 'cpu1'
[ 1.474067] initcall topology_init+0x0/0xec returned 0 after 29296 usecs
[ 1.480007] calling param_sysfs_init+0x0/0xf6 @ 1
[ 1.560223] initcall param_sysfs_init+0x0/0xf6 returned 0 after 78125 usecs
[ 1.570464] calling pm_sysrq_init+0x0/0x40 @ 1
[ 1.575020] initcall pm_sysrq_init+0x0/0x40 returned 0 after 0 usecs
[ 1.580636] calling audit_watch_init+0x0/0x56 @ 1
[ 1.590554] initcall audit_watch_init+0x0/0x56 returned 0 after 0 usecs
[ 1.597160] calling init_slow_work+0x0/0x5f @ 1
[ 1.600006] initcall init_slow_work+0x0/0x5f returned 0 after 0 usecs
[ 1.606443] calling default_bdi_init+0x0/0x5e @ 1
[ 1.610031] device: 'default': device_add
[ 1.614073] PM: Adding info for No Bus:default
[ 1.620109] initcall default_bdi_init+0x0/0x5e returned 0 after 9765 usecs
[ 1.630207] calling init_bio+0x0/0x100 @ 1
[ 1.634550] bio: create slab <bio-0> at 0
[ 1.638655] initcall init_bio+0x0/0x100 returned 0 after 0 usecs
[ 1.640537] calling fsnotify_init+0x0/0x39 @ 1
[ 1.645069] initcall fsnotify_init+0x0/0x39 returned 0 after 0 usecs
[ 1.650582] calling fsnotify_notification_init+0x0/0x129 @ 1
[ 1.660171] initcall fsnotify_notification_init+0x0/0x129 returned 0 after 0 usecs
[ 1.670010] calling cryptomgr_init+0x0/0x39 @ 1
[ 1.674624] initcall cryptomgr_init+0x0/0x39 returned 0 after 0 usecs
[ 1.680006] calling blk_settings_init+0x0/0x51 @ 1
[ 1.684876] initcall blk_settings_init+0x0/0x51 returned 0 after 0 usecs
[ 1.690005] calling blk_ioc_init+0x0/0x51 @ 1
[ 1.694450] initcall blk_ioc_init+0x0/0x51 returned 0 after 0 usecs
[ 1.700006] calling blk_softirq_init+0x0/0xd3 @ 1
[ 1.704792] initcall blk_softirq_init+0x0/0xd3 returned 0 after 0 usecs
[ 1.710007] calling genhd_device_init+0x0/0x8c @ 1
[ 1.720004] device class 'block': registering
[ 1.724472] initcall genhd_device_init+0x0/0x8c returned 0 after 0 usecs
[ 1.730252] calling gpiolib_debugfs_init+0x0/0x4b @ 1
[ 1.735406] initcall gpiolib_debugfs_init+0x0/0x4b returned 0 after 0 usecs
[ 1.740042] calling max7301_init+0x0/0x39 @ 1
[ 1.744487] bus: 'spi': add driver max7301
[ 1.750115] initcall max7301_init+0x0/0x39 returned 0 after 9765 usecs
[ 1.756544] calling pca953x_init+0x0/0x3b @ 1
[ 1.760253] bus: 'i2c': add driver pca953x
[ 1.764485] i2c-core: driver [pca953x] registered
[ 1.770090] initcall pca953x_init+0x0/0x3b returned 0 after 9765 usecs
[ 1.776607] calling pci_slot_init+0x0/0x6e @ 1
[ 1.780015] initcall pci_slot_init+0x0/0x6e returned 0 after 0 usecs
[ 1.790005] calling fbmem_init+0x0/0xb8 @ 1
[ 1.794317] device class 'graphics': registering
[ 1.798993] initcall fbmem_init+0x0/0xb8 returned 0 after 0 usecs
[ 1.800050] calling acpi_init+0x0/0x149 @ 1
[ 1.815101] ACPI: EC: Look up EC in DSDT
[ 1.877234] ACPI: Interpreter enabled
[ 1.880009] ACPI: (supports S0 S5)
[ 1.883517] ACPI: Using IOAPIC for interrupt routing
[ 1.888796] bus: 'acpi': registered
[ 1.890153] device: 'LNXSYSTM:00': device_add
[ 1.894549] bus: 'acpi': add device LNXSYSTM:00
[ 1.900026] PM: Adding info for acpi:LNXSYSTM:00
[ 1.904697] device: 'LNXPWRBN:00': device_add
[ 1.910016] bus: 'acpi': add device LNXPWRBN:00
[ 1.914565] PM: Adding info for acpi:LNXPWRBN:00
[ 1.920099] device: 'LNXCPU:00': device_add
[ 1.924294] bus: 'acpi': add device LNXCPU:00
[ 1.928677] PM: Adding info for acpi:LNXCPU:00
[ 1.930110] device: 'LNXCPU:01': device_add
[ 1.934302] bus: 'acpi': add device LNXCPU:01
[ 1.940024] PM: Adding info for acpi:LNXCPU:01
[ 1.944518] device: 'device:00': device_add
[ 1.950015] bus: 'acpi': add device device:00
[ 1.954400] PM: Adding info for acpi:device:00
[ 1.960028] device: 'device:00': dev_uevent: bus uevent() returned -12
[ 1.966935] device: 'PNP0C0C:00': device_add
[ 1.970015] bus: 'acpi': add device PNP0C0C:00
[ 1.974469] PM: Adding info for acpi:PNP0C0C:00
[ 1.980622] device: 'PNP0A08:00': device_add
[ 1.984899] bus: 'acpi': add device PNP0A08:00
[ 1.990028] PM: Adding info for acpi:PNP0A08:00
[ 1.994606] device: 'PNP0C02:00': device_add
[ 2.000011] bus: 'acpi': add device PNP0C02:00
[ 2.004476] PM: Adding info for acpi:PNP0C02:00
[ 2.009090] device: 'device:01': device_add
[ 2.010016] bus: 'acpi': add device device:01
[ 2.014391] PM: Adding info for acpi:device:01
[ 2.020027] device: 'device:01': dev_uevent: bus uevent() returned -12
[ 2.026745] device: 'device:02': device_add
[ 2.030014] bus: 'acpi': add device device:02
[ 2.034380] PM: Adding info for acpi:device:02
[ 2.040027] device: 'device:02': dev_uevent: bus uevent() returned -12
[ 2.046729] device: 'device:03': device_add
[ 2.050016] bus: 'acpi': add device device:03
[ 2.054399] PM: Adding info for acpi:device:03
[ 2.060028] device: 'device:03': dev_uevent: bus uevent() returned -12
[ 2.066733] device: 'device:04': device_add
[ 2.070014] bus: 'acpi': add device device:04
[ 2.074393] PM: Adding info for acpi:device:04
[ 2.080028] device: 'device:04': dev_uevent: bus uevent() returned -12
[ 2.086729] device: 'device:05': device_add
[ 2.090016] bus: 'acpi': add device device:05
[ 2.094392] PM: Adding info for acpi:device:05
[ 2.100027] device: 'device:05': dev_uevent: bus uevent() returned -12
[ 2.106728] device: 'device:06': device_add
[ 2.110014] bus: 'acpi': add device device:06
[ 2.114390] PM: Adding info for acpi:device:06
[ 2.120028] device: 'device:06': dev_uevent: bus uevent() returned -12
[ 2.126728] device: 'device:07': device_add
[ 2.130016] bus: 'acpi': add device device:07
[ 2.134391] PM: Adding info for acpi:device:07
[ 2.140030] device: 'device:07': dev_uevent: bus uevent() returned -12
[ 2.146763] device: 'device:08': device_add
[ 2.150014] bus: 'acpi': add device device:08
[ 2.154383] PM: Adding info for acpi:device:08
[ 2.160028] device: 'device:08': dev_uevent: bus uevent() returned -12
[ 2.166729] device: 'device:09': device_add
[ 2.170016] bus: 'acpi': add device device:09
[ 2.174392] PM: Adding info for acpi:device:09
[ 2.180028] device: 'device:09': dev_uevent: bus uevent() returned -12
[ 2.186720] device: 'device:0a': device_add
[ 2.190024] bus: 'acpi': add device device:0a
[ 2.194400] PM: Adding info for acpi:device:0a
[ 2.200028] device: 'device:0a': dev_uevent: bus uevent() returned -12
[ 2.206717] device: 'device:0b': device_add
[ 2.210015] bus: 'acpi': add device device:0b
[ 2.214385] PM: Adding info for acpi:device:0b
[ 2.220028] device: 'device:0b': dev_uevent: bus uevent() returned -12
[ 2.226716] device: 'device:0c': device_add
[ 2.230014] bus: 'acpi': add device device:0c
[ 2.234384] PM: Adding info for acpi:device:0c
[ 2.240027] device: 'device:0c': dev_uevent: bus uevent() returned -12
[ 2.246732] device: 'device:0d': device_add
[ 2.250015] bus: 'acpi': add device device:0d
[ 2.254400] PM: Adding info for acpi:device:0d
[ 2.258863] device: 'device:0d': dev_uevent: bus uevent() returned -12
[ 2.260166] device: 'device:0e': device_add
[ 2.270014] bus: 'acpi': add device device:0e
[ 2.274381] PM: Adding info for acpi:device:0e
[ 2.278846] device: 'device:0e': dev_uevent: bus uevent() returned -12
[ 2.280162] device: 'device:0f': device_add
[ 2.290015] bus: 'acpi': add device device:0f
[ 2.294383] PM: Adding info for acpi:device:0f
[ 2.298848] device: 'device:0f': dev_uevent: bus uevent() returned -12
[ 2.300162] device: 'device:10': device_add
[ 2.310030] bus: 'acpi': add device device:10
[ 2.314419] PM: Adding info for acpi:device:10
[ 2.318880] device: 'device:10': dev_uevent: bus uevent() returned -12
[ 2.320162] device: 'device:11': device_add
[ 2.324353] bus: 'acpi': add device device:11
[ 2.330026] PM: Adding info for acpi:device:11
[ 2.334491] device: 'device:11': dev_uevent: bus uevent() returned -12
[ 2.340156] device: 'device:12': device_add
[ 2.344347] bus: 'acpi': add device device:12
[ 2.350024] PM: Adding info for acpi:device:12
[ 2.354483] device: 'device:12': dev_uevent: bus uevent() returned -12
[ 2.360230] device: 'device:13': device_add
[ 2.364415] bus: 'acpi': add device device:13
[ 2.370035] PM: Adding info for acpi:device:13
[ 2.374499] device: 'device:13': dev_uevent: bus uevent() returned -12
[ 2.380228] device: 'device:14': device_add
[ 2.384418] bus: 'acpi': add device device:14
[ 2.390025] PM: Adding info for acpi:device:14
[ 2.394490] device: 'device:14': dev_uevent: bus uevent() returned -12
[ 2.400312] device: 'device:15': device_add
[ 2.404502] bus: 'acpi': add device device:15
[ 2.410027] PM: Adding info for acpi:device:15
[ 2.414490] device: 'device:15': dev_uevent: bus uevent() returned -12
[ 2.420304] device: 'device:16': device_add
[ 2.424496] bus: 'acpi': add device device:16
[ 2.430077] PM: Adding info for acpi:device:16
[ 2.434542] device: 'device:16': dev_uevent: bus uevent() returned -12
[ 2.440258] device: 'device:17': device_add
[ 2.444464] bus: 'acpi': add device device:17
[ 2.450038] PM: Adding info for acpi:device:17
[ 2.454499] device: 'device:17': dev_uevent: bus uevent() returned -12
[ 2.460221] device: 'device:18': device_add
[ 2.464409] bus: 'acpi': add device device:18
[ 2.470025] PM: Adding info for acpi:device:18
[ 2.474490] device: 'device:18': dev_uevent: bus uevent() returned -12
[ 2.480561] device: 'device:19': device_add
[ 2.484747] bus: 'acpi': add device device:19
[ 2.490027] PM: Adding info for acpi:device:19
[ 2.494490] device: 'device:19': dev_uevent: bus uevent() returned -12
[ 2.500687] device: 'device:1a': device_add
[ 2.504876] bus: 'acpi': add device device:1a
[ 2.510035] PM: Adding info for acpi:device:1a
[ 2.514497] device: 'device:1a': dev_uevent: bus uevent() returned -12
[ 2.520288] device: 'device:1b': device_add
[ 2.524475] bus: 'acpi': add device device:1b
[ 2.530038] PM: Adding info for acpi:device:1b
[ 2.534499] device: 'device:1b': dev_uevent: bus uevent() returned -12
[ 2.540398] device: 'device:1c': device_add
[ 2.544590] bus: 'acpi': add device device:1c
[ 2.550026] PM: Adding info for acpi:device:1c
[ 2.554489] device: 'device:1c': dev_uevent: bus uevent() returned -12
[ 2.560400] device: 'device:1d': device_add
[ 2.564589] bus: 'acpi': add device device:1d
[ 2.570038] PM: Adding info for acpi:device:1d
[ 2.574499] device: 'device:1d': dev_uevent: bus uevent() returned -12
[ 2.580430] device: 'ATK0110:00': device_add
[ 2.584703] bus: 'acpi': add device ATK0110:00
[ 2.590025] PM: Adding info for acpi:ATK0110:00
[ 2.594617] device: 'PNP0C0F:00': device_add
[ 2.600017] bus: 'acpi': add device PNP0C0F:00
[ 2.604478] PM: Adding info for acpi:PNP0C0F:00
[ 2.610492] device: 'PNP0C0F:01': device_add
[ 2.614770] bus: 'acpi': add device PNP0C0F:01
[ 2.620037] PM: Adding info for acpi:PNP0C0F:01
[ 2.624615] device: 'PNP0C0F:02': device_add
[ 2.630017] bus: 'acpi': add device PNP0C0F:02
[ 2.634478] PM: Adding info for acpi:PNP0C0F:02
[ 2.640503] device: 'PNP0C0F:03': device_add
[ 2.644776] bus: 'acpi': add device PNP0C0F:03
[ 2.649237] PM: Adding info for acpi:PNP0C0F:03
[ 2.650508] device: 'PNP0C0F:04': device_add
[ 2.654781] bus: 'acpi': add device PNP0C0F:04
[ 2.660029] PM: Adding info for acpi:PNP0C0F:04
[ 2.664606] device: 'PNP0C0F:05': device_add
[ 2.670017] bus: 'acpi': add device PNP0C0F:05
[ 2.674480] PM: Adding info for acpi:PNP0C0F:05
[ 2.680491] device: 'PNP0C0F:06': device_add
[ 2.684767] bus: 'acpi': add device PNP0C0F:06
[ 2.690038] PM: Adding info for acpi:PNP0C0F:06
[ 2.694615] device: 'PNP0C0F:07': device_add
[ 2.700017] bus: 'acpi': add device PNP0C0F:07
[ 2.704479] PM: Adding info for acpi:PNP0C0F:07
[ 2.710476] device: 'PNP0C0F:08': device_add
[ 2.714761] bus: 'acpi': add device PNP0C0F:08
[ 2.719219] PM: Adding info for acpi:PNP0C0F:08
[ 2.720484] device: 'PNP0C0F:09': device_add
[ 2.724774] bus: 'acpi': add device PNP0C0F:09
[ 2.730027] PM: Adding info for acpi:PNP0C0F:09
[ 2.734607] device: 'PNP0C0F:0a': device_add
[ 2.740017] bus: 'acpi': add device PNP0C0F:0a
[ 2.744481] PM: Adding info for acpi:PNP0C0F:0a
[ 2.750475] device: 'PNP0C0F:0b': device_add
[ 2.754752] bus: 'acpi': add device PNP0C0F:0b
[ 2.760038] PM: Adding info for acpi:PNP0C0F:0b
[ 2.764616] device: 'PNP0C0F:0c': device_add
[ 2.770017] bus: 'acpi': add device PNP0C0F:0c
[ 2.774479] PM: Adding info for acpi:PNP0C0F:0c
[ 2.780484] device: 'PNP0C0F:0d': device_add
[ 2.784764] bus: 'acpi': add device PNP0C0F:0d
[ 2.789225] PM: Adding info for acpi:PNP0C0F:0d
[ 2.790473] device: 'PNP0C0F:0e': device_add
[ 2.794751] bus: 'acpi': add device PNP0C0F:0e
[ 2.800048] PM: Adding info for acpi:PNP0C0F:0e
[ 2.804623] device: 'PNP0C0F:0f': device_add
[ 2.810017] bus: 'acpi': add device PNP0C0F:0f
[ 2.814479] PM: Adding info for acpi:PNP0C0F:0f
[ 2.820618] device: 'PNP0C0F:10': device_add
[ 2.824898] bus: 'acpi': add device PNP0C0F:10
[ 2.830027] PM: Adding info for acpi:PNP0C0F:10
[ 2.834605] device: 'PNP0C0F:11': device_add
[ 2.840017] bus: 'acpi': add device PNP0C0F:11
[ 2.844478] PM: Adding info for acpi:PNP0C0F:11
[ 2.850769] device: 'PNP0C0F:12': device_add
[ 2.855051] bus: 'acpi': add device PNP0C0F:12
[ 2.859511] PM: Adding info for acpi:PNP0C0F:12
[ 2.860597] device: 'PNP0C0F:13': device_add
[ 2.864872] bus: 'acpi': add device PNP0C0F:13
[ 2.870048] PM: Adding info for acpi:PNP0C0F:13
[ 2.874625] device: 'PNP0C0F:14': device_add
[ 2.880018] bus: 'acpi': add device PNP0C0F:14
[ 2.884479] PM: Adding info for acpi:PNP0C0F:14
[ 2.890598] device: 'PNP0C0F:15': device_add
[ 2.894872] bus: 'acpi': add device PNP0C0F:15
[ 2.900027] PM: Adding info for acpi:PNP0C0F:15
[ 2.904606] device: 'PNP0C0F:16': device_add
[ 2.910027] bus: 'acpi': add device PNP0C0F:16
[ 2.914490] PM: Adding info for acpi:PNP0C0F:16
[ 2.920587] device: 'PNP0C0F:17': device_add
[ 2.924862] bus: 'acpi': add device PNP0C0F:17
[ 2.929322] PM: Adding info for acpi:PNP0C0F:17
[ 2.930579] device: 'PNP0C0F:18': device_add
[ 2.934853] bus: 'acpi': add device PNP0C0F:18
[ 2.940037] PM: Adding info for acpi:PNP0C0F:18
[ 2.944616] device: 'PNP0C0F:19': device_add
[ 2.950018] bus: 'acpi': add device PNP0C0F:19
[ 2.954480] PM: Adding info for acpi:PNP0C0F:19
[ 2.960588] device: 'PNP0C0F:1a': device_add
[ 2.964867] bus: 'acpi': add device PNP0C0F:1a
[ 2.970028] PM: Adding info for acpi:PNP0C0F:1a
[ 2.974605] device: 'PNP0C0F:1b': device_add
[ 2.980017] bus: 'acpi': add device PNP0C0F:1b
[ 2.984489] PM: Adding info for acpi:PNP0C0F:1b
[ 2.990575] device: 'PNP0C0F:1c': device_add
[ 2.994855] bus: 'acpi': add device PNP0C0F:1c
[ 3.000028] PM: Adding info for acpi:PNP0C0F:1c
[ 3.004606] device: 'PNP0C0F:1d': device_add
[ 3.004844] bus: 'acpi': add device PNP0C0F:1d
[ 3.010027] PM: Adding info for acpi:PNP0C0F:1d
[ 3.014606] device: 'PNP0C0F:1e': device_add
[ 3.020018] bus: 'acpi': add device PNP0C0F:1e
[ 3.024480] PM: Adding info for acpi:PNP0C0F:1e
[ 3.030562] device: 'PNP0C0F:1f': device_add
[ 3.034852] bus: 'acpi': add device PNP0C0F:1f
[ 3.040029] PM: Adding info for acpi:PNP0C0F:1f
[ 3.044606] device: 'PNP0C02:01': device_add
[ 3.050017] bus: 'acpi': add device PNP0C02:01
[ 3.054488] PM: Adding info for acpi:PNP0C02:01
[ 3.060181] device: 'PNP0000:00': device_add
[ 3.064456] bus: 'acpi': add device PNP0000:00
[ 3.068918] PM: Adding info for acpi:PNP0000:00
[ 3.070174] device: 'PNP0200:00': device_add
[ 3.074446] bus: 'acpi': add device PNP0200:00
[ 3.080027] PM: Adding info for acpi:PNP0200:00
[ 3.084606] device: 'PNP0100:00': device_add
[ 3.090027] bus: 'acpi': add device PNP0100:00
[ 3.094489] PM: Adding info for acpi:PNP0100:00
[ 3.100168] device: 'PNP0B00:00': device_add
[ 3.104448] bus: 'acpi': add device PNP0B00:00
[ 3.110027] PM: Adding info for acpi:PNP0B00:00
[ 3.114605] device: 'PNP0800:00': device_add
[ 3.114605] bus: 'acpi': add device PNP0800:00
[ 3.120048] PM: Adding info for acpi:PNP0800:00
[ 3.124626] device: 'PNP0C04:00': device_add
[ 3.130018] bus: 'acpi': add device PNP0C04:00
[ 3.134481] PM: Adding info for acpi:PNP0C04:00
[ 3.141236] device: 'PNP0700:00': device_add
[ 3.145514] bus: 'acpi': add device PNP0700:00
[ 3.150028] PM: Adding info for acpi:PNP0700:00
[ 3.154607] device: 'PNP0501:00': device_add
[ 3.160018] bus: 'acpi': add device PNP0501:00
[ 3.164489] PM: Adding info for acpi:PNP0501:00
[ 3.173104] device: 'PNP0401:00': device_add
[ 3.177385] bus: 'acpi': add device PNP0401:00
[ 3.180031] PM: Adding info for acpi:PNP0401:00
[ 3.184608] device: 'PNP0F13:00': device_add
[ 3.190017] bus: 'acpi': add device PNP0F13:00
[ 3.194493] PM: Adding info for acpi:PNP0F13:00
[ 3.200561] device: 'PNP0303:00': device_add
[ 3.204839] bus: 'acpi': add device PNP0303:00
[ 3.210028] PM: Adding info for acpi:PNP0303:00
[ 3.214606] device: 'PNPB006:00': device_add
[ 3.220017] bus: 'acpi': add device PNPB006:00
[ 3.224482] PM: Adding info for acpi:PNPB006:00
[ 3.231310] device: 'PNPB02F:00': device_add
[ 3.235590] bus: 'acpi': add device PNPB02F:00
[ 3.240038] PM: Adding info for acpi:PNPB02F:00
[ 3.244616] device: 'PNP0C02:02': device_add
[ 3.250018] bus: 'acpi': add device PNP0C02:02
[ 3.254481] PM: Adding info for acpi:PNP0C02:02
[ 3.260244] device: 'PNP0C01:00': device_add
[ 3.264518] bus: 'acpi': add device PNP0C01:00
[ 3.268981] PM: Adding info for acpi:PNP0C01:00
[ 3.270122] device: 'LNXTHERM:00': device_add
[ 3.274499] bus: 'acpi': add device LNXTHERM:00
[ 3.280027] PM: Adding info for acpi:LNXTHERM:00
[ 3.284694] device: 'PNP0C0B:00': device_add
[ 3.290015] bus: 'acpi': add device PNP0C0B:00
[ 3.294482] PM: Adding info for acpi:PNP0C0B:00
[ 3.300123] device: 'LNXTHERM:01': device_add
[ 3.304483] bus: 'acpi': add device LNXTHERM:01
[ 3.310042] PM: Adding info for acpi:LNXTHERM:01
[ 3.314710] bus: 'acpi': add driver ec
[ 3.320134] bus: 'acpi': add driver power
[ 3.324155] initcall acpi_init+0x0/0x149 returned 0 after 1474609 usecs
[ 3.330007] calling dock_init+0x0/0xb4 @ 1
[ 3.335077] ACPI: No dock devices found.
[ 3.340005] initcall dock_init+0x0/0xb4 returned 0 after 9765 usecs
[ 3.346260] calling acpi_pci_root_init+0x0/0x4f @ 1
[ 3.350004] bus: 'acpi': add driver pci_root
[ 3.354282] bus: 'acpi': driver_probe_device: matched device PNP0A08:00 with driver pci_root
[ 3.360004] bus: 'acpi': really_probe: probing driver pci_root with device PNP0A08:00
[ 3.370423] ACPI: PCI Root Bridge [PCI0] (0000:00)
[ 3.375362] device: 'pci0000:00': device_add
[ 3.380053] PM: Adding info for No Bus:pci0000:00
[ 3.384756] device: '0000:00': device_add
[ 3.390037] PM: Adding info for No Bus:0000:00
[ 3.394533] HPET not enabled in BIOS. You might try hpet=force boot option
[ 3.400063] pci 0000:00:01.1: reg 10 io port: [0xdc00-0xdc1f]
[ 3.405821] pci 0000:00:01.1: reg 20 io port: [0x4c00-0x4c3f]
[ 3.410009] pci 0000:00:01.1: reg 24 io port: [0x4c40-0x4c7f]
[ 3.415773] pci 0000:00:01.1: PME# supported from D3hot D3cold
[ 3.420007] pci 0000:00:01.1: PME# disabled
[ 3.430097] pci 0000:00:02.0: reg 10 32bit mmio: [0xda102000-0xda102fff]
[ 3.436832] pci 0000:00:02.0: supports D1 D2
[ 3.440010] pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.446617] pci 0000:00:02.0: PME# disabled
[ 3.450069] pci 0000:00:02.1: reg 10 32bit mmio: [0xfeb00000-0xfeb000ff]
[ 3.456816] pci 0000:00:02.1: supports D1 D2
[ 3.460004] pci 0000:00:02.1: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.466610] pci 0000:00:02.1: PME# disabled
[ 3.470082] pci 0000:00:04.0: reg 10 io port: [0xd400-0xd4ff]
[ 3.475823] pci 0000:00:04.0: reg 14 io port: [0xd800-0xd8ff]
[ 3.480011] pci 0000:00:04.0: reg 18 32bit mmio: [0xda101000-0xda101fff]
[ 3.490041] pci 0000:00:04.0: supports D1 D2
[ 3.494380] pci 0000:00:06.0: reg 20 io port: [0xf000-0xf00f]
[ 3.500145] pci 0000:00:0a.0: reg 10 32bit mmio: [0xda100000-0xda100fff]
[ 3.506845] pci 0000:00:0a.0: reg 14 io port: [0xd000-0xd007]
[ 3.510046] pci 0000:00:0a.0: supports D1 D2
[ 3.514311] pci 0000:00:0a.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.520008] pci 0000:00:0a.0: PME# disabled
[ 3.530017] pci 0000:00:0b.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.536626] pci 0000:00:0b.0: PME# disabled
[ 3.540161] pci 0000:00:0c.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.546763] pci 0000:00:0c.0: PME# disabled
[ 3.550110] pci 0000:00:0d.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.556721] pci 0000:00:0d.0: PME# disabled
[ 3.560111] pci 0000:00:0e.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 3.566713] pci 0000:00:0e.0: PME# disabled
[ 3.570484] pci 0000:05:07.0: reg 10 io port: [0xc000-0xc0ff]
[ 3.576233] pci 0000:05:07.0: reg 14 32bit mmio: [0xda000000-0xda0000ff]
[ 3.580056] pci 0000:05:07.0: supports D1 D2
[ 3.590004] pci 0000:05:07.0: PME# supported from D1 D2 D3hot
[ 3.595743] pci 0000:05:07.0: PME# disabled
[ 3.600080] pci 0000:00:09.0: transparent bridge
[ 3.604696] pci 0000:00:09.0: bridge io port: [0xc000-0xcfff]
[ 3.610006] pci 0000:00:09.0: bridge 32bit mmio: [0xda000000-0xda0fffff]
[ 3.617111] pci 0000:01:00.0: reg 10 32bit mmio: [0xd0000000-0xd7ffffff]
[ 3.620010] pci 0000:01:00.0: reg 14 io port: [0xb000-0xb0ff]
[ 3.630010] pci 0000:01:00.0: reg 18 32bit mmio: [0xd9000000-0xd900ffff]
[ 3.636726] pci 0000:01:00.0: reg 30 32bit mmio: [0x000000-0x01ffff]
[ 3.640035] pci 0000:01:00.0: supports D1 D2
[ 3.644367] pci 0000:01:00.1: reg 10 32bit mmio: [0xd9010000-0xd901ffff]
[ 3.650065] pci 0000:01:00.1: supports D1 D2
[ 3.654450] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
[ 3.660161] pci 0000:00:0e.0: bridge io port: [0xb000-0xbfff]
[ 3.670006] pci 0000:00:0e.0: bridge 32bit mmio: [0xd8000000-0xd9ffffff]
[ 3.680010] pci 0000:00:0e.0: bridge 64bit mmio pref: [0xd0000000-0xd7ffffff]
[ 3.687175] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[ 3.692632] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
[ 3.702062] device: '0000:00:00.0': device_add
[ 3.726870] bus: 'pci': add device 0000:00:00.0
[ 3.730090] PM: Adding info for pci:0000:00:00.0
[ 3.734772] device: '0000:00:01.0': device_add
[ 3.756866] bus: 'pci': add device 0000:00:01.0
[ 3.760086] PM: Adding info for pci:0000:00:01.0
[ 3.764759] device: '0000:00:01.1': device_add
[ 3.786740] bus: 'pci': add device 0000:00:01.1
[ 3.790086] PM: Adding info for pci:0000:00:01.1
[ 3.794756] device: '0000:00:02.0': device_add
[ 3.816507] bus: 'pci': add device 0000:00:02.0
[ 3.820086] PM: Adding info for pci:0000:00:02.0
[ 3.824759] device: '0000:00:02.1': device_add
[ 3.846173] bus: 'pci': add device 0000:00:02.1
[ 3.850086] PM: Adding info for pci:0000:00:02.1
[ 3.854758] device: '0000:00:04.0': device_add
[ 3.877862] bus: 'pci': add device 0000:00:04.0
[ 3.880096] PM: Adding info for pci:0000:00:04.0
[ 3.884766] device: '0000:00:06.0': device_add
[ 3.909444] bus: 'pci': add device 0000:00:06.0
[ 3.910086] PM: Adding info for pci:0000:00:06.0
[ 3.914758] device: '0000:00:09.0': device_add
[ 3.940927] bus: 'pci': add device 0000:00:09.0
[ 3.945531] PM: Adding info for pci:0000:00:09.0
[ 3.950062] device: '0000:00:0a.0': device_add
[ 3.972303] bus: 'pci': add device 0000:00:0a.0
[ 3.976912] PM: Adding info for pci:0000:00:0a.0
[ 3.980061] device: '0000:00:0b.0': device_add
[ 4.003580] bus: 'pci': add device 0000:00:0b.0
[ 4.008188] PM: Adding info for pci:0000:00:0b.0
[ 4.010062] device: '0000:00:0c.0': device_add
[ 4.034754] bus: 'pci': add device 0000:00:0c.0
[ 4.039351] PM: Adding info for pci:0000:00:0c.0
[ 4.040060] device: '0000:00:0d.0': device_add
[ 4.065829] bus: 'pci': add device 0000:00:0d.0
[ 4.070077] PM: Adding info for pci:0000:00:0d.0
[ 4.074746] device: '0000:00:0e.0': device_add
[ 4.096812] bus: 'pci': add device 0000:00:0e.0
[ 4.100076] PM: Adding info for pci:0000:00:0e.0
[ 4.104748] device: '0000:00:18.0': device_add
[ 4.127658] bus: 'pci': add device 0000:00:18.0
[ 4.130135] PM: Adding info for pci:0000:00:18.0
[ 4.134801] device: '0000:00:18.1': device_add
[ 4.158466] bus: 'pci': add device 0000:00:18.1
[ 4.160120] PM: Adding info for pci:0000:00:18.1
[ 4.164793] device: '0000:00:18.2': device_add
[ 4.189178] bus: 'pci': add device 0000:00:18.2
[ 4.190087] PM: Adding info for pci:0000:00:18.2
[ 4.194757] device: '0000:00:18.3': device_add
[ 4.219784] bus: 'pci': add device 0000:00:18.3
[ 4.220097] PM: Adding info for pci:0000:00:18.3
[ 4.224765] device: '0000:05:07.0': device_add
[ 4.230022] bus: 'pci': add device 0000:05:07.0
[ 4.234625] PM: Adding info for pci:0000:05:07.0
[ 4.240061] device: '0000:05': device_add
[ 4.244065] PM: Adding info for No Bus:0000:05
[ 4.250060] device: '0000:04': device_add
[ 4.254079] PM: Adding info for No Bus:0000:04
[ 4.260059] device: '0000:03': device_add
[ 4.264081] PM: Adding info for No Bus:0000:03
[ 4.268577] device: '0000:02': device_add
[ 4.270040] PM: Adding info for No Bus:0000:02
[ 4.274536] device: '0000:01:00.0': device_add
[ 4.280021] bus: 'pci': add device 0000:01:00.0
[ 4.284625] PM: Adding info for pci:0000:01:00.0
[ 4.290060] device: '0000:01:00.1': device_add
[ 4.294479] bus: 'pci': add device 0000:01:00.1
[ 4.300086] PM: Adding info for pci:0000:01:00.1
[ 4.304756] device: '0000:01': device_add
[ 4.304756] PM: Adding info for No Bus:0000:01
[ 4.310137] driver: 'PNP0A08:00': driver_bound: bound to device 'pci_root'
[ 4.320006] bus: 'acpi': really_probe: bound device PNP0A08:00 to driver pci_root
[ 4.327621] initcall acpi_pci_root_init+0x0/0x4f returned 0 after 947265 usecs
[ 4.330006] calling acpi_pci_link_init+0x0/0x6a @ 1
[ 4.340006] bus: 'acpi': add driver pci_link
[ 4.344300] bus: 'acpi': driver_probe_device: matched device PNP0C0F:00 with driver pci_link
[ 4.350004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:00
[ 4.360528] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.370321] driver: 'PNP0C0F:00': driver_bound: bound to device 'pci_link'
[ 4.377187] bus: 'acpi': really_probe: bound device PNP0C0F:00 to driver pci_link
[ 4.380008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:01 with driver pci_link
[ 4.390004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:01
[ 4.400406] ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 7 9 10 *11 12 14 15)
[ 4.407778] driver: 'PNP0C0F:01': driver_bound: bound to device 'pci_link'
[ 4.410005] bus: 'acpi': really_probe: bound device PNP0C0F:01 to driver pci_link
[ 4.420008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:02 with driver pci_link
[ 4.430004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:02
[ 4.440404] ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 *5 7 9 10 11 12 14 15)
[ 4.447772] driver: 'PNP0C0F:02': driver_bound: bound to device 'pci_link'
[ 4.450005] bus: 'acpi': really_probe: bound device PNP0C0F:02 to driver pci_link
[ 4.460007] bus: 'acpi': driver_probe_device: matched device PNP0C0F:03 with driver pci_link
[ 4.470004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:03
[ 4.478205] ACPI: PCI Interrupt Link [LNK4] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.484019] driver: 'PNP0C0F:03': driver_bound: bound to device 'pci_link'
[ 4.490005] bus: 'acpi': really_probe: bound device PNP0C0F:03 to driver pci_link
[ 4.500008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:04 with driver pci_link
[ 4.510004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:04
[ 4.518201] ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.524011] driver: 'PNP0C0F:04': driver_bound: bound to device 'pci_link'
[ 4.530005] bus: 'acpi': really_probe: bound device PNP0C0F:04 to driver pci_link
[ 4.540007] bus: 'acpi': driver_probe_device: matched device PNP0C0F:05 with driver pci_link
[ 4.548434] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:05
[ 4.550443] ACPI: PCI Interrupt Link [LUBA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.564015] driver: 'PNP0C0F:05': driver_bound: bound to device 'pci_link'
[ 4.570005] bus: 'acpi': really_probe: bound device PNP0C0F:05 to driver pci_link
[ 4.580007] bus: 'acpi': driver_probe_device: matched device PNP0C0F:06 with driver pci_link
[ 4.588426] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:06
[ 4.590404] ACPI: PCI Interrupt Link [LUBB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.604017] driver: 'PNP0C0F:06': driver_bound: bound to device 'pci_link'
[ 4.610005] bus: 'acpi': really_probe: bound device PNP0C0F:06 to driver pci_link
[ 4.620007] bus: 'acpi': driver_probe_device: matched device PNP0C0F:07 with driver pci_link
[ 4.628435] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:07
[ 4.630416] ACPI: PCI Interrupt Link [LMAC] (IRQs 3 4 5 7 9 10 *11 12 14 15)
[ 4.642857] driver: 'PNP0C0F:07': driver_bound: bound to device 'pci_link'
[ 4.650005] bus: 'acpi': really_probe: bound device PNP0C0F:07 to driver pci_link
[ 4.657477] bus: 'acpi': driver_probe_device: matched device PNP0C0F:08 with driver pci_link
[ 4.660004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:08
[ 4.670415] ACPI: PCI Interrupt Link [LACI] (IRQs *3 4 5 7 9 10 11 12 14 15)
[ 4.682856] driver: 'PNP0C0F:08': driver_bound: bound to device 'pci_link'
[ 4.689723] bus: 'acpi': really_probe: bound device PNP0C0F:08 to driver pci_link
[ 4.690008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:09 with driver pci_link
[ 4.700004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:09
[ 4.710402] ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.722510] driver: 'PNP0C0F:09': driver_bound: bound to device 'pci_link'
[ 4.729377] bus: 'acpi': really_probe: bound device PNP0C0F:09 to driver pci_link
[ 4.730008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0a with driver pci_link
[ 4.740005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0a
[ 4.750418] ACPI: PCI Interrupt Link [LSMB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.761957] driver: 'PNP0C0F:0a': driver_bound: bound to device 'pci_link'
[ 4.768825] bus: 'acpi': really_probe: bound device PNP0C0F:0a to driver pci_link
[ 4.770008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0b with driver pci_link
[ 4.780004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0b
[ 4.790408] ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.801681] driver: 'PNP0C0F:0b': driver_bound: bound to device 'pci_link'
[ 4.808548] bus: 'acpi': really_probe: bound device PNP0C0F:0b to driver pci_link
[ 4.810008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0c with driver pci_link
[ 4.820004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0c
[ 4.830407] ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.841337] driver: 'PNP0C0F:0c': driver_bound: bound to device 'pci_link'
[ 4.848198] bus: 'acpi': really_probe: bound device PNP0C0F:0c to driver pci_link
[ 4.850008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0d with driver pci_link
[ 4.860004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0d
[ 4.870417] ACPI: PCI Interrupt Link [LSID] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.880367] driver: 'PNP0C0F:0d': driver_bound: bound to device 'pci_link'
[ 4.887229] bus: 'acpi': really_probe: bound device PNP0C0F:0d to driver pci_link
[ 4.890008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0e with driver pci_link
[ 4.900004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0e
[ 4.910405] ACPI: PCI Interrupt Link [LFID] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.920367] driver: 'PNP0C0F:0e': driver_bound: bound to device 'pci_link'
[ 4.927230] bus: 'acpi': really_probe: bound device PNP0C0F:0e to driver pci_link
[ 4.930008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:0f with driver pci_link
[ 4.940004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:0f
[ 4.950405] ACPI: PCI Interrupt Link [LPCA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[ 4.960136] driver: 'PNP0C0F:0f': driver_bound: bound to device 'pci_link'
[ 4.967003] bus: 'acpi': really_probe: bound device PNP0C0F:0f to driver pci_link
[ 4.970008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:10 with driver pci_link
[ 4.980004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:10
[ 4.990606] ACPI: PCI Interrupt Link [APC1] (IRQs 16) *0, disabled.
[ 4.997082] driver: 'PNP0C0F:10': driver_bound: bound to device 'pci_link'
[ 5.000009] bus: 'acpi': really_probe: bound device PNP0C0F:10 to driver pci_link
[ 5.010008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:11 with driver pci_link
[ 5.020004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:11
[ 5.028414] ACPI: PCI Interrupt Link [APC2] (IRQs 17) *0
[ 5.030985] driver: 'PNP0C0F:11': driver_bound: bound to device 'pci_link'
[ 5.040129] bus: 'acpi': really_probe: bound device PNP0C0F:11 to driver pci_link
[ 5.047604] bus: 'acpi': driver_probe_device: matched device PNP0C0F:12 with driver pci_link
[ 5.050004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:12
[ 5.060600] ACPI: PCI Interrupt Link [APC3] (IRQs 18) *0
[ 5.070983] driver: 'PNP0C0F:12': driver_bound: bound to device 'pci_link'
[ 5.077844] bus: 'acpi': really_probe: bound device PNP0C0F:12 to driver pci_link
[ 5.080010] bus: 'acpi': driver_probe_device: matched device PNP0C0F:13 with driver pci_link
[ 5.090004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:13
[ 5.100597] ACPI: PCI Interrupt Link [APC4] (IRQs 19) *0, disabled.
[ 5.107072] driver: 'PNP0C0F:13': driver_bound: bound to device 'pci_link'
[ 5.110005] bus: 'acpi': really_probe: bound device PNP0C0F:13 to driver pci_link
[ 5.120009] bus: 'acpi': driver_probe_device: matched device PNP0C0F:14 with driver pci_link
[ 5.130004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:14
[ 5.140049] ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled.
[ 5.146333] driver: 'PNP0C0F:14': driver_bound: bound to device 'pci_link'
[ 5.150005] bus: 'acpi': really_probe: bound device PNP0C0F:14 to driver pci_link
[ 5.160009] bus: 'acpi': driver_probe_device: matched device PNP0C0F:15 with driver pci_link
[ 5.168434] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:15
[ 5.170662] ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22 23) *0, disabled.
[ 5.182787] driver: 'PNP0C0F:15': driver_bound: bound to device 'pci_link'
[ 5.190005] bus: 'acpi': really_probe: bound device PNP0C0F:15 to driver pci_link
[ 5.197483] bus: 'acpi': driver_probe_device: matched device PNP0C0F:16 with driver pci_link
[ 5.200005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:16
[ 5.210671] ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22 23) *0, disabled.
[ 5.222786] driver: 'PNP0C0F:16': driver_bound: bound to device 'pci_link'
[ 5.230005] bus: 'acpi': really_probe: bound device PNP0C0F:16 to driver pci_link
[ 5.237475] bus: 'acpi': driver_probe_device: matched device PNP0C0F:17 with driver pci_link
[ 5.240005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:17
[ 5.250655] ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22 23) *0
[ 5.260987] driver: 'PNP0C0F:17': driver_bound: bound to device 'pci_link'
[ 5.267854] bus: 'acpi': really_probe: bound device PNP0C0F:17 to driver pci_link
[ 5.270009] bus: 'acpi': driver_probe_device: matched device PNP0C0F:18 with driver pci_link
[ 5.280005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:18
[ 5.290655] ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22 23) *0
[ 5.296984] driver: 'PNP0C0F:18': driver_bound: bound to device 'pci_link'
[ 5.300005] bus: 'acpi': really_probe: bound device PNP0C0F:18 to driver pci_link
[ 5.310012] bus: 'acpi': driver_probe_device: matched device PNP0C0F:19 with driver pci_link
[ 5.320005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:19
[ 5.330030] ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22 23) *0, disabled.
[ 5.337330] driver: 'PNP0C0F:19': driver_bound: bound to device 'pci_link'
[ 5.340005] bus: 'acpi': really_probe: bound device PNP0C0F:19 to driver pci_link
[ 5.350008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1a with driver pci_link
[ 5.360005] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1a
[ 5.368480] ACPI: PCI Interrupt Link [APCS] (IRQs 20 21 22 23) *0, disabled.
[ 5.372785] driver: 'PNP0C0F:1a': driver_bound: bound to device 'pci_link'
[ 5.380005] bus: 'acpi': really_probe: bound device PNP0C0F:1a to driver pci_link
[ 5.390008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1b with driver pci_link
[ 5.398433] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1b
[ 5.400652] ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22 23) *0, disabled.
[ 5.412784] driver: 'PNP0C0F:1b': driver_bound: bound to device 'pci_link'
[ 5.420005] bus: 'acpi': really_probe: bound device PNP0C0F:1b to driver pci_link
[ 5.427475] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1c with driver pci_link
[ 5.430004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1c
[ 5.440652] ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22 23) *0, disabled.
[ 5.452824] driver: 'PNP0C0F:1c': driver_bound: bound to device 'pci_link'
[ 5.459689] bus: 'acpi': really_probe: bound device PNP0C0F:1c to driver pci_link
[ 5.460008] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1d with driver pci_link
[ 5.470004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1d
[ 5.480651] ACPI: PCI Interrupt Link [APSI] (IRQs 20 21 22 23) *0, disabled.
[ 5.491714] driver: 'PNP0C0F:1d': driver_bound: bound to device 'pci_link'
[ 5.498581] bus: 'acpi': really_probe: bound device PNP0C0F:1d to driver pci_link
[ 5.500009] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1e with driver pci_link
[ 5.510004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1e
[ 5.520652] ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0, disabled.
[ 5.530363] driver: 'PNP0C0F:1e': driver_bound: bound to device 'pci_link'
[ 5.537230] bus: 'acpi': really_probe: bound device PNP0C0F:1e to driver pci_link
[ 5.540009] bus: 'acpi': driver_probe_device: matched device PNP0C0F:1f with driver pci_link
[ 5.550004] bus: 'acpi': really_probe: probing driver pci_link with device PNP0C0F:1f
[ 5.560650] ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled.
[ 5.567954] driver: 'PNP0C0F:1f': driver_bound: bound to device 'pci_link'
[ 5.570006] bus: 'acpi': really_probe: bound device PNP0C0F:1f to driver pci_link
[ 5.580097] initcall acpi_pci_link_init+0x0/0x6a returned 0 after 1210937 usecs
[ 5.590006] calling pnp_init+0x0/0x39 @ 1
[ 5.594156] bus: 'pnp': registered
[ 5.594156] initcall pnp_init+0x0/0x39 returned 0 after 0 usecs
[ 5.600006] calling setup_shutdown_event+0x0/0x3b @ 1
[ 5.605144] initcall setup_shutdown_event+0x0/0x3b returned 0 after 0 usecs
[ 5.610005] calling balloon_init+0x0/0x170 @ 1
[ 5.620005] initcall balloon_init+0x0/0x170 returned -19 after 0 usecs
[ 5.626521] calling regulator_fixed_voltage_init+0x0/0x39 @ 1
[ 5.630007] bus: 'platform': add driver reg-fixed-voltage
[ 5.635466] initcall regulator_fixed_voltage_init+0x0/0x39 returned 0 after 0 usecs
[ 5.640006] calling misc_init+0x0/0xd6 @ 1
[ 5.650020] device class 'misc': registering
[ 5.654350] initcall misc_init+0x0/0xd6 returned 0 after 0 usecs
[ 5.660008] calling cn_init+0x0/0x115 @ 1
[ 5.664204] initcall cn_init+0x0/0x115 returned 0 after 0 usecs
[ 5.670006] calling tifm_init+0x0/0xab @ 1
[ 5.674276] bus: 'tifm': registered
[ 5.674276] device class 'tifm_adapter': registering
[ 5.680068] initcall tifm_init+0x0/0xab returned 0 after 9765 usecs
[ 5.690006] calling wm8400_module_init+0x0/0x59 @ 1
[ 5.694970] bus: 'i2c': add driver WM8400
[ 5.700074] i2c-core: driver [WM8400] registered
[ 5.704633] initcall wm8400_module_init+0x0/0x59 returned 0 after 9765 usecs
[ 5.710006] calling da903x_init+0x0/0x3b @ 1
[ 5.714354] bus: 'i2c': add driver da903x
[ 5.720073] i2c-core: driver [da903x] registered
[ 5.724635] initcall da903x_init+0x0/0x3b returned 0 after 9765 usecs
[ 5.730006] calling pcf50633_init+0x0/0x3b @ 1
[ 5.734529] bus: 'i2c': add driver pcf50633
[ 5.740073] i2c-core: driver [pcf50633] registered
[ 5.744806] initcall pcf50633_init+0x0/0x3b returned 0 after 9765 usecs
[ 5.750006] calling ab3100_i2c_init+0x0/0x3b @ 1
[ 5.754709] bus: 'i2c': add driver ab3100
[ 5.760073] i2c-core: driver [ab3100] registered
[ 5.764633] initcall ab3100_i2c_init+0x0/0x3b returned 0 after 9765 usecs
[ 5.770006] calling init_scsi+0x0/0xb7 @ 1
[ 5.774687] device class 'scsi_host': registering
[ 5.780139] bus: 'scsi': registered
[ 5.783551] device class 'scsi_device': registering
[ 5.790113] SCSI subsystem initialized
[ 5.793864] initcall init_scsi+0x0/0xb7 returned 0 after 19531 usecs
[ 5.800006] calling ata_init+0x0/0xb4 @ 1
[ 5.804204] libata version 3.00 loaded.
[ 5.804204] initcall ata_init+0x0/0xb4 returned 0 after 0 usecs
[ 5.810006] calling phy_init+0x0/0x57 @ 1
[ 5.814095] device class 'mdio_bus': registering
[ 5.820137] bus: 'mdio_bus': registered
[ 5.823881] bus: 'mdio_bus': add driver Generic PHY
[ 5.830078] initcall phy_init+0x0/0x57 returned 0 after 19531 usecs
[ 5.836286] calling init_pcmcia_cs+0x0/0x5d @ 1
[ 5.840004] device class 'pcmcia_socket': registering
[ 5.845110] initcall init_pcmcia_cs+0x0/0x5d returned 0 after 0 usecs
[ 5.850006] calling usb_init+0x0/0x1d8 @ 1
[ 5.860178] bus: 'usb': registered
[ 5.863451] bus: 'usb': add driver usbfs
[ 5.867479] usbcore: registered new interface driver usbfs
[ 5.870016] device class 'usb_device': registering
[ 5.874867] bus: 'usb': add driver hub
[ 5.880087] usbcore: registered new interface driver hub
[ 5.885390] bus: 'usb': add driver usb
[ 5.890087] usbcore: registered new device driver usb
[ 5.895068] initcall usb_init+0x0/0x1d8 returned 0 after 29296 usecs
[ 5.900006] calling serio_init+0x0/0xb2 @ 1
[ 5.904335] bus: 'serio': registered
[ 5.910066] initcall serio_init+0x0/0xb2 returned 0 after 9765 usecs
[ 5.916355] calling gameport_init+0x0/0xb2 @ 1
[ 5.920065] bus: 'gameport': registered
[ 5.923949] initcall gameport_init+0x0/0xb2 returned 0 after 0 usecs
[ 5.930006] calling input_init+0x0/0x15d @ 1
[ 5.934362] device class 'input': registering
[ 5.940070] initcall input_init+0x0/0x15d returned 0 after 9765 usecs
[ 5.946483] calling hwmon_init+0x0/0x6e @ 1
[ 5.950027] device class 'hwmon': registering
[ 5.954443] initcall hwmon_init+0x0/0x6e returned 0 after 0 usecs
[ 5.960006] calling thermal_init+0x0/0x7e @ 1
[ 5.964441] device class 'thermal': registering
[ 5.970067] initcall thermal_init+0x0/0x7e returned 0 after 9765 usecs
[ 5.976542] calling mmc_init+0x0/0x9c @ 1
[ 5.980141] bus: 'mmc': registered
[ 5.983444] device class 'mmc_host': registering
[ 5.990140] bus: 'sdio': registered
[ 5.993541] initcall mmc_init+0x0/0x9c returned 0 after 9765 usecs
[ 6.000006] calling leds_init+0x0/0x67 @ 1
[ 6.004190] device class 'leds': registering
[ 6.010086] initcall leds_init+0x0/0x67 returned 0 after 9765 usecs
[ 6.016278] calling pci_subsys_init+0x0/0x13d @ 1
[ 6.020005] PCI: Using ACPI for IRQ routing
[ 6.024481] initcall pci_subsys_init+0x0/0x13d returned 0 after 0 usecs
[ 6.030005] calling proto_init+0x0/0x39 @ 1
[ 6.034283] initcall proto_init+0x0/0x39 returned 0 after 0 usecs
[ 6.040012] calling net_dev_init+0x0/0x200 @ 1
[ 6.044574] device class 'net': registering
[ 6.050098] device: 'lo': device_add
[ 6.054009] PM: Adding info for No Bus:lo
[ 6.060203] initcall net_dev_init+0x0/0x200 returned 0 after 19531 usecs
[ 6.066897] calling neigh_init+0x0/0x98 @ 1
[ 6.070006] initcall neigh_init+0x0/0x98 returned 0 after 0 usecs
[ 6.076095] calling fib_rules_init+0x0/0xcc @ 1
[ 6.080008] initcall fib_rules_init+0x0/0xcc returned 0 after 0 usecs
[ 6.086443] calling pktsched_init+0x0/0xeb @ 1
[ 6.090036] initcall pktsched_init+0x0/0xeb returned 0 after 0 usecs
[ 6.096383] calling tc_filter_init+0x0/0x73 @ 1
[ 6.100008] initcall tc_filter_init+0x0/0x73 returned 0 after 0 usecs
[ 6.110005] calling tc_action_init+0x0/0x73 @ 1
[ 6.114616] initcall tc_action_init+0x0/0x73 returned 0 after 0 usecs
[ 6.120005] calling genl_init+0x0/0x100 @ 1
[ 6.150090] initcall genl_init+0x0/0x100 returned 0 after 29296 usecs
[ 6.156523] calling cipso_v4_init+0x0/0xae @ 1
[ 6.160035] initcall cipso_v4_init+0x0/0xae returned 0 after 0 usecs
[ 6.166382] calling wanrouter_init+0x0/0x79 @ 1
[ 6.170004] Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
[ 6.177336] initcall wanrouter_init+0x0/0x79 returned 0 after 0 usecs
[ 6.180005] calling irda_init+0x0/0xb8 @ 1
[ 6.190086] NET: Registered protocol family 23
[ 6.194656] initcall irda_init+0x0/0xb8 returned 0 after 0 usecs
[ 6.200008] calling atm_init+0x0/0xdc @ 1
[ 6.204103] NET: Registered protocol family 8
[ 6.208458] NET: Registered protocol family 20
[ 6.210056] device class 'atm': registering
[ 6.214301] initcall atm_init+0x0/0xdc returned 0 after 9765 usecs
[ 6.220006] calling wireless_nlevent_init+0x0/0x69 @ 1
[ 6.225224] initcall wireless_nlevent_init+0x0/0x69 returned 0 after 0 usecs
[ 6.230006] calling cfg80211_init+0x0/0x9a @ 1
[ 6.240004] device class 'ieee80211': registering
[ 6.360084] Registering platform device 'regulatory.0'. Parent at platform
[ 6.366955] device: 'regulatory.0': device_add
[ 6.370017] bus: 'platform': add device regulatory.0
[ 6.375013] PM: Adding info for platform:regulatory.0
[ 6.380059] cfg80211: Using static regulatory domain info
[ 6.385422] cfg80211: Regulatory domain: US
[ 6.390004] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 6.397213] (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
[ 6.400004] (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 6.410004] (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 6.416779] (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 6.420006] (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
[ 6.430004] (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
[ 6.436938] cfg80211: Calling CRDA for country: US
[ 6.440188] initcall cfg80211_init+0x0/0x9a returned 0 after 195312 usecs
[ 6.450006] calling netlbl_init+0x0/0xa8 @ 1
[ 6.454355] NetLabel: Initializing
[ 6.457749] NetLabel: domain hash size = 128
[ 6.460003] NetLabel: protocols = UNLABELED CIPSOv4
[ 6.465185] NetLabel: unlabeled traffic allowed by default
[ 6.470006] initcall netlbl_init+0x0/0xa8 returned 0 after 19531 usecs
[ 6.480007] calling sysctl_init+0x0/0x6f @ 1
[ 6.484366] initcall sysctl_init+0x0/0x6f returned 0 after 0 usecs
[ 6.490005] calling xen_mc_debugfs+0x0/0x13f @ 1
[ 6.494815] initcall xen_mc_debugfs+0x0/0x13f returned 0 after 0 usecs
[ 6.500005] calling xen_mmu_debugfs+0x0/0x2e5 @ 1
[ 6.505086] initcall xen_mmu_debugfs+0x0/0x2e5 returned 0 after 0 usecs
[ 6.510005] calling xen_spinlock_debugfs+0x0/0x275 @ 1
[ 6.515441] initcall xen_spinlock_debugfs+0x0/0x275 returned 0 after 0 usecs
[ 6.520007] calling pci_iommu_init+0x0/0x59 @ 1
[ 6.595964] DMA-API: preallocated 32768 debug entries
[ 6.600009] DMA-API: debugging enabled by kernel config
[ 6.605440] bus: 'pci': add driver agpgart-amd64
[ 6.610261] PCI-DMA: Disabling AGP.
[ 6.613845] Registering sysdev class 'gart'
[ 6.618084] Registering sys device of class 'gart'
[ 6.620017] Registering sys device 'gart0'
[ 6.624164] PCI-DMA: aperture base @ 20000000 size 65536 KB
[ 6.630004] PCI-DMA: using GART IOMMU.
[ 6.633754] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
[ 6.643222] initcall pci_iommu_init+0x0/0x59 returned 0 after 107421 usecs
[ 6.650014] calling print_all_ICs+0x0/0xaa @ 1
[ 6.654535]
[ 6.654536] printing PIC contents
[ 6.660009] ... PIC IMR: ffff
[ 6.663065] ... PIC IRR: 0829
[ 6.670003] ... PIC ISR: 0000
[ 6.673058] ... PIC ELCR: 0828
[ 6.676116] printing local APIC contents on CPU#0/0:
[ 6.680000] ... APIC ID: 00000000 (0)
[ 6.680000] ... APIC VERSION: 00040010
[ 6.680000] ... APIC TASKPRI: 00000000 (00)
[ 6.680000] ... APIC ARBPRI: 000000e0 (e0)
[ 6.680000] ... APIC PROCPRI: 00000000
[ 6.680000] ... APIC LDR: 01000000
[ 6.680000] ... APIC DFR: ffffffff
[ 6.680000] ... APIC SPIV: 000001ff
[ 6.680000] ... APIC ISR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000000000
[ 6.680000] ... APIC TMR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000000000
[ 6.680000] ... APIC IRR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000008000
[ 6.680000] ... APIC ESR: 00000000
[ 6.680000] ... APIC ICR: 000008fb
[ 6.680000] ... APIC ICR2: 02000000
[ 6.680000] ... APIC LVTT: 000200ef
[ 6.680000] ... APIC LVTPC: 00010000
[ 6.680000] ... APIC LVT0: 00010700
[ 6.680000] ... APIC LVT1: 00000400
[ 6.680000] ... APIC LVTERR: 000000fe
[ 6.680000] ... APIC TMICT: 0001eace
[ 6.680000] ... APIC TMCCT: 00012b20
[ 6.680000] ... APIC TDCR: 00000003
[ 6.680000]
[ 6.672390] printing local APIC contents on CPU#1/1:
[ 6.677349] ... APIC ID: 01000000 (1)
[ 6.680000] ... APIC VERSION: 00040010
[ 6.680000] ... APIC TASKPRI: 00000000 (00)
[ 6.680000] ... APIC ARBPRI: 000000e0 (e0)
[ 6.680000] ... APIC PROCPRI: 00000000
[ 6.680000] ... APIC LDR: 02000000
[ 6.680000] ... APIC DFR: ffffffff
[ 6.680000] ... APIC SPIV: 000001ff
[ 6.680000] ... APIC ISR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000000000
[ 6.680000] ... APIC TMR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000000000
[ 6.680000] ... APIC IRR field:
[ 6.680000] 0000000000000000000000000000000000000000000000000000000000008000
[ 6.680000] ... APIC ESR: 00000000
[ 6.680000] ... APIC ICR: 000008fd
[ 6.680000] ... APIC ICR2: 01000000
[ 6.680000] ... APIC LVTT: 000200ef
[ 6.680000] ... APIC LVTPC: 00010000
[ 6.680000] ... APIC LVT0: 00010700
[ 6.680000] ... APIC LVT1: 00010400
[ 6.680000] ... APIC LVTERR: 000000fe
[ 6.680000] ... APIC TMICT: 0001eace
[ 6.680000] ... APIC TMCCT: 0001e9f5
[ 6.680000] ... APIC TDCR: 00000003
[ 6.680000]
[ 6.788643] number of MP IRQ sources: 16.
[ 6.790003] number of IO-APIC #2 registers: 24.
[ 6.794528] testing the IO APIC.......................
[ 6.800007]
[ 6.801496] IO APIC #2......
[ 6.804371] .... register #00: 00000000
[ 6.810003] ....... : physical APIC id: 00
[ 6.814354] ....... : Delivery Type: 0
[ 6.818354] ....... : LTS : 0
[ 6.810004] Clocksource tsc unstable (delta = 109652348 ns)
[ 6.820005] .... register #01: 00170011
[ 6.830003] ....... : max redirection entries: 0017
[ 6.835221] ....... : PRQ implemented: 0
[ 6.840003] ....... : IO APIC version: 0011
[ 6.844528] .... register #02: 00000000
[ 6.850003] ....... : arbitration: 00
[ 6.854008] .... IRQ redirection table:
[ 6.857836] NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect:
[ 6.860007] 00 003 0 0 0 0 0 1 1 30
[ 6.865241] 01 003 0 0 0 0 0 1 1 31
[ 6.873232] 02 003 1 0 0 0 0 0 0 32
[ 6.878479] 03 003 1 0 0 0 0 1 1 33
[ 6.883239] 04 003 0 0 0 0 0 1 1 34
[ 6.888479] 05 003 1 0 0 0 0 1 1 35
[ 6.893230] 06 003 0 0 0 0 0 1 1 36
[ 6.900007] 07 003 1 0 0 0 0 1 1 37
[ 6.905241] 08 003 0 0 0 0 0 1 1 38
[ 6.910005] 09 003 0 1 0 0 0 1 1 39
[ 6.915242] 0a 003 0 0 0 0 0 1 1 3A
[ 6.920005] 0b 003 1 0 0 0 0 1 1 3B
[ 6.925248] 0c 003 0 0 0 0 0 1 1 3C
[ 6.930005] 0d 003 0 0 0 0 0 1 1 3D
[ 6.935240] 0e 003 0 0 0 0 0 1 1 3E
[ 6.940007] 0f 003 0 0 0 0 0 1 1 3F
[ 6.945241] 10 000 1 0 0 0 0 0 0 00
[ 6.950005] 11 000 1 0 0 0 0 0 0 00
[ 6.955241] 12 000 1 0 0 0 0 0 0 00
[ 6.963230] 13 000 1 0 0 0 0 0 0 00
[ 6.968470] 14 000 1 0 0 0 0 0 0 00
[ 6.973230] 15 000 1 0 0 0 0 0 0 00
[ 6.978468] 16 000 1 0 0 0 0 0 0 00
[ 6.983231] 17 000 1 0 0 0 0 0 0 00
[ 6.988469] IRQ to pin mappings:
[ 6.990004] IRQ0 -> 0:0
[ 6.992482] IRQ1 -> 0:1
[ 6.994961] IRQ2 -> 0:2
[ 7.000197] IRQ3 -> 0:3
[ 7.002675] IRQ4 -> 0:4
[ 7.005152] IRQ5 -> 0:5
[ 7.007628] IRQ6 -> 0:6
[ 7.010197] IRQ7 -> 0:7
[ 7.012675] IRQ8 -> 0:8
[ 7.015160] IRQ9 -> 0:9
[ 7.017636] IRQ10 -> 0:10
[ 7.020198] IRQ11 -> 0:11
[ 7.022848] IRQ12 -> 0:12
[ 7.025498] IRQ13 -> 0:13
[ 7.028149] IRQ14 -> 0:14
[ 7.030821] IRQ15 -> 0:15
[ 7.033475] .................................... done.
[ 7.038610] initcall print_all_ICs+0x0/0xaa returned 0 after 371093 usecs
[ 7.040009] calling hpet_late_init+0x0/0x114 @ 1
[ 7.050005] initcall hpet_late_init+0x0/0x114 returned -19 after 0 usecs
[ 7.056693] calling clocksource_done_booting+0x0/0x3e @ 1
[ 7.060005] Switching to clocksource jiffies
[ 7.064270] initcall clocksource_done_booting+0x0/0x3e returned 0 after 0 usecs
[ 7.070005] calling init_pipe_fs+0x0/0x72 @ 1
[ 7.074645] initcall init_pipe_fs+0x0/0x72 returned 0 after 0 usecs
[ 7.080005] calling eventpoll_init+0x0/0x102 @ 1
[ 7.084752] initcall eventpoll_init+0x0/0x102 returned 0 after 0 usecs
[ 7.090005] calling anon_inode_init+0x0/0x150 @ 1
[ 7.100157] initcall anon_inode_init+0x0/0x150 returned 0 after 0 usecs
[ 7.106766] calling blk_scsi_ioctl_init+0x0/0x2ad @ 1
[ 7.110006] initcall blk_scsi_ioctl_init+0x0/0x2ad returned 0 after 0 usecs
[ 7.116954] calling acpi_event_init+0x0/0xa7 @ 1
[ 7.150074] initcall acpi_event_init+0x0/0xa7 returned 0 after 29296 usecs
[ 7.156935] calling pnpacpi_init+0x0/0xb3 @ 1
[ 7.160005] pnp: PnP ACPI init
[ 7.163083] device: 'pnp0': device_add
[ 7.166862] PM: Adding info for No Bus:pnp0
[ 7.170009] ACPI: bus type pnp registered
[ 7.174732] device: '00:00': device_add
[ 7.180150] bus: 'pnp': add device 00:00
[ 7.184100] PM: Adding info for pnp:00:00
[ 7.188167] device: '00:01': device_add
[ 7.190043] bus: 'pnp': add device 00:01
[ 7.194007] PM: Adding info for pnp:00:01
[ 7.206064] device: '00:02': device_add
[ 7.210109] bus: 'pnp': add device 00:02
[ 7.214061] PM: Adding info for pnp:00:02
[ 7.220018] device: '00:03': device_add
[ 7.223957] bus: 'pnp': add device 00:03
[ 7.227914] PM: Adding info for pnp:00:03
[ 7.230090] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0)
[ 7.237404] device: '00:04': device_add
[ 7.240111] bus: 'pnp': add device 00:04
[ 7.244073] PM: Adding info for pnp:00:04
[ 7.250096] device: '00:05': device_add
[ 7.254034] bus: 'pnp': add device 00:05
[ 7.257994] PM: Adding info for pnp:00:05
[ 7.260088] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0)
[ 7.270015] device: '00:06': device_add
[ 7.273972] bus: 'pnp': add device 00:06
[ 7.277926] PM: Adding info for pnp:00:06
[ 7.281371] IOAPIC[0]: Set routing entry (2-6 -> 0x36 -> IRQ 6 Mode:0 Active:0)
[ 7.290057] device: '00:07': device_add
[ 7.294015] bus: 'pnp': add device 00:07
[ 7.300047] PM: Adding info for pnp:00:07
[ 7.304105] IOAPIC[0]: Set routing entry (2-4 -> 0x34 -> IRQ 4 Mode:0 Active:0)
[ 7.310085] device: '00:08': device_add
[ 7.314058] bus: 'pnp': add device 00:08
[ 7.320035] PM: Adding info for pnp:00:08
[ 7.324097] IOAPIC[0]: Set routing entry (2-7 -> 0x37 -> IRQ 7 Mode:0 Active:0)
[ 7.330085] device: '00:09': device_add
[ 7.340133] bus: 'pnp': add device 00:09
[ 7.344081] PM: Adding info for pnp:00:09
[ 7.348137] IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0)
[ 7.350018] device: '00:0a': device_add
[ 7.360132] bus: 'pnp': add device 00:0a
[ 7.364081] PM: Adding info for pnp:00:0a
[ 7.368140] IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0)
[ 7.370018] device: '00:0b': device_add
[ 7.380136] bus: 'pnp': add device 00:0b
[ 7.384089] PM: Adding info for pnp:00:0b
[ 7.390724] IOAPIC[0]: Set routing entry (2-10 -> 0x3a -> IRQ 10 Mode:0 Active:0)
[ 7.398251] device: '00:0c': device_add
[ 7.400141] bus: 'pnp': add device 00:0c
[ 7.404099] PM: Adding info for pnp:00:0c
[ 7.411547] device: '00:0d': device_add
[ 7.415520] bus: 'pnp': add device 00:0d
[ 7.419466] PM: Adding info for pnp:00:0d
[ 7.420321] device: '00:0e': device_add
[ 7.424270] bus: 'pnp': add device 00:0e
[ 7.430057] PM: Adding info for pnp:00:0e
[ 7.434123] device: '00:0f': device_add
[ 7.440135] bus: 'pnp': add device 00:0f
[ 7.444080] PM: Adding info for pnp:00:0f
[ 7.448139] pnp: PnP ACPI: found 16 devices
[ 7.450006] ACPI: ACPI bus type pnp unregistered
[ 7.454617] initcall pnpacpi_init+0x0/0xb3 returned 0 after 283203 usecs
[ 7.460006] calling pnp_system_init+0x0/0x39 @ 1
[ 7.470005] bus: 'pnp': add driver system
[ 7.474023] bus: 'pnp': driver_probe_device: matched device 00:01 with driver system
[ 7.480007] bus: 'pnp': really_probe: probing driver system with device 00:01
[ 7.487145] system 00:01: ioport range 0x4000-0x407f has been reserved
[ 7.490007] system 00:01: ioport range 0x4080-0x40ff has been reserved
[ 7.500007] system 00:01: ioport range 0x4400-0x447f has been reserved
[ 7.506531] system 00:01: ioport range 0x4480-0x44ff has been reserved
[ 7.510007] system 00:01: ioport range 0x4800-0x487f has been reserved
[ 7.520009] system 00:01: ioport range 0x4880-0x48ff has been reserved
[ 7.526528] driver: '00:01': driver_bound: bound to device 'system'
[ 7.530005] bus: 'pnp': really_probe: bound device 00:01 to driver system
[ 7.540008] bus: 'pnp': driver_probe_device: matched device 00:02 with driver system
[ 7.547742] bus: 'pnp': really_probe: probing driver system with device 00:02
[ 7.550030] system 00:02: ioport range 0x4d0-0x4d1 has been reserved
[ 7.560009] system 00:02: ioport range 0x800-0x805 has been reserved
[ 7.566358] system 00:02: ioport range 0x290-0x297 has been reserved
[ 7.570004] driver: '00:02': driver_bound: bound to device 'system'
[ 7.580004] bus: 'pnp': really_probe: bound device 00:02 to driver system
[ 7.586792] bus: 'pnp': driver_probe_device: matched device 00:0e with driver system
[ 7.590004] bus: 'pnp': really_probe: probing driver system with device 00:0e
[ 7.600020] system 00:0e: iomem range 0xe0000000-0xefffffff has been reserved
[ 7.610004] driver: '00:0e': driver_bound: bound to device 'system'
[ 7.616261] bus: 'pnp': really_probe: bound device 00:0e to driver system
[ 7.620007] bus: 'pnp': driver_probe_device: matched device 00:0f with driver system
[ 7.630004] bus: 'pnp': really_probe: probing driver system with device 00:0f
[ 7.637143] system 00:0f: iomem range 0xf0000-0xf3fff could not be reserved
[ 7.640012] system 00:0f: iomem range 0xf4000-0xf7fff could not be reserved
[ 7.650010] system 00:0f: iomem range 0xf8000-0xfbfff could not be reserved
[ 7.656966] system 00:0f: iomem range 0xfc000-0xfffff could not be reserved
[ 7.660010] system 00:0f: iomem range 0x3fff0000-0x3fffffff could not be reserved
[ 7.670009] system 00:0f: iomem range 0xffff0000-0xffffffff has been reserved
[ 7.680011] system 00:0f: iomem range 0x0-0x9ffff could not be reserved
[ 7.686621] system 00:0f: iomem range 0x100000-0x3ffeffff could not be reserved
[ 7.690010] system 00:0f: iomem range 0xfec00000-0xfec00fff could not be reserved
[ 7.700007] system 00:0f: iomem range 0xfee00000-0xfeefffff has been reserved
[ 7.707138] system 00:0f: iomem range 0xfefff000-0xfeffffff has been reserved
[ 7.710007] system 00:0f: iomem range 0xfff80000-0xfff80fff has been reserved
[ 7.720018] system 00:0f: iomem range 0xfff90000-0xfffbffff has been reserved
[ 7.730007] system 00:0f: iomem range 0xfffed000-0xfffeffff has been reserved
[ 7.737135] driver: '00:0f': driver_bound: bound to device 'system'
[ 7.740005] bus: 'pnp': really_probe: bound device 00:0f to driver system
[ 7.750082] initcall pnp_system_init+0x0/0x39 returned 0 after 273437 usecs
[ 7.756969] calling chr_dev_init+0x0/0xca @ 1
[ 7.760031] device class 'mem': registering
[ 7.764276] device: 'mem': device_add
[ 7.770036] PM: Adding info for No Bus:mem
[ 7.774181] device: 'kmem': device_add
[ 7.774181] PM: Adding info for No Bus:kmem
[ 7.780059] device: 'null': device_add
[ 7.783800] PM: Adding info for No Bus:null
[ 7.790056] device: 'port': device_add
[ 7.793810] PM: Adding info for No Bus:port
[ 7.798041] device: 'zero': device_add
[ 7.800035] PM: Adding info for No Bus:zero
[ 7.804269] device: 'full': device_add
[ 7.810033] PM: Adding info for No Bus:full
[ 7.814267] device: 'random': device_add
[ 7.814267] PM: Adding info for No Bus:random
[ 7.820057] device: 'urandom': device_add
[ 7.824066] PM: Adding info for No Bus:urandom
[ 7.830058] device: 'kmsg': device_add
[ 7.833817] PM: Adding info for No Bus:kmsg
[ 7.840057] initcall chr_dev_init+0x0/0xca returned 0 after 78125 usecs
[ 7.846628] calling firmware_class_init+0x0/0x9f @ 1
[ 7.850004] device class 'firmware': registering
[ 7.854678] initcall firmware_class_init+0x0/0x9f returned 0 after 0 usecs
[ 7.860007] calling cpufreq_gov_performance_init+0x0/0x39 @ 1
[ 7.870031] initcall cpufreq_gov_performance_init+0x0/0x39 returned 0 after 0 usecs
[ 7.877674] calling cpufreq_gov_dbs_init+0x0/0xd6 @ 1
[ 7.880105] initcall cpufreq_gov_dbs_init+0x0/0xd6 returned 0 after 0 usecs
[ 7.890006] calling init_acpi_pm_clocksource+0x0/0x114 @ 1
[ 7.900787] Switching to clocksource acpi_pm
[ 7.905243] initcall init_acpi_pm_clocksource+0x0/0x114 returned 0 after 9942 usecs
[ 7.905243] Switched to high resolution mode on CPU 1
[ 7.912892] Switched to high resolution mode on CPU 0
[ 7.917937] calling pcibios_assign_resources+0x0/0x9a @ 1
[ 7.923588] pci 0000:00:09.0: PCI bridge, secondary bus 0000:05
[ 7.929502] pci 0000:00:09.0: IO window: 0xc000-0xcfff
[ 7.934836] pci 0000:00:09.0: MEM window: 0xda000000-0xda0fffff
[ 7.940942] pci 0000:00:09.0: PREFETCH window: disabled
[ 7.946336] pci 0000:00:0b.0: PCI bridge, secondary bus 0000:04
[ 7.952268] pci 0000:00:0b.0: IO window: disabled
[ 7.957143] pci 0000:00:0b.0: MEM window: disabled
[ 7.962123] pci 0000:00:0b.0: PREFETCH window: disabled
[ 7.967518] pci 0000:00:0c.0: PCI bridge, secondary bus 0000:03
[ 7.973448] pci 0000:00:0c.0: IO window: disabled
[ 7.978325] pci 0000:00:0c.0: MEM window: disabled
[ 7.983305] pci 0000:00:0c.0: PREFETCH window: disabled
[ 7.988697] pci 0000:00:0d.0: PCI bridge, secondary bus 0000:02
[ 7.994631] pci 0000:00:0d.0: IO window: disabled
[ 7.999506] pci 0000:00:0d.0: MEM window: disabled
[ 8.004491] pci 0000:00:0d.0: PREFETCH window: disabled
[ 8.009895] pci 0000:00:0e.0: PCI bridge, secondary bus 0000:01
[ 8.015831] pci 0000:00:0e.0: IO window: 0xb000-0xbfff
[ 8.021152] pci 0000:00:0e.0: MEM window: 0xd8000000-0xd9ffffff
[ 8.027238] pci 0000:00:0e.0: PREFETCH window: 0x000000d0000000-0x000000d7ffffff
[ 8.034831] pci 0000:00:09.0: setting latency timer to 64
[ 8.040243] pci 0000:00:0b.0: setting latency timer to 64
[ 8.045644] pci 0000:00:0c.0: setting latency timer to 64
[ 8.051063] pci 0000:00:0d.0: setting latency timer to 64
[ 8.056459] pci 0000:00:0e.0: setting latency timer to 64
[ 8.061870] pci_bus 0000:00: resource 0 io: [0x00-0xffff]
[ 8.067347] pci_bus 0000:00: resource 1 mem: [0x000000-0xffffffffffffffff]
[ 8.074236] pci_bus 0000:05: resource 0 io: [0xc000-0xcfff]
[ 8.079886] pci_bus 0000:05: resource 1 mem: [0xda000000-0xda0fffff]
[ 8.086255] pci_bus 0000:05: resource 3 io: [0x00-0xffff]
[ 8.091748] pci_bus 0000:05: resource 4 mem: [0x000000-0xffffffffffffffff]
[ 8.098615] pci_bus 0000:01: resource 0 io: [0xb000-0xbfff]
[ 8.104290] pci_bus 0000:01: resource 1 mem: [0xd8000000-0xd9ffffff]
[ 8.110649] pci_bus 0000:01: resource 2 pref mem [0xd0000000-0xd7ffffff]
[ 8.117347] initcall pcibios_assign_resources+0x0/0x9a returned 0 after 189370 usecs
[ 8.125099] calling sysctl_core_init+0x0/0x5f @ 1
[ 8.129922] initcall sysctl_core_init+0x0/0x5f returned 0 after 34 usecs
[ 8.136635] calling inet_init+0x0/0x1e8 @ 1
[ 8.140974] NET: Registered protocol family 2
[ 8.145626] IP route cache hash table entries: 32768 (order: 6, 262144 bytes)
[ 8.154774] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[ 8.165647] TCP bind hash table entries: 65536 (order: 10, 4718592 bytes)
[ 8.179153] TCP: Hash tables configured (established 131072 bind 65536)
[ 8.185845] TCP reno registered
[ 8.189235] initcall inet_init+0x0/0x1e8 returned 0 after 47183 usecs
[ 8.195698] calling af_unix_init+0x0/0x7b @ 1
[ 8.200172] NET: Registered protocol family 1
[ 8.204544] initcall af_unix_init+0x0/0x7b returned 0 after 4289 usecs
[ 8.211083] calling default_rootfs+0x0/0x91 @ 1
[ 8.215917] initcall default_rootfs+0x0/0x91 returned 0 after 215 usecs
[ 8.222541] calling i8259A_init_sysfs+0x0/0x49 @ 1
[ 8.227413] Registering sysdev class 'i8259'
[ 8.231968] Registering sys device of class 'i8259'
[ 8.236848] Registering sys device 'i82590'
[ 8.241300] initcall i8259A_init_sysfs+0x0/0x49 returned 0 after 13557 usecs
[ 8.248339] calling vsyscall_init+0x0/0x6c @ 1
[ 8.252914] initcall vsyscall_init+0x0/0x6c returned 0 after 16 usecs
[ 8.259347] calling sbf_init+0x0/0x118 @ 1
[ 8.263553] initcall sbf_init+0x0/0x118 returned 0 after 1 usecs
[ 8.269549] calling i8237A_init_sysfs+0x0/0x49 @ 1
[ 8.274445] Registering sysdev class 'i8237'
[ 8.278942] Registering sys device of class 'i8237'
[ 8.283839] Registering sys device 'i82370'
[ 8.288245] initcall i8237A_init_sysfs+0x0/0x49 returned 0 after 13475 usecs
[ 8.295305] calling add_rtc_cmos+0x0/0xea @ 1
[ 8.299750] initcall add_rtc_cmos+0x0/0xea returned 0 after 4 usecs
[ 8.306028] calling cache_sysfs_init+0x0/0x82 @ 1
[ 8.312951] initcall cache_sysfs_init+0x0/0x82 returned 0 after 2073 usecs
[ 8.319814] calling cpu_debug_init+0x0/0x11f @ 1
[ 8.328711] cpu0(2) debug files 137
[ 8.338550] cpu1(2) debug files 137
[ 8.342079] initcall cpu_debug_init+0x0/0x11f returned 0 after 17122 usecs
[ 8.348944] calling mce_init_device+0x0/0x127 @ 1
[ 8.353759] Registering sysdev class 'machinecheck'
[ 8.358906] Registering sys device of class 'machinecheck'
[ 8.364416] Registering sys device 'machinecheck0'
[ 8.369475] Registering sys device of class 'machinecheck'
[ 8.374975] Registering sys device 'machinecheck1'
[ 8.380111] device: 'mcelog': device_add
[ 8.384183] PM: Adding info for No Bus:mcelog
[ 8.388967] initcall mce_init_device+0x0/0x127 returned 0 after 34386 usecs
[ 8.395937] calling thermal_throttle_init_device+0x0/0xf5 @ 1
[ 8.401776] initcall thermal_throttle_init_device+0x0/0xf5 returned 0 after 1 usecs
[ 8.409418] calling ioapic_init_sysfs+0x0/0xd2 @ 1
[ 8.414315] Registering sysdev class 'ioapic'
[ 8.418897] Registering sys device of class 'ioapic'
[ 8.423883] Registering sys device 'ioapic0'
[ 8.428372] initcall ioapic_init_sysfs+0x0/0xd2 returned 0 after 13727 usecs
[ 8.435428] calling audit_classes_init+0x0/0xd6 @ 1
[ 8.440433] initcall audit_classes_init+0x0/0xd6 returned 0 after 30 usecs
[ 8.447303] calling start_pageattr_test+0x0/0x67 @ 1
[ 8.452495] initcall start_pageattr_test+0x0/0x67 returned 0 after 119 usecs
[ 8.459540] calling pt_dump_init+0x0/0x52 @ 1
[ 8.464025] initcall pt_dump_init+0x0/0x52 returned 0 after 16 usecs
[ 8.470390] calling crypto_fpu_module_init+0x0/0x39 @ 1
[ 8.475824] initcall crypto_fpu_module_init+0x0/0x39 returned 0 after 124 usecs
[ 8.483145] calling aes_init+0x0/0x39 @ 1
[ 8.487604] initcall aes_init+0x0/0x39 returned 0 after 349 usecs
[ 8.493703] calling init+0x0/0x39 @ 1
[ 8.497850] initcall init+0x0/0x39 returned 0 after 386 usecs
[ 8.503610] calling aesni_init+0x0/0x166 @ 1
[ 8.507962] Intel AES-NI instructions are not detected.
[ 8.513203] initcall aesni_init+0x0/0x166 returned -19 after 5112 usecs
[ 8.519807] calling crc32c_intel_mod_init+0x0/0x47 @ 1
[ 8.525053] initcall crc32c_intel_mod_init+0x0/0x47 returned -19 after 1 usecs
[ 8.532276] calling init_vdso_vars+0x0/0x272 @ 1
[ 8.537001] initcall init_vdso_vars+0x0/0x272 returned 0 after 21 usecs
[ 8.543631] calling ia32_binfmt_init+0x0/0x3b @ 1
[ 8.548436] initcall ia32_binfmt_init+0x0/0x3b returned 0 after 16 usecs
[ 8.555148] calling sysenter_setup+0x0/0xfb @ 1
[ 8.559771] initcall sysenter_setup+0x0/0xfb returned 0 after 8 usecs
[ 8.566225] calling proc_schedstat_init+0x0/0x49 @ 1
[ 8.571304] initcall proc_schedstat_init+0x0/0x49 returned 0 after 17 usecs
[ 8.578255] calling proc_execdomains_init+0x0/0x49 @ 1
[ 8.583509] initcall proc_execdomains_init+0x0/0x49 returned 0 after 10 usecs
[ 8.590647] calling ioresources_init+0x0/0x63 @ 1
[ 8.595455] initcall ioresources_init+0x0/0x63 returned 0 after 18 usecs
[ 8.602164] calling uid_cache_init+0x0/0xb4 @ 1
[ 8.606818] initcall uid_cache_init+0x0/0xb4 returned 0 after 36 usecs
[ 8.613355] calling init_posix_timers+0x0/0x10e @ 1
[ 8.618328] initcall init_posix_timers+0x0/0x10e returned 0 after 12 usecs
[ 8.625210] calling init_posix_cpu_timers+0x0/0x109 @ 1
[ 8.630533] initcall init_posix_cpu_timers+0x0/0x109 returned 0 after 1 usecs
[ 8.637656] calling nsproxy_cache_init+0x0/0x54 @ 1
[ 8.642696] initcall nsproxy_cache_init+0x0/0x54 returned 0 after 54 usecs
[ 8.649566] calling create_proc_profile+0x0/0x8c @ 1
[ 8.654638] initcall create_proc_profile+0x0/0x8c returned 0 after 1 usecs
[ 8.661523] calling timekeeping_init_device+0x0/0x49 @ 1
[ 8.666916] Registering sysdev class 'timekeeping'
[ 8.671973] Registering sys device of class 'timekeeping'
[ 8.677374] Registering sys device 'timekeeping0'
[ 8.682315] initcall timekeeping_init_device+0x0/0x49 returned 0 after 15031 usecs
[ 8.689873] calling init_clocksource_sysfs+0x0/0x77 @ 1
[ 8.695204] Registering sysdev class 'clocksource'
[ 8.700227] Registering sys device of class 'clocksource'
[ 8.705626] Registering sys device 'clocksource0'
[ 8.710573] initcall init_clocksource_sysfs+0x0/0x77 returned 0 after 15006 usecs
[ 8.718048] calling init_timer_list_procfs+0x0/0x53 @ 1
[ 8.723393] initcall init_timer_list_procfs+0x0/0x53 returned 0 after 11 usecs
[ 8.730622] calling lockdep_proc_init+0x0/0xa3 @ 1
[ 8.735534] initcall lockdep_proc_init+0x0/0xa3 returned 0 after 35 usecs
[ 8.742332] calling futex_init+0x0/0xe4 @ 1
[ 8.746632] initcall futex_init+0x0/0xe4 returned 0 after 31 usecs
[ 8.752826] calling init_rttest+0x0/0x177 @ 1
[ 8.757269] Registering sysdev class 'rttest'
[ 8.761948] Registering sys device of class 'rttest'
[ 8.766919] Registering sys device 'rttest0'
[ 8.771515] Registering sys device of class 'rttest'
[ 8.776477] Registering sys device 'rttest1'
[ 8.781108] Registering sys device of class 'rttest'
[ 8.786082] Registering sys device 'rttest2'
[ 8.790704] Registering sys device of class 'rttest'
[ 8.795665] Registering sys device 'rttest3'
[ 8.800315] Registering sys device of class 'rttest'
[ 8.805278] Registering sys device 'rttest4'
[ 8.809868] Registering sys device of class 'rttest'
[ 8.814855] Registering sys device 'rttest5'
[ 8.819448] Registering sys device of class 'rttest'
[ 8.824505] Registering sys device 'rttest6'
[ 8.829103] Registering sys device of class 'rttest'
[ 8.834089] Registering sys device 'rttest7'
[ 8.838579] Initializing RT-Tester: OK
[ 8.842349] initcall init_rttest+0x0/0x177 returned 0 after 83081 usecs
[ 8.848960] calling proc_dma_init+0x0/0x49 @ 1
[ 8.853534] initcall proc_dma_init+0x0/0x49 returned 0 after 13 usecs
[ 8.859966] calling proc_modules_init+0x0/0x49 @ 1
[ 8.864873] initcall proc_modules_init+0x0/0x49 returned 0 after 10 usecs
[ 8.871664] calling kallsyms_init+0x0/0x4c @ 1
[ 8.876213] initcall kallsyms_init+0x0/0x4c returned 0 after 19 usecs
[ 8.882663] calling crash_save_vmcoreinfo_init+0x0/0x492 @ 1
[ 8.888434] initcall crash_save_vmcoreinfo_init+0x0/0x492 returned 0 after 30 usecs
[ 8.896104] calling crash_notes_memory_init+0x0/0x5f @ 1
[ 8.901520] initcall crash_notes_memory_init+0x0/0x5f returned 0 after 8 usecs
[ 8.908733] calling pid_namespaces_init+0x0/0x54 @ 1
[ 8.913821] initcall pid_namespaces_init+0x0/0x54 returned 0 after 16 usecs
[ 8.920786] calling audit_init+0x0/0x17a @ 1
[ 8.925140] audit: initializing netlink socket (disabled)
[ 8.930651] type=2000 audit(1250521435.922:1): initialized
[ 8.936139] initcall audit_init+0x0/0x17a returned 0 after 10741 usecs
[ 8.942679] calling audit_tree_init+0x0/0x70 @ 1
[ 8.947385] initcall audit_tree_init+0x0/0x70 returned 0 after 5 usecs
[ 8.953920] calling init_kprobes+0x0/0x19e @ 1
[ 8.970982] initcall init_kprobes+0x0/0x19e returned 0 after 12235 usecs
[ 8.977676] calling rcuclassic_trace_init+0x0/0x17d @ 1
[ 8.983127] initcall rcuclassic_trace_init+0x0/0x17d returned 0 after 111 usecs
[ 8.990441] calling utsname_sysctl_init+0x0/0x3b @ 1
[ 8.995498] initcall utsname_sysctl_init+0x0/0x3b returned 0 after 8 usecs
[ 9.002384] calling init_markers+0x0/0x39 @ 1
[ 9.006827] initcall init_markers+0x0/0x39 returned 0 after 1 usecs
[ 9.013104] calling init_tracepoints+0x0/0x39 @ 1
[ 9.017894] initcall init_tracepoints+0x0/0x39 returned 0 after 1 usecs
[ 9.024518] calling init_per_zone_wmark_min+0x0/0x8d @ 1
[ 9.030052] initcall init_per_zone_wmark_min+0x0/0x8d returned 0 after 131 usecs
[ 9.037441] calling pdflush_init+0x0/0x43 @ 1
[ 9.042141] initcall pdflush_init+0x0/0x43 returned 0 after 229 usecs
[ 9.048568] calling kswapd_init+0x0/0x9c @ 1
[ 9.053082] initcall kswapd_init+0x0/0x9c returned 0 after 96 usecs
[ 9.059342] calling init_tmpfs+0x0/0x64 @ 1
[ 9.063826] initcall init_tmpfs+0x0/0x64 returned 0 after 188 usecs
[ 9.070104] calling setup_vmstat+0x0/0xe4 @ 1
[ 9.074596] initcall setup_vmstat+0x0/0xe4 returned 0 after 49 usecs
[ 9.080970] calling mm_sysfs_init+0x0/0x50 @ 1
[ 9.085526] initcall mm_sysfs_init+0x0/0x50 returned 0 after 25 usecs
[ 9.091981] calling proc_vmalloc_init+0x0/0x4c @ 1
[ 9.096866] initcall proc_vmalloc_init+0x0/0x4c returned 0 after 11 usecs
[ 9.103662] calling procswaps_init+0x0/0x49 @ 1
[ 9.108288] initcall procswaps_init+0x0/0x49 returned 0 after 10 usecs
[ 9.114825] calling hugetlb_init+0x0/0x22d @ 1
[ 9.119355] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 9.125753] initcall hugetlb_init+0x0/0x22d returned 0 after 6246 usecs
[ 9.132375] calling slab_proc_init+0x0/0x4c @ 1
[ 9.137000] initcall slab_proc_init+0x0/0x4c returned 0 after 11 usecs
[ 9.143538] calling slab_sysfs_init+0x0/0x11b @ 1
[ 9.186696] initcall slab_sysfs_init+0x0/0x11b returned 0 after 37463 usecs
[ 9.193711] calling fasync_init+0x0/0x51 @ 1
[ 9.198496] initcall fasync_init+0x0/0x51 returned 0 after 419 usecs
[ 9.204931] calling proc_filesystems_init+0x0/0x49 @ 1
[ 9.210187] initcall proc_filesystems_init+0x0/0x49 returned 0 after 19 usecs
[ 9.217308] calling dnotify_init+0x0/0xa7 @ 1
[ 9.222691] initcall dnotify_init+0x0/0xa7 returned 0 after 896 usecs
[ 9.229123] calling inotify_setup+0x0/0x37 @ 1
[ 9.234188] initcall inotify_setup+0x0/0x37 returned 0 after 1 usecs
[ 9.241240] calling aio_setup+0x0/0xce @ 1
[ 9.246570] initcall aio_setup+0x0/0xce returned 0 after 1119 usecs
[ 9.252886] calling proc_locks_init+0x0/0x49 @ 1
[ 9.257608] initcall proc_locks_init+0x0/0x49 returned 0 after 20 usecs
[ 9.264230] calling init_sys32_ioctl+0x0/0xac @ 1
[ 9.269034] initcall init_sys32_ioctl+0x0/0xac returned 0 after 17 usecs
[ 9.275748] calling init_mbcache+0x0/0x3b @ 1
[ 9.280206] initcall init_mbcache+0x0/0x3b returned 0 after 4 usecs
[ 9.286469] calling dquot_init+0x0/0x12a @ 1
[ 9.290845] VFS: Disk quotas dquot_6.5.2
[ 9.295196] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 9.301882] initcall dquot_init+0x0/0x12a returned 0 after 10776 usecs
[ 9.308405] calling proc_cmdline_init+0x0/0x49 @ 1
[ 9.313316] initcall proc_cmdline_init+0x0/0x49 returned 0 after 12 usecs
[ 9.320111] calling proc_cpuinfo_init+0x0/0x49 @ 1
[ 9.324999] initcall proc_cpuinfo_init+0x0/0x49 returned 0 after 10 usecs
[ 9.331796] calling proc_devices_init+0x0/0x49 @ 1
[ 9.336692] initcall proc_devices_init+0x0/0x49 returned 0 after 21 usecs
[ 9.343486] calling proc_interrupts_init+0x0/0x49 @ 1
[ 9.348631] initcall proc_interrupts_init+0x0/0x49 returned 0 after 10 usecs
[ 9.355689] calling proc_loadavg_init+0x0/0x49 @ 1
[ 9.360589] initcall proc_loadavg_init+0x0/0x49 returned 0 after 10 usecs
[ 9.367363] calling proc_meminfo_init+0x0/0x49 @ 1
[ 9.372271] initcall proc_meminfo_init+0x0/0x49 returned 0 after 10 usecs
[ 9.379047] calling proc_stat_init+0x0/0x49 @ 1
[ 9.383696] initcall proc_stat_init+0x0/0x49 returned 0 after 10 usecs
[ 9.390233] calling proc_uptime_init+0x0/0x49 @ 1
[ 9.395034] initcall proc_uptime_init+0x0/0x49 returned 0 after 10 usecs
[ 9.401742] calling proc_version_init+0x0/0x49 @ 1
[ 9.406630] initcall proc_version_init+0x0/0x49 returned 0 after 10 usecs
[ 9.413427] calling proc_softirqs_init+0x0/0x49 @ 1
[ 9.418398] initcall proc_softirqs_init+0x0/0x49 returned 0 after 11 usecs
[ 9.425282] calling proc_kmsg_init+0x0/0x4c @ 1
[ 9.429908] initcall proc_kmsg_init+0x0/0x4c returned 0 after 11 usecs
[ 9.436445] calling proc_page_init+0x0/0x69 @ 1
[ 9.441093] initcall proc_page_init+0x0/0x69 returned 0 after 19 usecs
[ 9.447609] calling init_devpts_fs+0x0/0x72 @ 1
[ 9.452547] initcall init_devpts_fs+0x0/0x72 returned 0 after 293 usecs
[ 9.459153] calling init_ext3_fs+0x0/0x99 @ 1
[ 9.464483] initcall init_ext3_fs+0x0/0x99 returned 0 after 843 usecs
[ 9.470966] calling init_ext2_fs+0x0/0x99 @ 1
[ 9.476246] initcall init_ext2_fs+0x0/0x99 returned 0 after 816 usecs
[ 9.482743] calling init_ext4_fs+0x0/0x12f @ 1
[ 9.489927] initcall init_ext4_fs+0x0/0x12f returned 0 after 2589 usecs
[ 9.496560] calling journal_init+0x0/0xf5 @ 1
[ 9.502836] initcall journal_init+0x0/0xf5 returned 0 after 1780 usecs
[ 9.509359] calling journal_init+0x0/0xd6 @ 1
[ 9.515592] initcall journal_init+0x0/0xd6 returned 0 after 1722 usecs
[ 9.522124] calling init_cramfs_fs+0x0/0x57 @ 1
[ 9.526775] initcall init_cramfs_fs+0x0/0x57 returned 0 after 35 usecs
[ 9.533313] calling init_squashfs_fs+0x0/0x93 @ 1
[ 9.538526] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 9.544376] initcall init_squashfs_fs+0x0/0x93 returned 0 after 6125 usecs
[ 9.551259] calling init_ramfs_fs+0x0/0x39 @ 1
[ 9.555792] initcall init_ramfs_fs+0x0/0x39 returned 0 after 2 usecs
[ 9.562154] calling init_hugetlbfs_fs+0x0/0xbe @ 1
[ 9.567707] initcall init_hugetlbfs_fs+0x0/0xbe returned 0 after 656 usecs
[ 9.574596] calling init_nls_cp437+0x0/0x39 @ 1
[ 9.579230] initcall init_nls_cp437+0x0/0x39 returned 0 after 23 usecs
[ 9.585773] calling init_nls_cp737+0x0/0x39 @ 1
[ 9.590403] initcall init_nls_cp737+0x0/0x39 returned 0 after 2 usecs
[ 9.596832] calling init_nls_cp850+0x0/0x39 @ 1
[ 9.601469] initcall init_nls_cp850+0x0/0x39 returned 0 after 1 usecs
[ 9.607898] calling init_nls_cp860+0x0/0x39 @ 1
[ 9.612538] initcall init_nls_cp860+0x0/0x39 returned 0 after 1 usecs
[ 9.618965] calling init_nls_cp869+0x0/0x39 @ 1
[ 9.623606] initcall init_nls_cp869+0x0/0x39 returned 0 after 1 usecs
[ 9.630056] calling init_nls_ascii+0x0/0x39 @ 1
[ 9.634674] initcall init_nls_ascii+0x0/0x39 returned 0 after 1 usecs
[ 9.641124] calling init_nls_iso8859_1+0x0/0x39 @ 1
[ 9.646090] initcall init_nls_iso8859_1+0x0/0x39 returned 0 after 1 usecs
[ 9.652885] calling init_nls_iso8859_2+0x0/0x39 @ 1
[ 9.657849] initcall init_nls_iso8859_2+0x0/0x39 returned 0 after 1 usecs
[ 9.664647] calling init_nls_iso8859_3+0x0/0x39 @ 1
[ 9.669609] initcall init_nls_iso8859_3+0x0/0x39 returned 0 after 1 usecs
[ 9.676407] calling init_nls_iso8859_4+0x0/0x39 @ 1
[ 9.681386] initcall init_nls_iso8859_4+0x0/0x39 returned 0 after 2 usecs
[ 9.688161] calling init_nls_iso8859_5+0x0/0x39 @ 1
[ 9.693146] initcall init_nls_iso8859_5+0x0/0x39 returned 0 after 1 usecs
[ 9.699921] calling init_nls_iso8859_15+0x0/0x39 @ 1
[ 9.704994] initcall init_nls_iso8859_15+0x0/0x39 returned 0 after 1 usecs
[ 9.711879] calling init_smb_fs+0x0/0x99 @ 1
[ 9.717081] initcall init_smb_fs+0x0/0x99 returned 0 after 822 usecs
[ 9.723443] calling init_hpfs_fs+0x0/0x89 @ 1
[ 9.728295] initcall init_hpfs_fs+0x0/0x89 returned 0 after 399 usecs
[ 9.734744] calling init_autofs4_fs+0x0/0x4c @ 1
[ 9.739455] device: 'autofs': device_add
[ 9.743442] PM: Adding info for No Bus:autofs
[ 9.748031] initcall init_autofs4_fs+0x0/0x4c returned 0 after 8381 usecs
[ 9.754827] calling init_udf_fs+0x0/0x89 @ 1
[ 9.759592] initcall init_udf_fs+0x0/0x89 returned 0 after 400 usecs
[ 9.765953] calling init_omfs_fs+0x0/0x39 @ 1
[ 9.770409] initcall init_omfs_fs+0x0/0x39 returned 0 after 3 usecs
[ 9.776664] calling init_xfs_fs+0x0/0xbd @ 1
[ 9.781042] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, debug enabled
[ 9.798115] initcall init_xfs_fs+0x0/0xbd returned 0 after 16666 usecs
[ 9.804660] calling init_nilfs_fs+0x0/0xb9 @ 1
[ 9.811021] initcall init_nilfs_fs+0x0/0xb9 returned 0 after 1787 usecs
[ 9.817623] calling init_befs_fs+0x0/0xa4 @ 1
[ 9.822089] BeFS version: 0.9.3
[ 9.825659] initcall init_befs_fs+0x0/0xa4 returned 0 after 3483 usecs
[ 9.832267] calling ipc_init+0x0/0x4a @ 1
[ 9.836382] msgmni has been set to 1803
[ 9.840258] initcall ipc_init+0x0/0x4a returned 0 after 3797 usecs
[ 9.846431] calling ipc_sysctl_init+0x0/0x3b @ 1
[ 9.851162] initcall ipc_sysctl_init+0x0/0x3b returned 0 after 5 usecs
[ 9.857682] calling init_mqueue_fs+0x0/0xee @ 1
[ 9.863039] initcall init_mqueue_fs+0x0/0xee returned 0 after 703 usecs
[ 9.869648] calling key_proc_init+0x0/0x80 @ 1
[ 9.874230] initcall key_proc_init+0x0/0x80 returned 0 after 22 usecs
[ 9.880681] calling crypto_wq_init+0x0/0x59 @ 1
[ 9.885538] initcall crypto_wq_init+0x0/0x59 returned 0 after 232 usecs
[ 9.892165] calling crypto_algapi_init+0x0/0x34 @ 1
[ 9.897143] initcall crypto_algapi_init+0x0/0x34 returned 0 after 16 usecs
[ 9.904043] calling chainiv_module_init+0x0/0x39 @ 1
[ 9.909101] initcall chainiv_module_init+0x0/0x39 returned 0 after 6 usecs
[ 9.915990] calling eseqiv_module_init+0x0/0x39 @ 1
[ 9.920969] initcall eseqiv_module_init+0x0/0x39 returned 0 after 4 usecs
[ 9.927750] calling md4_mod_init+0x0/0x39 @ 1
[ 9.932409] initcall md4_mod_init+0x0/0x39 returned 0 after 187 usecs
[ 9.938845] calling md5_mod_init+0x0/0x39 @ 1
[ 9.943467] initcall md5_mod_init+0x0/0x39 returned 0 after 152 usecs
[ 9.949903] calling rmd160_mod_init+0x0/0x39 @ 1
[ 9.954799] initcall rmd160_mod_init+0x0/0x39 returned 0 after 160 usecs
[ 9.961507] calling sha1_generic_mod_init+0x0/0x39 @ 1
[ 9.966888] initcall sha1_generic_mod_init+0x0/0x39 returned 0 after 153 usecs
[ 9.974119] calling sha256_generic_mod_init+0x0/0x65 @ 1
[ 9.979879] initcall sha256_generic_mod_init+0x0/0x65 returned 0 after 355 usecs
[ 9.987283] calling wp512_mod_init+0x0/0x8a @ 1
[ 9.992465] initcall wp512_mod_init+0x0/0x8a returned 0 after 541 usecs
[ 9.999069] calling crypto_ecb_module_init+0x0/0x39 @ 1
[ 10.004408] initcall crypto_ecb_module_init+0x0/0x39 returned 0 after 4 usecs
[ 10.011548] calling crypto_cbc_module_init+0x0/0x39 @ 1
[ 10.016859] initcall crypto_cbc_module_init+0x0/0x39 returned 0 after 4 usecs
[ 10.024001] calling crypto_pcbc_module_init+0x0/0x39 @ 1
[ 10.029400] initcall crypto_pcbc_module_init+0x0/0x39 returned 0 after 4 usecs
[ 10.036632] calling crypto_module_init+0x0/0x39 @ 1
[ 10.041609] initcall crypto_module_init+0x0/0x39 returned 0 after 4 usecs
[ 10.048390] calling cryptd_init+0x0/0xfd @ 1
[ 10.052784] initcall cryptd_init+0x0/0xfd returned 0 after 8 usecs
[ 10.058955] calling serpent_mod_init+0x0/0x65 @ 1
[ 10.064185] initcall serpent_mod_init+0x0/0x65 returned 0 after 408 usecs
[ 10.070984] calling aes_init+0x0/0x39 @ 1
[ 10.075293] initcall aes_init+0x0/0x39 returned 0 after 205 usecs
[ 10.081395] calling arc4_init+0x0/0x39 @ 1
[ 10.085807] initcall arc4_init+0x0/0x39 returned 0 after 222 usecs
[ 10.091993] calling tea_mod_init+0x0/0x8a @ 1
[ 10.097039] initcall tea_mod_init+0x0/0x8a returned 0 after 586 usecs
[ 10.103485] calling salsa20_generic_mod_init+0x0/0x39 @ 1
[ 10.109084] initcall salsa20_generic_mod_init+0x0/0x39 returned 0 after 110 usecs
[ 10.116573] calling deflate_mod_init+0x0/0x39 @ 1
[ 10.122113] initcall deflate_mod_init+0x0/0x39 returned 0 after 722 usecs
[ 10.128896] calling zlib_mod_init+0x0/0x39 @ 1
[ 10.134515] initcall zlib_mod_init+0x0/0x39 returned 0 after 1041 usecs
[ 10.141141] calling michael_mic_init+0x0/0x39 @ 1
[ 10.146114] initcall michael_mic_init+0x0/0x39 returned 0 after 176 usecs
[ 10.152911] calling crc32c_mod_init+0x0/0x39 @ 1
[ 10.157797] initcall crc32c_mod_init+0x0/0x39 returned 0 after 176 usecs
[ 10.164508] calling crypto_authenc_module_init+0x0/0x39 @ 1
[ 10.170180] initcall crypto_authenc_module_init+0x0/0x39 returned 0 after 4 usecs
[ 10.177654] calling krng_mod_init+0x0/0x39 @ 1
[ 10.182305] alg: No test for stdrng (krng)
[ 10.186441] initcall krng_mod_init+0x0/0x39 returned 0 after 4135 usecs
[ 10.193064] calling prng_mod_init+0x0/0x4e @ 1
[ 10.197692] alg: No test for stdrng (ansi_cprng)
[ 10.202325] initcall prng_mod_init+0x0/0x4e returned 0 after 4619 usecs
[ 10.208933] calling proc_genhd_init+0x0/0x63 @ 1
[ 10.213690] initcall proc_genhd_init+0x0/0x63 returned 0 after 31 usecs
[ 10.220310] calling bsg_init+0x0/0x155 @ 1
[ 10.225016] device class 'bsg': registering
[ 10.229446] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[ 10.236851] initcall bsg_init+0x0/0x155 returned 0 after 12064 usecs
[ 10.243217] calling noop_init+0x0/0x3b @ 1
[ 10.247433] io scheduler noop registered (default)
[ 10.252238] initcall noop_init+0x0/0x3b returned 0 after 4724 usecs
[ 10.258498] calling libcrc32c_mod_init+0x0/0x53 @ 1
[ 10.263489] initcall libcrc32c_mod_init+0x0/0x53 returned 0 after 7 usecs
[ 10.270282] calling percpu_counter_startup+0x0/0x40 @ 1
[ 10.275595] initcall percpu_counter_startup+0x0/0x40 returned 0 after 4 usecs
[ 10.282736] calling dynamic_debug_init+0x0/0x14f @ 1
[ 10.288155] initcall dynamic_debug_init+0x0/0x14f returned 0 after 360 usecs
[ 10.295221] calling bt8xxgpio_init+0x0/0x42 @ 1
[ 10.299842] bus: 'pci': add driver bt8xxgpio
[ 10.304430] initcall bt8xxgpio_init+0x0/0x42 returned 0 after 4478 usecs
[ 10.311140] calling pci_init+0x0/0x5b @ 1
[ 10.340282] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.345773] pci 0000:00:0b.0: Found disabled HT MSI Mapping
[ 10.351371] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.356956] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.362463] pci 0000:00:0c.0: Found disabled HT MSI Mapping
[ 10.368036] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.373659] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.379149] pci 0000:00:0d.0: Found disabled HT MSI Mapping
[ 10.384745] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.390372] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.395858] pci 0000:00:0e.0: Found disabled HT MSI Mapping
[ 10.401453] pci 0000:00:00.0: Found enabled HT MSI Mapping
[ 10.406982] pci 0000:01:00.0: Boot video device
[ 10.411546] initcall pci_init+0x0/0x5b returned 0 after 94053 usecs
[ 10.417808] calling pci_proc_init+0x0/0x90 @ 1
[ 10.422713] initcall pci_proc_init+0x0/0x90 returned 0 after 346 usecs
[ 10.429230] calling pcie_portdrv_init+0x0/0x72 @ 1
[ 10.434401] bus: 'pci_express': registered
[ 10.438496] bus: 'pci': add driver pcieport-driver
[ 10.443326] bus: 'pci': driver_probe_device: matched device 0000:00:0b.0 with driver pcieport-driver
[ 10.452463] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0b.0
[ 10.461255] alloc irq_desc for 24 on node 0
[ 10.465606] alloc kstat_irqs on node 0
[ 10.469560] pcieport-driver 0000:00:0b.0: irq 24 for MSI/MSI-X
[ 10.475416] pcieport-driver 0000:00:0b.0: setting latency timer to 64
[ 10.481869] device: '0000:00:0b.0:pcie01': device_add
[ 10.486929] bus: 'pci_express': add device 0000:00:0b.0:pcie01
[ 10.492793] PM: Adding info for pci_express:0000:00:0b.0:pcie01
[ 10.499024] driver: '0000:00:0b.0': driver_bound: bound to device 'pcieport-driver'
[ 10.506739] bus: 'pci': really_probe: bound device 0000:00:0b.0 to driver pcieport-driver
[ 10.514929] bus: 'pci': driver_probe_device: matched device 0000:00:0c.0 with driver pcieport-driver
[ 10.524068] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0c.0
[ 10.532816] alloc irq_desc for 25 on node 0
[ 10.537168] alloc kstat_irqs on node 0
[ 10.541156] pcieport-driver 0000:00:0c.0: irq 25 for MSI/MSI-X
[ 10.546991] pcieport-driver 0000:00:0c.0: setting latency timer to 64
[ 10.553449] device: '0000:00:0c.0:pcie01': device_add
[ 10.558507] bus: 'pci_express': add device 0000:00:0c.0:pcie01
[ 10.564371] PM: Adding info for pci_express:0000:00:0c.0:pcie01
[ 10.570596] driver: '0000:00:0c.0': driver_bound: bound to device 'pcieport-driver'
[ 10.578245] bus: 'pci': really_probe: bound device 0000:00:0c.0 to driver pcieport-driver
[ 10.586444] bus: 'pci': driver_probe_device: matched device 0000:00:0d.0 with driver pcieport-driver
[ 10.595576] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0d.0
[ 10.604277] alloc irq_desc for 26 on node 0
[ 10.608632] alloc kstat_irqs on node 0
[ 10.612617] pcieport-driver 0000:00:0d.0: irq 26 for MSI/MSI-X
[ 10.618446] pcieport-driver 0000:00:0d.0: setting latency timer to 64
[ 10.624905] device: '0000:00:0d.0:pcie01': device_add
[ 10.629972] bus: 'pci_express': add device 0000:00:0d.0:pcie01
[ 10.635836] PM: Adding info for pci_express:0000:00:0d.0:pcie01
[ 10.642060] driver: '0000:00:0d.0': driver_bound: bound to device 'pcieport-driver'
[ 10.649710] bus: 'pci': really_probe: bound device 0000:00:0d.0 to driver pcieport-driver
[ 10.657908] bus: 'pci': driver_probe_device: matched device 0000:00:0e.0 with driver pcieport-driver
[ 10.667041] bus: 'pci': really_probe: probing driver pcieport-driver with device 0000:00:0e.0
[ 10.675743] alloc irq_desc for 27 on node 0
[ 10.680097] alloc kstat_irqs on node 0
[ 10.684098] pcieport-driver 0000:00:0e.0: irq 27 for MSI/MSI-X
[ 10.689929] pcieport-driver 0000:00:0e.0: setting latency timer to 64
[ 10.696387] device: '0000:00:0e.0:pcie01': device_add
[ 10.701459] bus: 'pci_express': add device 0000:00:0e.0:pcie01
[ 10.707302] PM: Adding info for pci_express:0000:00:0e.0:pcie01
[ 10.713534] driver: '0000:00:0e.0': driver_bound: bound to device 'pcieport-driver'
[ 10.721205] bus: 'pci': really_probe: bound device 0000:00:0e.0 to driver pcieport-driver
[ 10.729639] initcall pcie_portdrv_init+0x0/0x72 returned 0 after 288582 usecs
[ 10.736808] calling aer_service_init+0x0/0x47 @ 1
[ 10.741610] bus: 'pci_express': add driver aer
[ 10.746303] initcall aer_service_init+0x0/0x47 returned 0 after 4581 usecs
[ 10.753184] calling genericbl_init+0x0/0x39 @ 1
[ 10.757797] bus: 'platform': add driver generic-bl
[ 10.762853] initcall genericbl_init+0x0/0x39 returned 0 after 4934 usecs
[ 10.769543] calling progearbl_init+0x0/0x7b @ 1
[ 10.774186] bus: 'platform': add driver progear-bl
[ 10.779225] Registering platform device 'progear-bl'. Parent at platform
[ 10.785936] device: 'progear-bl': device_add
[ 10.790222] bus: 'platform': add device progear-bl
[ 10.795042] PM: Adding info for platform:progear-bl
[ 10.800185] bus: 'platform': driver_probe_device: matched device progear-bl with driver progear-bl
[ 10.809131] bus: 'platform': really_probe: probing driver progear-bl with device progear-bl
[ 10.817528] ALI M7101 PMU not found.
[ 10.821167] initcall progearbl_init+0x0/0x7b returned 0 after 45878 usecs
[ 10.827950] calling kb3886_init+0x0/0x63 @ 1
[ 10.832329] initcall kb3886_init+0x0/0x63 returned -19 after 3 usecs
[ 10.838679] calling cyber2000fb_init+0x0/0xf6 @ 1
[ 10.843491] bus: 'pci': add driver CyberPro
[ 10.847942] initcall cyber2000fb_init+0x0/0xf6 returned 0 after 4347 usecs
[ 10.854864] calling savagefb_init+0x0/0x9a @ 1
[ 10.859396] bus: 'pci': add driver savagefb
[ 10.863873] initcall savagefb_init+0x0/0x9a returned 0 after 4369 usecs
[ 10.870494] calling gxfb_init+0x0/0xa7 @ 1
[ 10.874675] bus: 'pci': add driver gxfb
[ 10.878792] initcall gxfb_init+0x0/0xa7 returned 0 after 4016 usecs
[ 10.885073] calling imsttfb_init+0x0/0x12f @ 1
[ 10.889597] bus: 'pci': add driver imsttfb
[ 10.893980] initcall imsttfb_init+0x0/0x12f returned 0 after 4276 usecs
[ 10.900605] calling tridentfb_init+0x0/0x70 @ 1
[ 10.905224] bus: 'pci': add driver tridentfb
[ 10.909766] initcall tridentfb_init+0x0/0x70 returned 0 after 4432 usecs
[ 10.916482] calling arkfb_init+0x0/0xa9 @ 1
[ 10.920760] bus: 'pci': add driver arkfb
[ 10.924986] initcall arkfb_init+0x0/0xa9 returned 0 after 4127 usecs
[ 10.931353] calling sstfb_init+0x0/0x70 @ 1
[ 10.935619] bus: 'pci': add driver sstfb
[ 10.939816] initcall sstfb_init+0x0/0x70 returned 0 after 4095 usecs
[ 10.946181] calling s1d13xxxfb_init+0x0/0x54 @ 1
[ 10.950893] bus: 'platform': add driver s1d13xxxfb
[ 10.955923] initcall s1d13xxxfb_init+0x0/0x54 returned 0 after 4912 usecs
[ 10.962715] calling xenfb_init+0x0/0x6b @ 1
[ 10.966985] initcall xenfb_init+0x0/0x6b returned -19 after 1 usecs
[ 10.973263] calling mb862xxfb_init+0x0/0x42 @ 1
[ 10.977877] bus: 'pci': add driver mb862xxfb
[ 10.982428] initcall mb862xxfb_init+0x0/0x42 returned 0 after 4439 usecs
[ 10.989124] calling efifb_init+0x0/0xb0 @ 1
[ 10.993423] initcall efifb_init+0x0/0xb0 returned -19 after 6 usecs
[ 10.999680] calling acpi_reserve_resources+0x0/0x112 @ 1
[ 11.005110] initcall acpi_reserve_resources+0x0/0x112 returned 0 after 12 usecs
[ 11.012425] calling irqrouter_init_sysfs+0x0/0x5f @ 1
[ 11.017559] Registering sysdev class 'irqrouter'
[ 11.022421] Registering sys device of class 'irqrouter'
[ 11.027644] Registering sys device 'irqrouter0'
[ 11.032411] initcall irqrouter_init_sysfs+0x0/0x5f returned 0 after 14498 usecs
[ 11.039711] calling acpi_processor_init+0x0/0x123 @ 1
[ 11.044925] bus: 'acpi': add driver processor
[ 11.049294] bus: 'acpi': driver_probe_device: matched device LNXCPU:00 with driver processor
[ 11.057736] bus: 'acpi': really_probe: probing driver processor with device LNXCPU:00
[ 11.065870] device: 'cooling_device0': device_add
[ 11.070623] PM: Adding info for No Bus:cooling_device0
[ 11.076144] processor LNXCPU:00: registered as cooling_device0
[ 11.082008] driver: 'LNXCPU:00': driver_bound: bound to device 'processor'
[ 11.088875] bus: 'acpi': really_probe: bound device LNXCPU:00 to driver processor
[ 11.096376] bus: 'acpi': driver_probe_device: matched device LNXCPU:01 with driver processor
[ 11.104822] bus: 'acpi': really_probe: probing driver processor with device LNXCPU:01
[ 11.112814] device: 'cooling_device1': device_add
[ 11.117547] PM: Adding info for No Bus:cooling_device1
[ 11.122937] processor LNXCPU:01: registered as cooling_device1
[ 11.128772] driver: 'LNXCPU:01': driver_bound: bound to device 'processor'
[ 11.135660] bus: 'acpi': really_probe: bound device LNXCPU:01 to driver processor
[ 11.143526] initcall acpi_processor_init+0x0/0x123 returned 0 after 96337 usecs
[ 11.150843] calling acpi_container_init+0x0/0x65 @ 1
[ 11.155889] bus: 'acpi': add driver container
[ 11.178433] initcall acpi_container_init+0x0/0x65 returned 0 after 22016 usecs
[ 11.185667] calling acpi_smb_hc_init+0x0/0x3f @ 1
[ 11.190467] bus: 'acpi': add driver smbus_hc
[ 11.195040] initcall acpi_smb_hc_init+0x0/0x3f returned 0 after 4465 usecs
[ 11.201925] calling acpi_sbs_init+0x0/0x76 @ 1
[ 11.206563] bus: 'acpi': add driver sbs
[ 11.210705] initcall acpi_sbs_init+0x0/0x76 returned 0 after 4150 usecs
[ 11.217307] calling hypervisor_subsys_init+0x0/0x4c @ 1
[ 11.222643] initcall hypervisor_subsys_init+0x0/0x4c returned -19 after 2 usecs
[ 11.229943] calling hyper_sysfs_init+0x0/0x118 @ 1
[ 11.234844] initcall hyper_sysfs_init+0x0/0x118 returned -19 after 1 usecs
[ 11.241728] calling rand_initialize+0x0/0x53 @ 1
[ 11.246470] initcall rand_initialize+0x0/0x53 returned 0 after 39 usecs
[ 11.253092] calling tty_init+0x0/0x11c @ 1
[ 11.257285] device: 'tty': device_add
[ 11.260994] PM: Adding info for No Bus:tty
[ 11.265367] device: 'console': device_add
[ 11.269398] PM: Adding info for No Bus:console
[ 11.274091] device: 'tty0': device_add
[ 11.277876] PM: Adding info for No Bus:tty0
[ 11.282303] device class 'vc': registering
[ 11.286642] device: 'vcs': device_add
[ 11.290357] PM: Adding info for No Bus:vcs
[ 11.294723] device: 'vcsa': device_add
[ 11.298501] PM: Adding info for No Bus:vcsa
[ 11.302932] device: 'vcs1': device_add
[ 11.306709] PM: Adding info for No Bus:vcs1
[ 11.311137] device: 'vcsa1': device_add
[ 11.315012] PM: Adding info for No Bus:vcsa1
[ 11.319563] device: 'tty1': device_add
[ 11.323358] PM: Adding info for No Bus:tty1
[ 11.327780] device: 'tty2': device_add
[ 11.331572] PM: Adding info for No Bus:tty2
[ 11.335978] device: 'tty3': device_add
[ 11.339764] PM: Adding info for No Bus:tty3
[ 11.344191] device: 'tty4': device_add
[ 11.347971] PM: Adding info for No Bus:tty4
[ 11.352401] device: 'tty5': device_add
[ 11.356178] PM: Adding info for No Bus:tty5
[ 11.360601] device: 'tty6': device_add
[ 11.364379] PM: Adding info for No Bus:tty6
[ 11.368789] device: 'tty7': device_add
[ 11.372594] PM: Adding info for No Bus:tty7
[ 11.377017] device: 'tty8': device_add
[ 11.380808] PM: Adding info for No Bus:tty8
[ 11.385223] device: 'tty9': device_add
[ 11.388999] PM: Adding info for No Bus:tty9
[ 11.393425] device: 'tty10': device_add
[ 11.397295] PM: Adding info for No Bus:tty10
[ 11.401807] device: 'tty11': device_add
[ 11.405675] PM: Adding info for No Bus:tty11
[ 11.410216] device: 'tty12': device_add
[ 11.414083] PM: Adding info for No Bus:tty12
[ 11.418587] device: 'tty13': device_add
[ 11.422471] PM: Adding info for No Bus:tty13
[ 11.426981] device: 'tty14': device_add
[ 11.430873] PM: Adding info for No Bus:tty14
[ 11.435385] device: 'tty15': device_add
[ 11.439250] PM: Adding info for No Bus:tty15
[ 11.443839] device: 'tty16': device_add
[ 11.447700] PM: Adding info for No Bus:tty16
[ 11.452215] device: 'tty17': device_add
[ 11.456079] PM: Adding info for No Bus:tty17
[ 11.460594] device: 'tty18': device_add
[ 11.464469] PM: Adding info for No Bus:tty18
[ 11.469008] device: 'tty19': device_add
[ 11.472895] PM: Adding info for No Bus:tty19
[ 11.477389] device: 'tty20': device_add
[ 11.481271] PM: Adding info for No Bus:tty20
[ 11.485765] device: 'tty21': device_add
[ 11.489629] PM: Adding info for No Bus:tty21
[ 11.494140] device: 'tty22': device_add
[ 11.498010] PM: Adding info for No Bus:tty22
[ 11.502520] device: 'tty23': device_add
[ 11.506393] PM: Adding info for No Bus:tty23
[ 11.510900] device: 'tty24': device_add
[ 11.514762] PM: Adding info for No Bus:tty24
[ 11.519258] device: 'tty25': device_add
[ 11.523141] PM: Adding info for No Bus:tty25
[ 11.527649] device: 'tty26': device_add
[ 11.531540] PM: Adding info for No Bus:tty26
[ 11.536041] device: 'tty27': device_add
[ 11.539904] PM: Adding info for No Bus:tty27
[ 11.544416] device: 'tty28': device_add
[ 11.548277] PM: Adding info for No Bus:tty28
[ 11.552800] device: 'tty29': device_add
[ 11.556676] PM: Adding info for No Bus:tty29
[ 11.561185] device: 'tty30': device_add
[ 11.565047] PM: Adding info for No Bus:tty30
[ 11.569543] device: 'tty31': device_add
[ 11.573426] PM: Adding info for No Bus:tty31
[ 11.577922] device: 'tty32': device_add
[ 11.581798] PM: Adding info for No Bus:tty32
[ 11.586295] device: 'tty33': device_add
[ 11.590188] PM: Adding info for No Bus:tty33
[ 11.594684] device: 'tty34': device_add
[ 11.598552] PM: Adding info for No Bus:tty34
[ 11.603066] device: 'tty35': device_add
[ 11.606933] PM: Adding info for No Bus:tty35
[ 11.611455] device: 'tty36': device_add
[ 11.615323] PM: Adding info for No Bus:tty36
[ 11.619818] device: 'tty37': device_add
[ 11.623712] PM: Adding info for No Bus:tty37
[ 11.628218] device: 'tty38': device_add
[ 11.632100] PM: Adding info for No Bus:tty38
[ 11.636599] device: 'tty39': device_add
[ 11.640481] PM: Adding info for No Bus:tty39
[ 11.644979] device: 'tty40': device_add
[ 11.648855] PM: Adding info for No Bus:tty40
[ 11.653364] device: 'tty41': device_add
[ 11.657226] PM: Adding info for No Bus:tty41
[ 11.661770] device: 'tty42': device_add
[ 11.665633] PM: Adding info for No Bus:tty42
[ 11.670140] device: 'tty43': device_add
[ 11.674006] PM: Adding info for No Bus:tty43
[ 11.678512] device: 'tty44': device_add
[ 11.682405] PM: Adding info for No Bus:tty44
[ 11.686905] device: 'tty45': device_add
[ 11.690783] PM: Adding info for No Bus:tty45
[ 11.695277] device: 'tty46': device_add
[ 11.699139] PM: Adding info for No Bus:tty46
[ 11.703689] device: 'tty47': device_add
[ 11.707556] PM: Adding info for No Bus:tty47
[ 11.712071] device: 'tty48': device_add
[ 11.715953] PM: Adding info for No Bus:tty48
[ 11.720467] device: 'tty49': device_add
[ 11.724333] PM: Adding info for No Bus:tty49
[ 11.728835] device: 'tty50': device_add
[ 11.732725] PM: Adding info for No Bus:tty50
[ 11.737220] device: 'tty51': device_add
[ 11.741101] PM: Adding info for No Bus:tty51
[ 11.745596] device: 'tty52': device_add
[ 11.749477] PM: Adding info for No Bus:tty52
[ 11.753996] device: 'tty53': device_add
[ 11.757864] PM: Adding info for No Bus:tty53
[ 11.762372] device: 'tty54': device_add
[ 11.766246] PM: Adding info for No Bus:tty54
[ 11.770754] device: 'tty55': device_add
[ 11.774627] PM: Adding info for No Bus:tty55
[ 11.779120] device: 'tty56': device_add
[ 11.783005] PM: Adding info for No Bus:tty56
[ 11.787516] device: 'tty57': device_add
[ 11.791395] PM: Adding info for No Bus:tty57
[ 11.795889] device: 'tty58': device_add
[ 11.799751] PM: Adding info for No Bus:tty58
[ 11.804259] device: 'tty59': device_add
[ 11.808133] PM: Adding info for No Bus:tty59
[ 11.812780] device: 'tty60': device_add
[ 11.816645] PM: Adding info for No Bus:tty60
[ 11.821165] device: 'tty61': device_add
[ 11.825044] PM: Adding info for No Bus:tty61
[ 11.829561] device: 'tty62': device_add
[ 11.833447] PM: Adding info for No Bus:tty62
[ 11.837939] device: 'tty63': device_add
[ 11.841863] PM: Adding info for No Bus:tty63
[ 11.846536] initcall tty_init+0x0/0x11c returned 0 after 575447 usecs
[ 11.853019] calling pty_init+0x0/0x39 @ 1
[ 11.857176] device: 'ptyp0': device_add
[ 11.861058] PM: Adding info for No Bus:ptyp0
[ 11.865604] device: 'ptyp1': device_add
[ 11.869475] PM: Adding info for No Bus:ptyp1
[ 11.873998] device: 'ptyp2': device_add
[ 11.877871] PM: Adding info for No Bus:ptyp2
[ 11.882381] device: 'ptyp3': device_add
[ 11.886244] PM: Adding info for No Bus:ptyp3
[ 11.890758] device: 'ptyp4': device_add
[ 11.894624] PM: Adding info for No Bus:ptyp4
[ 11.899120] device: 'ptyp5': device_add
[ 11.903006] PM: Adding info for No Bus:ptyp5
[ 11.907498] device: 'ptyp6': device_add
[ 11.911384] PM: Adding info for No Bus:ptyp6
[ 11.915891] device: 'ptyp7': device_add
[ 11.919758] PM: Adding info for No Bus:ptyp7
[ 11.924267] device: 'ptyp8': device_add
[ 11.928129] PM: Adding info for No Bus:ptyp8
[ 11.932738] device: 'ptyp9': device_add
[ 11.936605] PM: Adding info for No Bus:ptyp9
[ 11.941129] device: 'ptypa': device_add
[ 11.945017] PM: Adding info for No Bus:ptypa
[ 11.949525] device: 'ptypb': device_add
[ 11.953411] PM: Adding info for No Bus:ptypb
[ 11.957907] device: 'ptypc': device_add
[ 11.961789] PM: Adding info for No Bus:ptypc
[ 11.966287] device: 'ptypd': device_add
[ 11.970205] PM: Adding info for No Bus:ptypd
[ 11.974728] device: 'ptype': device_add
[ 11.978606] PM: Adding info for No Bus:ptype
[ 11.983126] device: 'ptypf': device_add
[ 11.986995] PM: Adding info for No Bus:ptypf
[ 11.991501] device: 'ptyq0': device_add
[ 11.995365] PM: Adding info for No Bus:ptyq0
[ 11.999863] device: 'ptyq1': device_add
[ 12.003761] PM: Adding info for No Bus:ptyq1
[ 12.008262] device: 'ptyq2': device_add
[ 12.012143] PM: Adding info for No Bus:ptyq2
[ 12.016648] device: 'ptyq3': device_add
[ 12.020535] PM: Adding info for No Bus:ptyq3
[ 12.025029] device: 'ptyq4': device_add
[ 12.028898] PM: Adding info for No Bus:ptyq4
[ 12.033408] device: 'ptyq5': device_add
[ 12.037280] PM: Adding info for No Bus:ptyq5
[ 12.041795] device: 'ptyq6': device_add
[ 12.045658] PM: Adding info for No Bus:ptyq6
[ 12.050175] device: 'ptyq7': device_add
[ 12.054043] PM: Adding info for No Bus:ptyq7
[ 12.058555] device: 'ptyq8': device_add
[ 12.062438] PM: Adding info for No Bus:ptyq8
[ 12.066938] device: 'ptyq9': device_add
[ 12.070826] PM: Adding info for No Bus:ptyq9
[ 12.075323] device: 'ptyqa': device_add
[ 12.079191] PM: Adding info for No Bus:ptyqa
[ 12.083773] device: 'ptyqb': device_add
[ 12.087642] PM: Adding info for No Bus:ptyqb
[ 12.092185] device: 'ptyqc': device_add
[ 12.096058] PM: Adding info for No Bus:ptyqc
[ 12.100583] device: 'ptyqd': device_add
[ 12.104456] PM: Adding info for No Bus:ptyqd
[ 12.108955] device: 'ptyqe': device_add
[ 12.112836] PM: Adding info for No Bus:ptyqe
[ 12.117339] device: 'ptyqf': device_add
[ 12.121223] PM: Adding info for No Bus:ptyqf
[ 12.125721] device: 'ptyr0': device_add
[ 12.129596] PM: Adding info for No Bus:ptyr0
[ 12.134106] device: 'ptyr1': device_add
[ 12.137979] PM: Adding info for No Bus:ptyr1
[ 12.142494] device: 'ptyr2': device_add
[ 12.146359] PM: Adding info for No Bus:ptyr2
[ 12.150872] device: 'ptyr3': device_add
[ 12.154751] PM: Adding info for No Bus:ptyr3
[ 12.159249] device: 'ptyr4': device_add
[ 12.163158] PM: Adding info for No Bus:ptyr4
[ 12.167658] device: 'ptyr5': device_add
[ 12.171543] PM: Adding info for No Bus:ptyr5
[ 12.176039] device: 'ptyr6': device_add
[ 12.179907] PM: Adding info for No Bus:ptyr6
[ 12.184423] device: 'ptyr7': device_add
[ 12.188287] PM: Adding info for No Bus:ptyr7
[ 12.192794] device: 'ptyr8': device_add
[ 12.196671] PM: Adding info for No Bus:ptyr8
[ 12.201184] device: 'ptyr9': device_add
[ 12.205049] PM: Adding info for No Bus:ptyr9
[ 12.209565] device: 'ptyra': device_add
[ 12.213448] PM: Adding info for No Bus:ptyra
[ 12.217952] device: 'ptyrb': device_add
[ 12.221846] PM: Adding info for No Bus:ptyrb
[ 12.226340] device: 'ptyrc': device_add
[ 12.230226] PM: Adding info for No Bus:ptyrc
[ 12.234718] device: 'ptyrd': device_add
[ 12.238591] PM: Adding info for No Bus:ptyrd
[ 12.243108] device: 'ptyre': device_add
[ 12.246979] PM: Adding info for No Bus:ptyre
[ 12.251495] device: 'ptyrf': device_add
[ 12.255371] PM: Adding info for No Bus:ptyrf
[ 12.259870] device: 'ptys0': device_add
[ 12.263768] PM: Adding info for No Bus:ptys0
[ 12.268270] device: 'ptys1': device_add
[ 12.272154] PM: Adding info for No Bus:ptys1
[ 12.276652] device: 'ptys2': device_add
[ 12.280535] PM: Adding info for No Bus:ptys2
[ 12.285030] device: 'ptys3': device_add
[ 12.288909] PM: Adding info for No Bus:ptys3
[ 12.293423] device: 'ptys4': device_add
[ 12.297289] PM: Adding info for No Bus:ptys4
[ 12.301842] device: 'ptys5': device_add
[ 12.305714] PM: Adding info for No Bus:ptys5
[ 12.310227] device: 'ptys6': device_add
[ 12.314112] PM: Adding info for No Bus:ptys6
[ 12.318625] device: 'ptys7': device_add
[ 12.322510] PM: Adding info for No Bus:ptys7
[ 12.327031] device: 'ptys8': device_add
[ 12.330917] PM: Adding info for No Bus:ptys8
[ 12.335411] device: 'ptys9': device_add
[ 12.339279] PM: Adding info for No Bus:ptys9
[ 12.343795] device: 'ptysa': device_add
[ 12.347669] PM: Adding info for No Bus:ptysa
[ 12.352184] device: 'ptysb': device_add
[ 12.356051] PM: Adding info for No Bus:ptysb
[ 12.360567] device: 'ptysc': device_add
[ 12.364439] PM: Adding info for No Bus:ptysc
[ 12.368941] device: 'ptysd': device_add
[ 12.372839] PM: Adding info for No Bus:ptysd
[ 12.377340] device: 'ptyse': device_add
[ 12.381284] PM: Adding info for No Bus:ptyse
[ 12.385780] device: 'ptysf': device_add
[ 12.389668] PM: Adding info for No Bus:ptysf
[ 12.394220] device: 'ptyt0': device_add
[ 12.398097] PM: Adding info for No Bus:ptyt0
[ 12.402721] device: 'ptyt1': device_add
[ 12.406593] PM: Adding info for No Bus:ptyt1
[ 12.411106] device: 'ptyt2': device_add
[ 12.414985] PM: Adding info for No Bus:ptyt2
[ 12.419491] device: 'ptyt3': device_add
[ 12.423383] PM: Adding info for No Bus:ptyt3
[ 12.427884] device: 'ptyt4': device_add
[ 12.431769] PM: Adding info for No Bus:ptyt4
[ 12.436262] device: 'ptyt5': device_add
[ 12.440161] PM: Adding info for No Bus:ptyt5
[ 12.444678] device: 'ptyt6': device_add
[ 12.448552] PM: Adding info for No Bus:ptyt6
[ 12.453063] device: 'ptyt7': device_add
[ 12.456931] PM: Adding info for No Bus:ptyt7
[ 12.461444] device: 'ptyt8': device_add
[ 12.465311] PM: Adding info for No Bus:ptyt8
[ 12.469812] device: 'ptyt9': device_add
[ 12.473710] PM: Adding info for No Bus:ptyt9
[ 12.478221] device: 'ptyta': device_add
[ 12.482106] PM: Adding info for No Bus:ptyta
[ 12.486599] device: 'ptytb': device_add
[ 12.490487] PM: Adding info for No Bus:ptytb
[ 12.494981] device: 'ptytc': device_add
[ 12.498851] PM: Adding info for No Bus:ptytc
[ 12.503365] device: 'ptytd': device_add
[ 12.507242] PM: Adding info for No Bus:ptytd
[ 12.511755] device: 'ptyte': device_add
[ 12.515623] PM: Adding info for No Bus:ptyte
[ 12.520157] device: 'ptytf': device_add
[ 12.524029] PM: Adding info for No Bus:ptytf
[ 12.528548] device: 'ptyu0': device_add
[ 12.532446] PM: Adding info for No Bus:ptyu0
[ 12.536950] device: 'ptyu1': device_add
[ 12.540842] PM: Adding info for No Bus:ptyu1
[ 12.545340] device: 'ptyu2': device_add
[ 12.549224] PM: Adding info for No Bus:ptyu2
[ 12.553784] device: 'ptyu3': device_add
[ 12.557656] PM: Adding info for No Bus:ptyu3
[ 12.562180] device: 'ptyu4': device_add
[ 12.566063] PM: Adding info for No Bus:ptyu4
[ 12.570583] device: 'ptyu5': device_add
[ 12.574452] PM: Adding info for No Bus:ptyu5
[ 12.578951] device: 'ptyu6': device_add
[ 12.582852] PM: Adding info for No Bus:ptyu6
[ 12.587389] device: 'ptyu7': device_add
[ 12.591272] PM: Adding info for No Bus:ptyu7
[ 12.595764] device: 'ptyu8': device_add
[ 12.599647] PM: Adding info for No Bus:ptyu8
[ 12.604159] device: 'ptyu9': device_add
[ 12.608026] PM: Adding info for No Bus:ptyu9
[ 12.612632] device: 'ptyua': device_add
[ 12.616502] PM: Adding info for No Bus:ptyua
[ 12.621039] device: 'ptyub': device_add
[ 12.624913] PM: Adding info for No Bus:ptyub
[ 12.629414] device: 'ptyuc': device_add
[ 12.633313] PM: Adding info for No Bus:ptyuc
[ 12.637808] device: 'ptyud': device_add
[ 12.641696] PM: Adding info for No Bus:ptyud
[ 12.646197] device: 'ptyue': device_add
[ 12.650120] PM: Adding info for No Bus:ptyue
[ 12.654630] device: 'ptyuf': device_add
[ 12.658511] PM: Adding info for No Bus:ptyuf
[ 12.663028] device: 'ptyv0': device_add
[ 12.666901] PM: Adding info for No Bus:ptyv0
[ 12.671411] device: 'ptyv1': device_add
[ 12.675281] PM: Adding info for No Bus:ptyv1
[ 12.679792] device: 'ptyv2': device_add
[ 12.683683] PM: Adding info for No Bus:ptyv2
[ 12.688176] device: 'ptyv3': device_add
[ 12.692086] PM: Adding info for No Bus:ptyv3
[ 12.696585] device: 'ptyv4': device_add
[ 12.700473] PM: Adding info for No Bus:ptyv4
[ 12.704973] device: 'ptyv5': device_add
[ 12.708846] PM: Adding info for No Bus:ptyv5
[ 12.713360] device: 'ptyv6': device_add
[ 12.717228] PM: Adding info for No Bus:ptyv6
[ 12.721748] device: 'ptyv7': device_add
[ 12.725629] PM: Adding info for No Bus:ptyv7
[ 12.730123] device: 'ptyv8': device_add
[ 12.733997] PM: Adding info for No Bus:ptyv8
[ 12.738509] device: 'ptyv9': device_add
[ 12.742396] PM: Adding info for No Bus:ptyv9
[ 12.746900] device: 'ptyva': device_add
[ 12.750794] PM: Adding info for No Bus:ptyva
[ 12.755292] device: 'ptyvb': device_add
[ 12.759167] PM: Adding info for No Bus:ptyvb
[ 12.763721] device: 'ptyvc': device_add
[ 12.767591] PM: Adding info for No Bus:ptyvc
[ 12.772099] device: 'ptyvd': device_add
[ 12.775971] PM: Adding info for No Bus:ptyvd
[ 12.780489] device: 'ptyve': device_add
[ 12.784370] PM: Adding info for No Bus:ptyve
[ 12.788866] device: 'ptyvf': device_add
[ 12.792761] PM: Adding info for No Bus:ptyvf
[ 12.797269] device: 'ptyw0': device_add
[ 12.801165] PM: Adding info for No Bus:ptyw0
[ 12.805666] device: 'ptyw1': device_add
[ 12.809537] PM: Adding info for No Bus:ptyw1
[ 12.814048] device: 'ptyw2': device_add
[ 12.817927] PM: Adding info for No Bus:ptyw2
[ 12.822447] device: 'ptyw3': device_add
[ 12.826326] PM: Adding info for No Bus:ptyw3
[ 12.830838] device: 'ptyw4': device_add
[ 12.834715] PM: Adding info for No Bus:ptyw4
[ 12.839209] device: 'ptyw5': device_add
[ 12.843093] PM: Adding info for No Bus:ptyw5
[ 12.847590] device: 'ptyw6': device_add
[ 12.851492] PM: Adding info for No Bus:ptyw6
[ 12.855990] device: 'ptyw7': device_add
[ 12.859864] PM: Adding info for No Bus:ptyw7
[ 12.864374] device: 'ptyw8': device_add
[ 12.868246] PM: Adding info for No Bus:ptyw8
[ 12.872761] device: 'ptyw9': device_add
[ 12.876644] PM: Adding info for No Bus:ptyw9
[ 12.881157] device: 'ptywa': device_add
[ 12.885034] PM: Adding info for No Bus:ptywa
[ 12.889530] device: 'ptywb': device_add
[ 12.893421] PM: Adding info for No Bus:ptywb
[ 12.897919] device: 'ptywc': device_add
[ 12.901810] PM: Adding info for No Bus:ptywc
[ 12.906329] device: 'ptywd': device_add
[ 12.910230] PM: Adding info for No Bus:ptywd
[ 12.914741] device: 'ptywe': device_add
[ 12.918619] PM: Adding info for No Bus:ptywe
[ 12.923145] device: 'ptywf': device_add
[ 12.927017] PM: Adding info for No Bus:ptywf
[ 12.931567] device: 'ptyx0': device_add
[ 12.935450] PM: Adding info for No Bus:ptyx0
[ 12.939956] device: 'ptyx1': device_add
[ 12.943855] PM: Adding info for No Bus:ptyx1
[ 12.948352] device: 'ptyx2': device_add
[ 12.952242] PM: Adding info for No Bus:ptyx2
[ 12.956741] device: 'ptyx3': device_add
[ 12.960631] PM: Adding info for No Bus:ptyx3
[ 12.965128] device: 'ptyx4': device_add
[ 12.969015] PM: Adding info for No Bus:ptyx4
[ 12.973526] device: 'ptyx5': device_add
[ 12.977405] PM: Adding info for No Bus:ptyx5
[ 12.981912] device: 'ptyx6': device_add
[ 12.985785] PM: Adding info for No Bus:ptyx6
[ 12.990296] device: 'ptyx7': device_add
[ 12.994172] PM: Adding info for No Bus:ptyx7
[ 12.998669] device: 'ptyx8': device_add
[ 13.002577] PM: Adding info for No Bus:ptyx8
[ 13.007077] device: 'ptyx9': device_add
[ 13.010980] PM: Adding info for No Bus:ptyx9
[ 13.015476] device: 'ptyxa': device_add
[ 13.019353] PM: Adding info for No Bus:ptyxa
[ 13.023914] device: 'ptyxb': device_add
[ 13.027794] PM: Adding info for No Bus:ptyxb
[ 13.032327] device: 'ptyxc': device_add
[ 13.036211] PM: Adding info for No Bus:ptyxc
[ 13.040725] device: 'ptyxd': device_add
[ 13.044596] PM: Adding info for No Bus:ptyxd
[ 13.049093] device: 'ptyxe': device_add
[ 13.052991] PM: Adding info for No Bus:ptyxe
[ 13.057489] device: 'ptyxf': device_add
[ 13.061382] PM: Adding info for No Bus:ptyxf
[ 13.065880] device: 'ptyy0': device_add
[ 13.069767] PM: Adding info for No Bus:ptyy0
[ 13.074283] device: 'ptyy1': device_add
[ 13.078154] PM: Adding info for No Bus:ptyy1
[ 13.082807] device: 'ptyy2': device_add
[ 13.086685] PM: Adding info for No Bus:ptyy2
[ 13.091211] device: 'ptyy3': device_add
[ 13.095101] PM: Adding info for No Bus:ptyy3
[ 13.099610] device: 'ptyy4': device_add
[ 13.103542] PM: Adding info for No Bus:ptyy4
[ 13.108055] device: 'ptyy5': device_add
[ 13.111945] PM: Adding info for No Bus:ptyy5
[ 13.116442] device: 'ptyy6': device_add
[ 13.120382] PM: Adding info for No Bus:ptyy6
[ 13.124900] device: 'ptyy7': device_add
[ 13.128787] PM: Adding info for No Bus:ptyy7
[ 13.133313] device: 'ptyy8': device_add
[ 13.137192] PM: Adding info for No Bus:ptyy8
[ 13.141735] device: 'ptyy9': device_add
[ 13.145609] PM: Adding info for No Bus:ptyy9
[ 13.150125] device: 'ptyya': device_add
[ 13.153998] PM: Adding info for No Bus:ptyya
[ 13.158511] device: 'ptyyb': device_add
[ 13.162418] PM: Adding info for No Bus:ptyyb
[ 13.166923] device: 'ptyyc': device_add
[ 13.170818] PM: Adding info for No Bus:ptyyc
[ 13.175315] device: 'ptyyd': device_add
[ 13.179192] PM: Adding info for No Bus:ptyyd
[ 13.183756] device: 'ptyye': device_add
[ 13.187644] PM: Adding info for No Bus:ptyye
[ 13.192162] device: 'ptyyf': device_add
[ 13.196041] PM: Adding info for No Bus:ptyyf
[ 13.200563] device: 'ptyz0': device_add
[ 13.204438] PM: Adding info for No Bus:ptyz0
[ 13.208940] device: 'ptyz1': device_add
[ 13.212838] PM: Adding info for No Bus:ptyz1
[ 13.217342] device: 'ptyz2': device_add
[ 13.221242] PM: Adding info for No Bus:ptyz2
[ 13.225746] device: 'ptyz3': device_add
[ 13.229636] PM: Adding info for No Bus:ptyz3
[ 13.234148] device: 'ptyz4': device_add
[ 13.238022] PM: Adding info for No Bus:ptyz4
[ 13.242630] device: 'ptyz5': device_add
[ 13.246506] PM: Adding info for No Bus:ptyz5
[ 13.251034] device: 'ptyz6': device_add
[ 13.254926] PM: Adding info for No Bus:ptyz6
[ 13.259429] device: 'ptyz7': device_add
[ 13.263324] PM: Adding info for No Bus:ptyz7
[ 13.267836] device: 'ptyz8': device_add
[ 13.271727] PM: Adding info for No Bus:ptyz8
[ 13.276222] device: 'ptyz9': device_add
[ 13.280151] PM: Adding info for No Bus:ptyz9
[ 13.284653] device: 'ptyza': device_add
[ 13.288542] PM: Adding info for No Bus:ptyza
[ 13.293060] device: 'ptyzb': device_add
[ 13.296939] PM: Adding info for No Bus:ptyzb
[ 13.301453] device: 'ptyzc': device_add
[ 13.305328] PM: Adding info for No Bus:ptyzc
[ 13.309829] device: 'ptyzd': device_add
[ 13.313739] PM: Adding info for No Bus:ptyzd
[ 13.318234] device: 'ptyze': device_add
[ 13.322143] PM: Adding info for No Bus:ptyze
[ 13.326650] device: 'ptyzf': device_add
[ 13.330549] PM: Adding info for No Bus:ptyzf
[ 13.335062] device: 'ptya0': device_add
[ 13.338938] PM: Adding info for No Bus:ptya0
[ 13.343453] device: 'ptya1': device_add
[ 13.347338] PM: Adding info for No Bus:ptya1
[ 13.351850] device: 'ptya2': device_add
[ 13.355724] PM: Adding info for No Bus:ptya2
[ 13.360238] device: 'ptya3': device_add
[ 13.364114] PM: Adding info for No Bus:ptya3
[ 13.368615] device: 'ptya4': device_add
[ 13.372512] PM: Adding info for No Bus:ptya4
[ 13.377014] device: 'ptya5': device_add
[ 13.380920] PM: Adding info for No Bus:ptya5
[ 13.385436] device: 'ptya6': device_add
[ 13.389319] PM: Adding info for No Bus:ptya6
[ 13.393836] device: 'ptya7': device_add
[ 13.397716] PM: Adding info for No Bus:ptya7
[ 13.402229] device: 'ptya8': device_add
[ 13.406115] PM: Adding info for No Bus:ptya8
[ 13.410628] device: 'ptya9': device_add
[ 13.414513] PM: Adding info for No Bus:ptya9
[ 13.419011] device: 'ptyaa': device_add
[ 13.422907] PM: Adding info for No Bus:ptyaa
[ 13.427410] device: 'ptyab': device_add
[ 13.431308] PM: Adding info for No Bus:ptyab
[ 13.435809] device: 'ptyac': device_add
[ 13.439717] PM: Adding info for No Bus:ptyac
[ 13.444274] device: 'ptyad': device_add
[ 13.448157] PM: Adding info for No Bus:ptyad
[ 13.452803] device: 'ptyae': device_add
[ 13.456685] PM: Adding info for No Bus:ptyae
[ 13.461209] device: 'ptyaf': device_add
[ 13.465093] PM: Adding info for No Bus:ptyaf
[ 13.469594] device: 'ptyb0': device_add
[ 13.473500] PM: Adding info for No Bus:ptyb0
[ 13.478001] device: 'ptyb1': device_add
[ 13.481931] PM: Adding info for No Bus:ptyb1
[ 13.486439] device: 'ptyb2': device_add
[ 13.490335] PM: Adding info for No Bus:ptyb2
[ 13.494827] device: 'ptyb3': device_add
[ 13.498710] PM: Adding info for No Bus:ptyb3
[ 13.503278] device: 'ptyb4': device_add
[ 13.507171] PM: Adding info for No Bus:ptyb4
[ 13.511688] device: 'ptyb5': device_add
[ 13.515566] PM: Adding info for No Bus:ptyb5
[ 13.520064] device: 'ptyb6': device_add
[ 13.523946] PM: Adding info for No Bus:ptyb6
[ 13.528470] device: 'ptyb7': device_add
[ 13.532436] PM: Adding info for No Bus:ptyb7
[ 13.536936] device: 'ptyb8': device_add
[ 13.540846] PM: Adding info for No Bus:ptyb8
[ 13.545345] device: 'ptyb9': device_add
[ 13.549248] PM: Adding info for No Bus:ptyb9
[ 13.553801] device: 'ptyba': device_add
[ 13.557679] PM: Adding info for No Bus:ptyba
[ 13.562190] device: 'ptybb': device_add
[ 13.566078] PM: Adding info for No Bus:ptybb
[ 13.570596] device: 'ptybc': device_add
[ 13.574475] PM: Adding info for No Bus:ptybc
[ 13.578971] device: 'ptybd': device_add
[ 13.582873] PM: Adding info for No Bus:ptybd
[ 13.587372] device: 'ptybe': device_add
[ 13.591268] PM: Adding info for No Bus:ptybe
[ 13.595768] device: 'ptybf': device_add
[ 13.599661] PM: Adding info for No Bus:ptybf
[ 13.604174] device: 'ptyc0': device_add
[ 13.608058] PM: Adding info for No Bus:ptyc0
[ 13.612659] device: 'ptyc1': device_add
[ 13.616542] PM: Adding info for No Bus:ptyc1
[ 13.621070] device: 'ptyc2': device_add
[ 13.624959] PM: Adding info for No Bus:ptyc2
[ 13.629466] device: 'ptyc3': device_add
[ 13.633366] PM: Adding info for No Bus:ptyc3
[ 13.637862] device: 'ptyc4': device_add
[ 13.641760] PM: Adding info for No Bus:ptyc4
[ 13.646253] device: 'ptyc5': device_add
[ 13.650150] PM: Adding info for No Bus:ptyc5
[ 13.654649] device: 'ptyc6': device_add
[ 13.658554] PM: Adding info for No Bus:ptyc6
[ 13.663071] device: 'ptyc7': device_add
[ 13.666949] PM: Adding info for No Bus:ptyc7
[ 13.671459] device: 'ptyc8': device_add
[ 13.675337] PM: Adding info for No Bus:ptyc8
[ 13.679836] device: 'ptyc9': device_add
[ 13.683735] PM: Adding info for No Bus:ptyc9
[ 13.688234] device: 'ptyca': device_add
[ 13.692142] PM: Adding info for No Bus:ptyca
[ 13.696641] device: 'ptycb': device_add
[ 13.700540] PM: Adding info for No Bus:ptycb
[ 13.705037] device: 'ptycc': device_add
[ 13.708932] PM: Adding info for No Bus:ptycc
[ 13.713441] device: 'ptycd': device_add
[ 13.717320] PM: Adding info for No Bus:ptycd
[ 13.721869] device: 'ptyce': device_add
[ 13.725763] PM: Adding info for No Bus:ptyce
[ 13.730282] device: 'ptycf': device_add
[ 13.734170] PM: Adding info for No Bus:ptycf
[ 13.738689] device: 'ptyd0': device_add
[ 13.742592] PM: Adding info for No Bus:ptyd0
[ 13.747094] device: 'ptyd1': device_add
[ 13.750996] PM: Adding info for No Bus:ptyd1
[ 13.755497] device: 'ptyd2': device_add
[ 13.759382] PM: Adding info for No Bus:ptyd2
[ 13.763908] device: 'ptyd3': device_add
[ 13.767797] PM: Adding info for No Bus:ptyd3
[ 13.772314] device: 'ptyd4': device_add
[ 13.776192] PM: Adding info for No Bus:ptyd4
[ 13.780704] device: 'ptyd5': device_add
[ 13.784594] PM: Adding info for No Bus:ptyd5
[ 13.789095] device: 'ptyd6': device_add
[ 13.792996] PM: Adding info for No Bus:ptyd6
[ 13.797494] device: 'ptyd7': device_add
[ 13.801394] PM: Adding info for No Bus:ptyd7
[ 13.805895] device: 'ptyd8': device_add
[ 13.809776] PM: Adding info for No Bus:ptyd8
[ 13.814323] device: 'ptyd9': device_add
[ 13.818220] PM: Adding info for No Bus:ptyd9
[ 13.822793] device: 'ptyda': device_add
[ 13.826676] PM: Adding info for No Bus:ptyda
[ 13.831195] device: 'ptydb': device_add
[ 13.835077] PM: Adding info for No Bus:ptydb
[ 13.839579] device: 'ptydc': device_add
[ 13.843490] PM: Adding info for No Bus:ptydc
[ 13.847986] device: 'ptydd': device_add
[ 13.851887] PM: Adding info for No Bus:ptydd
[ 13.856402] device: 'ptyde': device_add
[ 13.860305] PM: Adding info for No Bus:ptyde
[ 13.864801] device: 'ptydf': device_add
[ 13.868695] PM: Adding info for No Bus:ptydf
[ 13.873210] device: 'ptye0': device_add
[ 13.877101] PM: Adding info for No Bus:ptye0
[ 13.881617] device: 'ptye1': device_add
[ 13.885499] PM: Adding info for No Bus:ptye1
[ 13.890015] device: 'ptye2': device_add
[ 13.893896] PM: Adding info for No Bus:ptye2
[ 13.898390] device: 'ptye3': device_add
[ 13.902292] PM: Adding info for No Bus:ptye3
[ 13.906789] device: 'ptye4': device_add
[ 13.910702] PM: Adding info for No Bus:ptye4
[ 13.915197] device: 'ptye5': device_add
[ 13.919081] PM: Adding info for No Bus:ptye5
[ 13.923590] device: 'ptye6': device_add
[ 13.927470] PM: Adding info for No Bus:ptye6
[ 13.931991] device: 'ptye7': device_add
[ 13.935879] PM: Adding info for No Bus:ptye7
[ 13.940400] device: 'ptye8': device_add
[ 13.944295] PM: Adding info for No Bus:ptye8
[ 13.948797] device: 'ptye9': device_add
[ 13.952700] PM: Adding info for No Bus:ptye9
[ 13.957196] device: 'ptyea': device_add
[ 13.961097] PM: Adding info for No Bus:ptyea
[ 13.965591] device: 'ptyeb': device_add
[ 13.969488] PM: Adding info for No Bus:ptyeb
[ 13.974061] device: 'ptyec': device_add
[ 13.977960] PM: Adding info for No Bus:ptyec
[ 13.982471] device: 'ptyed': device_add
[ 13.986354] PM: Adding info for No Bus:ptyed
[ 13.990871] device: 'ptyee': device_add
[ 13.994760] PM: Adding info for No Bus:ptyee
[ 13.999262] device: 'ptyef': device_add
[ 14.003176] PM: Adding info for No Bus:ptyef
[ 14.007699] device: 'ttyp0': device_add
[ 14.011594] PM: Adding info for No Bus:ttyp0
[ 14.016095] device: 'ttyp1': device_add
[ 14.019976] PM: Adding info for No Bus:ttyp1
[ 14.024488] device: 'ttyp2': device_add
[ 14.028366] PM: Adding info for No Bus:ttyp2
[ 14.032886] device: 'ttyp3': device_add
[ 14.036786] PM: Adding info for No Bus:ttyp3
[ 14.041306] device: 'ttyp4': device_add
[ 14.045186] PM: Adding info for No Bus:ttyp4
[ 14.049685] device: 'ttyp5': device_add
[ 14.053591] PM: Adding info for No Bus:ttyp5
[ 14.058083] device: 'ttyp6': device_add
[ 14.061992] PM: Adding info for No Bus:ttyp6
[ 14.066491] device: 'ttyp7': device_add
[ 14.070391] PM: Adding info for No Bus:ttyp7
[ 14.074888] device: 'ttyp8': device_add
[ 14.078770] PM: Adding info for No Bus:ttyp8
[ 14.083285] device: 'ttyp9': device_add
[ 14.087182] PM: Adding info for No Bus:ttyp9
[ 14.091713] device: 'ttypa': device_add
[ 14.095616] PM: Adding info for No Bus:ttypa
[ 14.100122] device: 'ttypb': device_add
[ 14.104001] PM: Adding info for No Bus:ttypb
[ 14.108529] device: 'ttypc': device_add
[ 14.112436] PM: Adding info for No Bus:ttypc
[ 14.116934] device: 'ttypd': device_add
[ 14.120828] PM: Adding info for No Bus:ttypd
[ 14.125328] device: 'ttype': device_add
[ 14.129224] PM: Adding info for No Bus:ttype
[ 14.133801] device: 'ttypf': device_add
[ 14.137682] PM: Adding info for No Bus:ttypf
[ 14.142190] device: 'ttyq0': device_add
[ 14.146068] PM: Adding info for No Bus:ttyq0
[ 14.150586] device: 'ttyq1': device_add
[ 14.154468] PM: Adding info for No Bus:ttyq1
[ 14.158963] device: 'ttyq2': device_add
[ 14.162876] PM: Adding info for No Bus:ttyq2
[ 14.167410] device: 'ttyq3': device_add
[ 14.171304] PM: Adding info for No Bus:ttyq3
[ 14.175803] device: 'ttyq4': device_add
[ 14.179686] PM: Adding info for No Bus:ttyq4
[ 14.184196] device: 'ttyq5': device_add
[ 14.188084] PM: Adding info for No Bus:ttyq5
[ 14.192699] device: 'ttyq6': device_add
[ 14.196580] PM: Adding info for No Bus:ttyq6
[ 14.201100] device: 'ttyq7': device_add
[ 14.204984] PM: Adding info for No Bus:ttyq7
[ 14.209495] device: 'ttyq8': device_add
[ 14.213394] PM: Adding info for No Bus:ttyq8
[ 14.217889] device: 'ttyq9': device_add
[ 14.221799] PM: Adding info for No Bus:ttyq9
[ 14.226295] device: 'ttyqa': device_add
[ 14.230195] PM: Adding info for No Bus:ttyqa
[ 14.234701] device: 'ttyqb': device_add
[ 14.238589] PM: Adding info for No Bus:ttyqb
[ 14.243109] device: 'ttyqc': device_add
[ 14.246993] PM: Adding info for No Bus:ttyqc
[ 14.251505] device: 'ttyqd': device_add
[ 14.255402] PM: Adding info for No Bus:ttyqd
[ 14.259903] device: 'ttyqe': device_add
[ 14.263806] PM: Adding info for No Bus:ttyqe
[ 14.268302] device: 'ttyqf': device_add
[ 14.272202] PM: Adding info for No Bus:ttyqf
[ 14.276702] device: 'ttyr0': device_add
[ 14.280612] PM: Adding info for No Bus:ttyr0
[ 14.285111] device: 'ttyr1': device_add
[ 14.288994] PM: Adding info for No Bus:ttyr1
[ 14.293508] device: 'ttyr2': device_add
[ 14.297402] PM: Adding info for No Bus:ttyr2
[ 14.301954] device: 'ttyr3': device_add
[ 14.305841] PM: Adding info for No Bus:ttyr3
[ 14.310358] device: 'ttyr4': device_add
[ 14.314247] PM: Adding info for No Bus:ttyr4
[ 14.318743] device: 'ttyr5': device_add
[ 14.322647] PM: Adding info for No Bus:ttyr5
[ 14.327160] device: 'ttyr6': device_add
[ 14.331061] PM: Adding info for No Bus:ttyr6
[ 14.335565] device: 'ttyr7': device_add
[ 14.339452] PM: Adding info for No Bus:ttyr7
[ 14.343970] device: 'ttyr8': device_add
[ 14.347868] PM: Adding info for No Bus:ttyr8
[ 14.352384] device: 'ttyr9': device_add
[ 14.356272] PM: Adding info for No Bus:ttyr9
[ 14.360790] device: 'ttyra': device_add
[ 14.364671] PM: Adding info for No Bus:ttyra
[ 14.369174] device: 'ttyrb': device_add
[ 14.373076] PM: Adding info for No Bus:ttyrb
[ 14.377574] device: 'ttyrc': device_add
[ 14.381486] PM: Adding info for No Bus:ttyrc
[ 14.385980] device: 'ttyrd': device_add
[ 14.389864] PM: Adding info for No Bus:ttyrd
[ 14.394416] device: 'ttyre': device_add
[ 14.398297] PM: Adding info for No Bus:ttyre
[ 14.402814] device: 'ttyrf': device_add
[ 14.406717] PM: Adding info for No Bus:ttyrf
[ 14.411227] device: 'ttys0': device_add
[ 14.415112] PM: Adding info for No Bus:ttys0
[ 14.419613] device: 'ttys1': device_add
[ 14.423517] PM: Adding info for No Bus:ttys1
[ 14.428013] device: 'ttys2': device_add
[ 14.431914] PM: Adding info for No Bus:ttys2
[ 14.436420] device: 'ttys3': device_add
[ 14.440335] PM: Adding info for No Bus:ttys3
[ 14.444851] device: 'ttys4': device_add
[ 14.448739] PM: Adding info for No Bus:ttys4
[ 14.453255] device: 'ttys5': device_add
[ 14.457143] PM: Adding info for No Bus:ttys5
[ 14.461651] device: 'ttys6': device_add
[ 14.465534] PM: Adding info for No Bus:ttys6
[ 14.470042] device: 'ttys7': device_add
[ 14.473945] PM: Adding info for No Bus:ttys7
[ 14.478444] device: 'ttys8': device_add
[ 14.482358] PM: Adding info for No Bus:ttys8
[ 14.486857] device: 'ttys9': device_add
[ 14.490765] PM: Adding info for No Bus:ttys9
[ 14.495265] device: 'ttysa': device_add
[ 14.499160] PM: Adding info for No Bus:ttysa
[ 14.503681] device: 'ttysb': device_add
[ 14.507569] PM: Adding info for No Bus:ttysb
[ 14.512084] device: 'ttysc': device_add
[ 14.515979] PM: Adding info for No Bus:ttysc
[ 14.520493] device: 'ttysd': device_add
[ 14.524381] PM: Adding info for No Bus:ttysd
[ 14.528881] device: 'ttyse': device_add
[ 14.532796] PM: Adding info for No Bus:ttyse
[ 14.537299] device: 'ttysf': device_add
[ 14.541205] PM: Adding info for No Bus:ttysf
[ 14.545707] device: 'ttyt0': device_add
[ 14.549592] PM: Adding info for No Bus:ttyt0
[ 14.554144] device: 'ttyt1': device_add
[ 14.558033] PM: Adding info for No Bus:ttyt1
[ 14.562681] device: 'ttyt2': device_add
[ 14.566586] PM: Adding info for No Bus:ttyt2
[ 14.571123] device: 'ttyt3': device_add
[ 14.575017] PM: Adding info for No Bus:ttyt3
[ 14.579519] device: 'ttyt4': device_add
[ 14.583419] PM: Adding info for No Bus:ttyt4
[ 14.587915] device: 'ttyt5': device_add
[ 14.591816] PM: Adding info for No Bus:ttyt5
[ 14.596310] device: 'ttyt6': device_add
[ 14.600265] PM: Adding info for No Bus:ttyt6
[ 14.604771] device: 'ttyt7': device_add
[ 14.608656] PM: Adding info for No Bus:ttyt7
[ 14.613174] device: 'ttyt8': device_add
[ 14.617064] PM: Adding info for No Bus:ttyt8
[ 14.621599] device: 'ttyt9': device_add
[ 14.625501] PM: Adding info for No Bus:ttyt9
[ 14.629999] device: 'ttyta': device_add
[ 14.633913] PM: Adding info for No Bus:ttyta
[ 14.638422] device: 'ttytb': device_add
[ 14.642329] PM: Adding info for No Bus:ttytb
[ 14.646831] device: 'ttytc': device_add
[ 14.650734] PM: Adding info for No Bus:ttytc
[ 14.655228] device: 'ttytd': device_add
[ 14.659125] PM: Adding info for No Bus:ttytd
[ 14.663640] device: 'ttyte': device_add
[ 14.667530] PM: Adding info for No Bus:ttyte
[ 14.672043] device: 'ttytf': device_add
[ 14.675929] PM: Adding info for No Bus:ttytf
[ 14.680458] device: 'ttyu0': device_add
[ 14.684391] PM: Adding info for No Bus:ttyu0
[ 14.688888] device: 'ttyu1': device_add
[ 14.692820] PM: Adding info for No Bus:ttyu1
[ 14.697322] device: 'ttyu2': device_add
[ 14.701235] PM: Adding info for No Bus:ttyu2
[ 14.705736] device: 'ttyu3': device_add
[ 14.709624] PM: Adding info for No Bus:ttyu3
[ 14.714137] device: 'ttyu4': device_add
[ 14.718030] PM: Adding info for No Bus:ttyu4
[ 14.722668] device: 'ttyu5': device_add
[ 14.726571] PM: Adding info for No Bus:ttyu5
[ 14.731106] device: 'ttyu6': device_add
[ 14.735000] PM: Adding info for No Bus:ttyu6
[ 14.739516] device: 'ttyu7': device_add
[ 14.743433] PM: Adding info for No Bus:ttyu7
[ 14.747938] device: 'ttyu8': device_add
[ 14.751847] PM: Adding info for No Bus:ttyu8
[ 14.756343] device: 'ttyu9': device_add
[ 14.760285] PM: Adding info for No Bus:ttyu9
[ 14.764791] device: 'ttyua': device_add
[ 14.768680] PM: Adding info for No Bus:ttyua
[ 14.773203] device: 'ttyub': device_add
[ 14.777094] PM: Adding info for No Bus:ttyub
[ 14.781645] device: 'ttyuc': device_add
[ 14.785549] PM: Adding info for No Bus:ttyuc
[ 14.790049] device: 'ttyud': device_add
[ 14.793935] PM: Adding info for No Bus:ttyud
[ 14.798463] device: 'ttyue': device_add
[ 14.802377] PM: Adding info for No Bus:ttyue
[ 14.806883] device: 'ttyuf': device_add
[ 14.810791] PM: Adding info for No Bus:ttyuf
[ 14.815292] device: 'ttyv0': device_add
[ 14.819194] PM: Adding info for No Bus:ttyv0
[ 14.823751] device: 'ttyv1': device_add
[ 14.827643] PM: Adding info for No Bus:ttyv1
[ 14.832155] device: 'ttyv2': device_add
[ 14.836060] PM: Adding info for No Bus:ttyv2
[ 14.840593] device: 'ttyv3': device_add
[ 14.844491] PM: Adding info for No Bus:ttyv3
[ 14.848987] device: 'ttyv4': device_add
[ 14.852898] PM: Adding info for No Bus:ttyv4
[ 14.857395] device: 'ttyv5': device_add
[ 14.861301] PM: Adding info for No Bus:ttyv5
[ 14.865804] device: 'ttyv6': device_add
[ 14.869702] PM: Adding info for No Bus:ttyv6
[ 14.874212] device: 'ttyv7': device_add
[ 14.878112] PM: Adding info for No Bus:ttyv7
[ 14.882724] device: 'ttyv8': device_add
[ 14.886617] PM: Adding info for No Bus:ttyv8
[ 14.891144] device: 'ttyv9': device_add
[ 14.895037] PM: Adding info for No Bus:ttyv9
[ 14.899545] device: 'ttyva': device_add
[ 14.903453] PM: Adding info for No Bus:ttyva
[ 14.907947] device: 'ttyvb': device_add
[ 14.911867] PM: Adding info for No Bus:ttyvb
[ 14.916382] device: 'ttyvc': device_add
[ 14.920323] PM: Adding info for No Bus:ttyvc
[ 14.924830] device: 'ttyvd': device_add
[ 14.928720] PM: Adding info for No Bus:ttyvd
[ 14.933236] device: 'ttyve': device_add
[ 14.937136] PM: Adding info for No Bus:ttyve
[ 14.941658] device: 'ttyvf': device_add
[ 14.945566] PM: Adding info for No Bus:ttyvf
[ 14.950069] device: 'ttyw0': device_add
[ 14.953958] PM: Adding info for No Bus:ttyw0
[ 14.958470] device: 'ttyw1': device_add
[ 14.962379] PM: Adding info for No Bus:ttyw1
[ 14.966884] device: 'ttyw2': device_add
[ 14.970798] PM: Adding info for No Bus:ttyw2
[ 14.975299] device: 'ttyw3': device_add
[ 14.979190] PM: Adding info for No Bus:ttyw3
[ 14.983756] device: 'ttyw4': device_add
[ 14.987648] PM: Adding info for No Bus:ttyw4
[ 14.992166] device: 'ttyw5': device_add
[ 14.996061] PM: Adding info for No Bus:ttyw5
[ 15.000580] device: 'ttyw6': device_add
[ 15.004479] PM: Adding info for No Bus:ttyw6
[ 15.008986] device: 'ttyw7': device_add
[ 15.012893] PM: Adding info for No Bus:ttyw7
[ 15.017393] device: 'ttyw8': device_add
[ 15.021297] PM: Adding info for No Bus:ttyw8
[ 15.025795] device: 'ttyw9': device_add
[ 15.029688] PM: Adding info for No Bus:ttyw9
[ 15.034216] device: 'ttywa': device_add
[ 15.038116] PM: Adding info for No Bus:ttywa
[ 15.042737] device: 'ttywb': device_add
[ 15.046634] PM: Adding info for No Bus:ttywb
[ 15.051190] device: 'ttywc': device_add
[ 15.055092] PM: Adding info for No Bus:ttywc
[ 15.059604] device: 'ttywd': device_add
[ 15.063529] PM: Adding info for No Bus:ttywd
[ 15.068028] device: 'ttywe': device_add
[ 15.071939] PM: Adding info for No Bus:ttywe
[ 15.076436] device: 'ttywf': device_add
[ 15.080383] PM: Adding info for No Bus:ttywf
[ 15.084888] device: 'ttyx0': device_add
[ 15.088778] PM: Adding info for No Bus:ttyx0
[ 15.093292] device: 'ttyx1': device_add
[ 15.097198] PM: Adding info for No Bus:ttyx1
[ 15.101715] device: 'ttyx2': device_add
[ 15.105608] PM: Adding info for No Bus:ttyx2
[ 15.110105] device: 'ttyx3': device_add
[ 15.114000] PM: Adding info for No Bus:ttyx3
[ 15.118519] device: 'ttyx4': device_add
[ 15.122439] PM: Adding info for No Bus:ttyx4
[ 15.126942] device: 'ttyx5': device_add
[ 15.130866] PM: Adding info for No Bus:ttyx5
[ 15.135362] device: 'ttyx6': device_add
[ 15.139253] PM: Adding info for No Bus:ttyx6
[ 15.143819] device: 'ttyx7': device_add
[ 15.147717] PM: Adding info for No Bus:ttyx7
[ 15.152247] device: 'ttyx8': device_add
[ 15.156159] PM: Adding info for No Bus:ttyx8
[ 15.160683] device: 'ttyx9': device_add
[ 15.164581] PM: Adding info for No Bus:ttyx9
[ 15.169080] device: 'ttyxa': device_add
[ 15.172994] PM: Adding info for No Bus:ttyxa
[ 15.177495] device: 'ttyxb': device_add
[ 15.181408] PM: Adding info for No Bus:ttyxb
[ 15.185904] device: 'ttyxc': device_add
[ 15.189815] PM: Adding info for No Bus:ttyxc
[ 15.194330] device: 'ttyxd': device_add
[ 15.198224] PM: Adding info for No Bus:ttyxd
[ 15.202771] device: 'ttyxe': device_add
[ 15.206663] PM: Adding info for No Bus:ttyxe
[ 15.211173] device: 'ttyxf': device_add
[ 15.215072] PM: Adding info for No Bus:ttyxf
[ 15.219575] device: 'ttyy0': device_add
[ 15.223496] PM: Adding info for No Bus:ttyy0
[ 15.227993] device: 'ttyy1': device_add
[ 15.231899] PM: Adding info for No Bus:ttyy1
[ 15.236395] device: 'ttyy2': device_add
[ 15.240308] PM: Adding info for No Bus:ttyy2
[ 15.244814] device: 'ttyy3': device_add
[ 15.248710] PM: Adding info for No Bus:ttyy3
[ 15.253229] device: 'ttyy4': device_add
[ 15.257145] PM: Adding info for No Bus:ttyy4
[ 15.261659] device: 'ttyy5': device_add
[ 15.265570] PM: Adding info for No Bus:ttyy5
[ 15.270084] device: 'ttyy6': device_add
[ 15.273983] PM: Adding info for No Bus:ttyy6
[ 15.278503] device: 'ttyy7': device_add
[ 15.282430] PM: Adding info for No Bus:ttyy7
[ 15.286940] device: 'ttyy8': device_add
[ 15.290856] PM: Adding info for No Bus:ttyy8
[ 15.295355] device: 'ttyy9': device_add
[ 15.299250] PM: Adding info for No Bus:ttyy9
[ 15.303817] device: 'ttyya': device_add
[ 15.307715] PM: Adding info for No Bus:ttyya
[ 15.312227] device: 'ttyyb': device_add
[ 15.316139] PM: Adding info for No Bus:ttyyb
[ 15.320658] device: 'ttyyc': device_add
[ 15.324551] PM: Adding info for No Bus:ttyyc
[ 15.329050] device: 'ttyyd': device_add
[ 15.332966] PM: Adding info for No Bus:ttyyd
[ 15.337512] device: 'ttyye': device_add
[ 15.341422] PM: Adding info for No Bus:ttyye
[ 15.345926] device: 'ttyyf': device_add
[ 15.349835] PM: Adding info for No Bus:ttyyf
[ 15.354349] device: 'ttyz0': device_add
[ 15.358246] PM: Adding info for No Bus:ttyz0
[ 15.362773] device: 'ttyz1': device_add
[ 15.366670] PM: Adding info for No Bus:ttyz1
[ 15.371184] device: 'ttyz2': device_add
[ 15.375100] PM: Adding info for No Bus:ttyz2
[ 15.379605] device: 'ttyz3': device_add
[ 15.383521] PM: Adding info for No Bus:ttyz3
[ 15.388035] device: 'ttyz4': device_add
[ 15.391954] PM: Adding info for No Bus:ttyz4
[ 15.396454] device: 'ttyz5': device_add
[ 15.400366] PM: Adding info for No Bus:ttyz5
[ 15.404859] device: 'ttyz6': device_add
[ 15.408766] PM: Adding info for No Bus:ttyz6
[ 15.413285] device: 'ttyz7': device_add
[ 15.417183] PM: Adding info for No Bus:ttyz7
[ 15.421696] device: 'ttyz8': device_add
[ 15.425595] PM: Adding info for No Bus:ttyz8
[ 15.430098] device: 'ttyz9': device_add
[ 15.433993] PM: Adding info for No Bus:ttyz9
[ 15.438517] device: 'ttyza': device_add
[ 15.442458] PM: Adding info for No Bus:ttyza
[ 15.446968] device: 'ttyzb': device_add
[ 15.450888] PM: Adding info for No Bus:ttyzb
[ 15.455389] device: 'ttyzc': device_add
[ 15.459283] PM: Adding info for No Bus:ttyzc
[ 15.463847] device: 'ttyzd': device_add
[ 15.467746] PM: Adding info for No Bus:ttyzd
[ 15.472264] device: 'ttyze': device_add
[ 15.476170] PM: Adding info for No Bus:ttyze
[ 15.480701] device: 'ttyzf': device_add
[ 15.484602] PM: Adding info for No Bus:ttyzf
[ 15.489099] device: 'ttya0': device_add
[ 15.493016] PM: Adding info for No Bus:ttya0
[ 15.497558] device: 'ttya1': device_add
[ 15.501482] PM: Adding info for No Bus:ttya1
[ 15.505998] device: 'ttya2': device_add
[ 15.509899] PM: Adding info for No Bus:ttya2
[ 15.514417] device: 'ttya3': device_add
[ 15.518313] PM: Adding info for No Bus:ttya3
[ 15.522828] device: 'ttya4': device_add
[ 15.526726] PM: Adding info for No Bus:ttya4
[ 15.531242] device: 'ttya5': device_add
[ 15.535155] PM: Adding info for No Bus:ttya5
[ 15.539653] device: 'ttya6': device_add
[ 15.543567] PM: Adding info for No Bus:ttya6
[ 15.548078] device: 'ttya7': device_add
[ 15.551994] PM: Adding info for No Bus:ttya7
[ 15.556495] device: 'ttya8': device_add
[ 15.560406] PM: Adding info for No Bus:ttya8
[ 15.564907] device: 'ttya9': device_add
[ 15.568818] PM: Adding info for No Bus:ttya9
[ 15.573343] device: 'ttyaa': device_add
[ 15.577237] PM: Adding info for No Bus:ttyaa
[ 15.581753] device: 'ttyab': device_add
[ 15.585666] PM: Adding info for No Bus:ttyab
[ 15.590194] device: 'ttyac': device_add
[ 15.594118] PM: Adding info for No Bus:ttyac
[ 15.598638] device: 'ttyad': device_add
[ 15.602568] PM: Adding info for No Bus:ttyad
[ 15.607078] device: 'ttyae': device_add
[ 15.610997] PM: Adding info for No Bus:ttyae
[ 15.615497] device: 'ttyaf': device_add
[ 15.619393] PM: Adding info for No Bus:ttyaf
[ 15.624003] device: 'ttyb0': device_add
[ 15.627920] PM: Adding info for No Bus:ttyb0
[ 15.632450] device: 'ttyb1': device_add
[ 15.636348] PM: Adding info for No Bus:ttyb1
[ 15.640869] device: 'ttyb2': device_add
[ 15.644780] PM: Adding info for No Bus:ttyb2
[ 15.649334] device: 'ttyb3': device_add
[ 15.653269] PM: Adding info for No Bus:ttyb3
[ 15.657773] device: 'ttyb4': device_add
[ 15.661698] PM: Adding info for No Bus:ttyb4
[ 15.666195] device: 'ttyb5': device_add
[ 15.670113] PM: Adding info for No Bus:ttyb5
[ 15.674611] device: 'ttyb6': device_add
[ 15.678509] PM: Adding info for No Bus:ttyb6
[ 15.683025] device: 'ttyb7': device_add
[ 15.686925] PM: Adding info for No Bus:ttyb7
[ 15.691435] device: 'ttyb8': device_add
[ 15.695355] PM: Adding info for No Bus:ttyb8
[ 15.699856] device: 'ttyb9': device_add
[ 15.703773] PM: Adding info for No Bus:ttyb9
[ 15.708271] device: 'ttyba': device_add
[ 15.712185] PM: Adding info for No Bus:ttyba
[ 15.716686] device: 'ttybb': device_add
[ 15.720613] PM: Adding info for No Bus:ttybb
[ 15.725116] device: 'ttybc': device_add
[ 15.729022] PM: Adding info for No Bus:ttybc
[ 15.733538] device: 'ttybd': device_add
[ 15.737435] PM: Adding info for No Bus:ttybd
[ 15.741962] device: 'ttybe': device_add
[ 15.745862] PM: Adding info for No Bus:ttybe
[ 15.750390] device: 'ttybf': device_add
[ 15.754317] PM: Adding info for No Bus:ttybf
[ 15.758820] device: 'ttyc0': device_add
[ 15.762735] PM: Adding info for No Bus:ttyc0
[ 15.767235] device: 'ttyc1': device_add
[ 15.771155] PM: Adding info for No Bus:ttyc1
[ 15.775653] device: 'ttyc2': device_add
[ 15.779554] PM: Adding info for No Bus:ttyc2
[ 15.784070] device: 'ttyc3': device_add
[ 15.787982] PM: Adding info for No Bus:ttyc3
[ 15.792501] device: 'ttyc4': device_add
[ 15.796404] PM: Adding info for No Bus:ttyc4
[ 15.800927] device: 'ttyc5': device_add
[ 15.804843] PM: Adding info for No Bus:ttyc5
[ 15.809341] device: 'ttyc6': device_add
[ 15.813270] PM: Adding info for No Bus:ttyc6
[ 15.817767] device: 'ttyc7': device_add
[ 15.821686] PM: Adding info for No Bus:ttyc7
[ 15.826182] device: 'ttyc8': device_add
[ 15.830098] PM: Adding info for No Bus:ttyc8
[ 15.834635] device: 'ttyc9': device_add
[ 15.838532] PM: Adding info for No Bus:ttyc9
[ 15.843047] device: 'ttyca': device_add
[ 15.847018] PM: Adding info for No Bus:ttyca
[ 15.851545] device: 'ttycb': device_add
[ 15.855470] PM: Adding info for No Bus:ttycb
[ 15.859991] device: 'ttycc': device_add
[ 15.863914] PM: Adding info for No Bus:ttycc
[ 15.868421] device: 'ttycd': device_add
[ 15.872339] PM: Adding info for No Bus:ttycd
[ 15.876837] device: 'ttyce': device_add
[ 15.880770] PM: Adding info for No Bus:ttyce
[ 15.885273] device: 'ttycf': device_add
[ 15.889172] PM: Adding info for No Bus:ttycf
[ 15.893690] device: 'ttyd0': device_add
[ 15.897595] PM: Adding info for No Bus:ttyd0
[ 15.902105] device: 'ttyd1': device_add
[ 15.906003] PM: Adding info for No Bus:ttyd1
[ 15.910533] device: 'ttyd2': device_add
[ 15.914449] PM: Adding info for No Bus:ttyd2
[ 15.918950] device: 'ttyd3': device_add
[ 15.922869] PM: Adding info for No Bus:ttyd3
[ 15.927368] device: 'ttyd4': device_add
[ 15.931284] PM: Adding info for No Bus:ttyd4
[ 15.935782] device: 'ttyd5': device_add
[ 15.939694] PM: Adding info for No Bus:ttyd5
[ 15.944213] device: 'ttyd6': device_add
[ 15.948117] PM: Adding info for No Bus:ttyd6
[ 15.952763] device: 'ttyd7': device_add
[ 15.956674] PM: Adding info for No Bus:ttyd7
[ 15.961223] device: 'ttyd8': device_add
[ 15.965145] PM: Adding info for No Bus:ttyd8
[ 15.969656] device: 'ttyd9': device_add
[ 15.973602] PM: Adding info for No Bus:ttyd9
[ 15.978117] device: 'ttyda': device_add
[ 15.982041] PM: Adding info for No Bus:ttyda
[ 15.986541] device: 'ttydb': device_add
[ 15.990503] PM: Adding info for No Bus:ttydb
[ 15.995010] device: 'ttydc': device_add
[ 15.998913] PM: Adding info for No Bus:ttydc
[ 16.003432] device: 'ttydd': device_add
[ 16.007349] PM: Adding info for No Bus:ttydd
[ 16.011900] device: 'ttyde': device_add
[ 16.015816] PM: Adding info for No Bus:ttyde
[ 16.020336] device: 'ttydf': device_add
[ 16.024241] PM: Adding info for No Bus:ttydf
[ 16.028738] device: 'ttye0': device_add
[ 16.032680] PM: Adding info for No Bus:ttye0
[ 16.037184] device: 'ttye1': device_add
[ 16.041105] PM: Adding info for No Bus:ttye1
[ 16.045605] device: 'ttye2': device_add
[ 16.049507] PM: Adding info for No Bus:ttye2
[ 16.054047] device: 'ttye3': device_add
[ 16.057957] PM: Adding info for No Bus:ttye3
[ 16.062479] device: 'ttye4': device_add
[ 16.066394] PM: Adding info for No Bus:ttye4
[ 16.070911] device: 'ttye5': device_add
[ 16.074821] PM: Adding info for No Bus:ttye5
[ 16.079316] device: 'ttye6': device_add
[ 16.083240] PM: Adding info for No Bus:ttye6
[ 16.087742] device: 'ttye7': device_add
[ 16.091663] PM: Adding info for No Bus:ttye7
[ 16.096173] device: 'ttye8': device_add
[ 16.100115] PM: Adding info for No Bus:ttye8
[ 16.104619] device: 'ttye9': device_add
[ 16.108523] PM: Adding info for No Bus:ttye9
[ 16.113040] device: 'ttyea': device_add
[ 16.116945] PM: Adding info for No Bus:ttyea
[ 16.121461] device: 'ttyeb': device_add
[ 16.125385] PM: Adding info for No Bus:ttyeb
[ 16.129889] device: 'ttyec': device_add
[ 16.133826] PM: Adding info for No Bus:ttyec
[ 16.138320] device: 'ttyed': device_add
[ 16.142244] PM: Adding info for No Bus:ttyed
[ 16.146748] device: 'ttyee': device_add
[ 16.150667] PM: Adding info for No Bus:ttyee
[ 16.155180] device: 'ttyef': device_add
[ 16.159097] PM: Adding info for No Bus:ttyef
[ 16.163654] device: 'ptmx': device_add
[ 16.167476] PM: Adding info for No Bus:ptmx
[ 16.171906] initcall pty_init+0x0/0x39 returned 0 after 4213661 usecs
[ 16.178335] calling sysrq_init+0x0/0x4c @ 1
[ 16.182653] initcall sysrq_init+0x0/0x4c returned 0 after 24 usecs
[ 16.188823] calling xen_init+0x0/0xbb @ 1
[ 16.192941] initcall xen_init+0x0/0xbb returned -19 after 1 usecs
[ 16.199022] calling applicom_init+0x0/0x507 @ 1
[ 16.203658] Applicom driver: $Id: ac.c,v 1.30 2000/03/22 16:03:57 dwmw2 Exp $
[ 16.210814] ac.o: No PCI boards found.
[ 16.214562] ac.o: For an ISA board you must supply memory and irq parameters.
[ 16.221705] initcall applicom_init+0x0/0x507 returned -6 after 17621 usecs
[ 16.228567] initcall applicom_init+0x0/0x507 returned with error code -6
[ 16.235370] calling nvram_init+0x0/0xaa @ 1
[ 16.239644] device: 'nvram': device_add
[ 16.243549] PM: Adding info for No Bus:nvram
[ 16.248061] Non-volatile memory driver v1.3
[ 16.252256] initcall nvram_init+0x0/0xaa returned 0 after 12318 usecs
[ 16.258685] calling mwave_init+0x0/0x2d1 @ 1
[ 16.263068] smapi::smapi_init, ERROR invalid usSmapiID
[ 16.268200] mwave: tp3780i::tp3780I_InitializeBoardData: Error: SMAPI is not available on this machine
[ 16.277514] mwave: mwavedd::mwave_init: Error: Failed to initialize board data
[ 16.284741] mwave: mwavedd::mwave_init: Error: Failed to initialize
[ 16.291019] initcall mwave_init+0x0/0x2d1 returned -5 after 27301 usecs
[ 16.297623] initcall mwave_init+0x0/0x2d1 returned with error code -5
[ 16.304165] calling agp_init+0x0/0x4b @ 1
[ 16.308260] Linux agpgart interface v0.103
[ 16.312372] initcall agp_init+0x0/0x4b returned 0 after 4011 usecs
[ 16.318544] calling agp_intel_init+0x0/0x50 @ 1
[ 16.323176] bus: 'pci': add driver agpgart-intel
[ 16.328082] initcall agp_intel_init+0x0/0x50 returned 0 after 4792 usecs
[ 16.334796] calling agp_via_init+0x0/0x50 @ 1
[ 16.339234] bus: 'pci': add driver agpgart-via
[ 16.343977] initcall agp_via_init+0x0/0x50 returned 0 after 4627 usecs
[ 16.350517] calling drm_core_init+0x0/0x145 @ 1
[ 16.355139] device class 'drm': registering
[ 16.359634] [drm] Initialized drm 1.1.0 20060810
[ 16.364263] initcall drm_core_init+0x0/0x145 returned 0 after 8916 usecs
[ 16.370966] calling sis_init+0x0/0x45 @ 1
[ 16.375172] initcall sis_init+0x0/0x45 returned 0 after 105 usecs
[ 16.381275] calling savage_init+0x0/0x45 @ 1
[ 16.385921] initcall savage_init+0x0/0x45 returned 0 after 287 usecs
[ 16.392289] calling serial8250_init+0x0/0x16f @ 1
[ 16.397076] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 16.403418] Registering platform device 'serial8250'. Parent at platform
[ 16.410125] device: 'serial8250': device_add
[ 16.414402] bus: 'platform': add device serial8250
[ 16.419212] PM: Adding info for platform:serial8250
[ 16.424550] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 16.430579] device: 'ttyS0': device_add
[ 16.434716] PM: Adding info for No Bus:ttyS0
[ 16.439469] device: 'ttyS1': device_add
[ 16.443435] PM: Adding info for No Bus:ttyS1
[ 16.447975] device: 'ttyS2': device_add
[ 16.451919] PM: Adding info for No Bus:ttyS2
[ 16.456450] device: 'ttyS3': device_add
[ 16.460388] PM: Adding info for No Bus:ttyS3
[ 16.464895] bus: 'platform': add driver serial8250
[ 16.469699] bus: 'platform': driver_probe_device: matched device serial8250 with driver serial8250
[ 16.478662] bus: 'platform': really_probe: probing driver serial8250 with device serial8250
[ 16.487036] driver: 'serial8250': driver_bound: bound to device 'serial8250'
[ 16.494096] bus: 'platform': really_probe: bound device serial8250 to driver serial8250
[ 16.502352] initcall serial8250_init+0x0/0x16f returned 0 after 102800 usecs
[ 16.509394] calling max3100_init+0x0/0x39 @ 1
[ 16.513860] bus: 'spi': add driver max3100
[ 16.518194] initcall max3100_init+0x0/0x39 returned 0 after 4232 usecs
[ 16.524733] calling jsm_init_module+0x0/0x6e @ 1
[ 16.529510] bus: 'pci': add driver jsm
[ 16.533558] initcall jsm_init_module+0x0/0x6e returned 0 after 4023 usecs
[ 16.540353] calling topology_sysfs_init+0x0/0xba @ 1
[ 16.545452] initcall topology_sysfs_init+0x0/0xba returned 0 after 52 usecs
[ 16.552422] calling brd_init+0x0/0x193 @ 1
[ 16.557210] device: 'ram0': device_add
[ 16.561054] PM: Adding info for No Bus:ram0
[ 16.565663] device: '1:0': device_add
[ 16.569356] PM: Adding info for No Bus:1:0
[ 16.573736] device: 'ram1': device_add
[ 16.577544] PM: Adding info for No Bus:ram1
[ 16.582075] device: '1:1': device_add
[ 16.585780] PM: Adding info for No Bus:1:1
[ 16.590134] device: 'ram2': device_add
[ 16.593933] PM: Adding info for No Bus:ram2
[ 16.598474] device: '1:2': device_add
[ 16.602185] PM: Adding info for No Bus:1:2
[ 16.606549] device: 'ram3': device_add
[ 16.610373] PM: Adding info for No Bus:ram3
[ 16.614883] device: '1:3': device_add
[ 16.618583] PM: Adding info for No Bus:1:3
[ 16.623002] device: 'ram4': device_add
[ 16.626805] PM: Adding info for No Bus:ram4
[ 16.631309] device: '1:4': device_add
[ 16.634997] PM: Adding info for No Bus:1:4
[ 16.639349] device: 'ram5': device_add
[ 16.643188] PM: Adding info for No Bus:ram5
[ 16.647673] device: '1:5': device_add
[ 16.651375] PM: Adding info for No Bus:1:5
[ 16.655728] device: 'ram6': device_add
[ 16.659540] PM: Adding info for No Bus:ram6
[ 16.664034] device: '1:6': device_add
[ 16.667722] PM: Adding info for No Bus:1:6
[ 16.672135] device: 'ram7': device_add
[ 16.675936] PM: Adding info for No Bus:ram7
[ 16.680438] device: '1:7': device_add
[ 16.684128] PM: Adding info for No Bus:1:7
[ 16.688478] device: 'ram8': device_add
[ 16.692308] PM: Adding info for No Bus:ram8
[ 16.696788] device: '1:8': device_add
[ 16.700508] PM: Adding info for No Bus:1:8
[ 16.704877] device: 'ram9': device_add
[ 16.708679] PM: Adding info for No Bus:ram9
[ 16.713186] device: '1:9': device_add
[ 16.716879] PM: Adding info for No Bus:1:9
[ 16.721245] device: 'ram10': device_add
[ 16.725146] PM: Adding info for No Bus:ram10
[ 16.729737] device: '1:10': device_add
[ 16.733537] PM: Adding info for No Bus:1:10
[ 16.737977] device: 'ram11': device_add
[ 16.741881] PM: Adding info for No Bus:ram11
[ 16.746457] device: '1:11': device_add
[ 16.750255] PM: Adding info for No Bus:1:11
[ 16.754694] device: 'ram12': device_add
[ 16.758590] PM: Adding info for No Bus:ram12
[ 16.763177] device: '1:12': device_add
[ 16.766956] PM: Adding info for No Bus:1:12
[ 16.771479] device: 'ram13': device_add
[ 16.775378] PM: Adding info for No Bus:ram13
[ 16.779954] device: '1:13': device_add
[ 16.783761] PM: Adding info for No Bus:1:13
[ 16.788198] device: 'ram14': device_add
[ 16.792123] PM: Adding info for No Bus:ram14
[ 16.796768] device: '1:14': device_add
[ 16.800563] PM: Adding info for No Bus:1:14
[ 16.805020] device: 'ram15': device_add
[ 16.808919] PM: Adding info for No Bus:ram15
[ 16.813500] device: '1:15': device_add
[ 16.817284] PM: Adding info for No Bus:1:15
[ 16.821734] brd: module loaded
[ 16.824791] initcall brd_init+0x0/0x193 returned 0 after 261895 usecs
[ 16.831240] calling loop_init+0x0/0x1bc @ 1
[ 16.835804] device: 'loop0': device_add
[ 16.839690] PM: Adding info for No Bus:loop0
[ 16.844280] device: '7:0': device_add
[ 16.847971] PM: Adding info for No Bus:7:0
[ 16.852335] device: 'loop1': device_add
[ 16.856229] PM: Adding info for No Bus:loop1
[ 16.860815] device: '7:1': device_add
[ 16.864518] PM: Adding info for No Bus:7:1
[ 16.868864] device: 'loop2': device_add
[ 16.872773] PM: Adding info for No Bus:loop2
[ 16.877385] device: '7:2': device_add
[ 16.881093] PM: Adding info for No Bus:7:2
[ 16.885444] device: 'loop3': device_add
[ 16.889345] PM: Adding info for No Bus:loop3
[ 16.893931] device: '7:3': device_add
[ 16.897622] PM: Adding info for No Bus:7:3
[ 16.902013] device: 'loop4': device_add
[ 16.905909] PM: Adding info for No Bus:loop4
[ 16.910495] device: '7:4': device_add
[ 16.914195] PM: Adding info for No Bus:7:4
[ 16.918561] device: 'loop5': device_add
[ 16.922470] PM: Adding info for No Bus:loop5
[ 16.927051] device: '7:5': device_add
[ 16.930755] PM: Adding info for No Bus:7:5
[ 16.935108] device: 'loop6': device_add
[ 16.939006] PM: Adding info for No Bus:loop6
[ 16.943581] device: '7:6': device_add
[ 16.947283] PM: Adding info for No Bus:7:6
[ 16.951644] device: 'loop7': device_add
[ 16.955531] PM: Adding info for No Bus:loop7
[ 16.960101] device: '7:7': device_add
[ 16.963793] PM: Adding info for No Bus:7:7
[ 16.968180] loop: module loaded
[ 16.971341] initcall loop_init+0x0/0x1bc returned 0 after 132646 usecs
[ 16.977863] calling cpqarray_init+0x0/0x92 @ 1
[ 16.982411] Compaq SMART2 Driver (v 2.6.0)
[ 16.986507] bus: 'pci': add driver cpqarray
[ 16.991141] bus: 'pci': remove driver cpqarray
[ 16.995810] driver: 'cpqarray': driver_release
[ 17.000315] initcall cpqarray_init+0x0/0x92 returned -19 after 17481 usecs
[ 17.007181] calling cciss_init+0x0/0x7a @ 1
[ 17.011470] HP CISS Driver (v 3.6.20)
[ 17.015416] bus: 'cciss': registered
[ 17.018987] bus: 'pci': add driver cciss
[ 17.023208] initcall cciss_init+0x0/0x7a returned 0 after 11459 usecs
[ 17.029635] calling carm_init+0x0/0x42 @ 1
[ 17.033846] bus: 'pci': add driver sx8
[ 17.037879] initcall carm_init+0x0/0x42 returned 0 after 3937 usecs
[ 17.044162] calling xlblk_init+0x0/0xa1 @ 1
[ 17.048430] initcall xlblk_init+0x0/0xa1 returned -19 after 1 usecs
[ 17.054710] calling ics932s401_init+0x0/0x3b @ 1
[ 17.059411] bus: 'i2c': add driver ics932s401
[ 17.064023] i2c-core: driver [ics932s401] registered
[ 17.068988] initcall ics932s401_init+0x0/0x3b returned 0 after 9353 usecs
[ 17.075788] calling lkdtm_module_init+0x0/0x22b @ 1
[ 17.080759] lkdtm : Invalid command
[ 17.084249] initcall lkdtm_module_init+0x0/0x22b returned -22 after 3409 usecs
[ 17.091482] initcall lkdtm_module_init+0x0/0x22b returned with error code -22
[ 17.098692] calling phantom_init+0x0/0x12f @ 1
[ 17.103243] device class 'phantom': registering
[ 17.108019] bus: 'pci': add driver phantom
[ 17.112409] Phantom Linux Driver, version n0.9.8, init OK
[ 17.117805] initcall phantom_init+0x0/0x12f returned 0 after 14224 usecs
[ 17.124520] calling init_kgdbts+0x0/0x3b @ 1
[ 17.128874] initcall init_kgdbts+0x0/0x3b returned 0 after 1 usecs
[ 17.135066] calling c2port_init+0x0/0x77 @ 1
[ 17.139418] Silicon Labs C2 port support v. 0.51.0 - (C) 2007 Rodolfo Giometti
[ 17.146655] device class 'c2port': registering
[ 17.151339] initcall c2port_init+0x0/0x77 returned 0 after 11635 usecs
[ 17.157861] calling duramar2150_c2port_init+0x0/0x97 @ 1
[ 17.163372] device: 'c2port0': device_add
[ 17.167434] PM: Adding info for No Bus:c2port0
[ 17.172192] c2port c2port0: C2 port uc added
[ 17.176459] c2port c2port0: uc flash has 30 blocks x 512 bytes (15360 bytes total)
[ 17.184046] initcall duramar2150_c2port_init+0x0/0x97 returned 0 after 20276 usecs
[ 17.191623] calling cb710_init_module+0x0/0x42 @ 1
[ 17.196499] bus: 'pci': add driver cb710
[ 17.200716] initcall cb710_init_module+0x0/0x42 returned 0 after 4113 usecs
[ 17.207667] calling scsi_tgt_init+0x0/0xb1 @ 1
[ 17.213088] device: 'tgt': device_add
[ 17.216886] PM: Adding info for No Bus:tgt
[ 17.221315] initcall scsi_tgt_init+0x0/0xb1 returned 0 after 8878 usecs
[ 17.227922] calling spi_transport_init+0x0/0x9f @ 1
[ 17.232912] device class 'spi_transport': registering
[ 17.238262] device class 'spi_host': registering
[ 17.243181] initcall spi_transport_init+0x0/0x9f returned 0 after 10031 usecs
[ 17.250325] calling fc_transport_init+0x0/0x73 @ 1
[ 17.255196] device class 'fc_host': registering
[ 17.259966] device class 'fc_vports': registering
[ 17.264958] device class 'fc_remote_ports': registering
[ 17.270432] device class 'fc_transport': registering
[ 17.275627] initcall fc_transport_init+0x0/0x73 returned 0 after 19946 usecs
[ 17.282692] calling iscsi_transport_init+0x0/0x173 @ 1
[ 17.287913] Loading iSCSI transport class v2.0-870.
[ 17.292805] device class 'iscsi_transport': registering
[ 17.298263] device class 'iscsi_endpoint': registering
[ 17.303648] device class 'iscsi_host': registering
[ 17.308670] device class 'iscsi_connection': registering
[ 17.314267] device class 'iscsi_session': registering
[ 17.319684] initcall iscsi_transport_init+0x0/0x173 returned 0 after 31019 usecs
[ 17.327086] calling sas_transport_init+0x0/0xe1 @ 1
[ 17.332059] device class 'sas_host': registering
[ 17.336911] device class 'sas_phy': registering
[ 17.341686] device class 'sas_port': registering
[ 17.346533] device class 'sas_device': registering
[ 17.351565] device class 'sas_end_device': registering
[ 17.356937] device class 'sas_expander': registering
[ 17.362157] initcall sas_transport_init+0x0/0xe1 returned 0 after 29390 usecs
[ 17.369283] calling sas_class_init+0x0/0x58 @ 1
[ 17.374399] initcall sas_class_init+0x0/0x58 returned 0 after 465 usecs
[ 17.381026] calling srp_transport_init+0x0/0x65 @ 1
[ 17.385986] device class 'srp_host': registering
[ 17.390851] device class 'srp_remote_ports': registering
[ 17.396396] initcall srp_transport_init+0x0/0x65 returned 0 after 10159 usecs
[ 17.403542] calling iscsi_sw_tcp_init+0x0/0x67 @ 1
[ 17.408449] device: 'tcp': device_add
[ 17.412154] PM: Adding info for No Bus:tcp
[ 17.416533] iscsi: registered transport (tcp)
[ 17.420906] initcall iscsi_sw_tcp_init+0x0/0x67 returned 0 after 12191 usecs
[ 17.427947] calling adpt_init+0x0/0xb1 @ 1
[ 17.432153] Loading Adaptec I2O RAID: Version 2.4 Build 5go
[ 17.437713] Detecting Adaptec I2O RAID controllers...
[ 17.442799] initcall adpt_init+0x0/0xb1 returned -19 after 10395 usecs
[ 17.449322] calling arcmsr_module_init+0x0/0x42 @ 1
[ 17.454306] bus: 'pci': add driver arcmsr
[ 17.458606] initcall arcmsr_module_init+0x0/0x42 returned 0 after 4201 usecs
[ 17.465667] calling ahc_linux_init+0x0/0x8d @ 1
[ 17.470301] bus: 'pci': add driver aic7xxx
[ 17.474693] initcall ahc_linux_init+0x0/0x8d returned 0 after 4296 usecs
[ 17.481405] calling init_this_scsi_driver+0x0/0x10c @ 1
[ 17.487239] initcall init_this_scsi_driver+0x0/0x10c returned -19 after 516 usecs
[ 17.494732] calling qla2x00_module_init+0x0/0x152 @ 1
[ 17.500355] QLogic Fibre Channel HBA Driver: 8.03.01-k4
[ 17.505576] bus: 'pci': add driver qla2xxx
[ 17.510019] initcall qla2x00_module_init+0x0/0x152 returned 0 after 9909 usecs
[ 17.517231] calling qla4xxx_module_init+0x0/0x108 @ 1
[ 17.522820] device: 'qla4xxx': device_add
[ 17.526851] PM: Adding info for No Bus:qla4xxx
[ 17.531537] iscsi: registered transport (qla4xxx)
[ 17.536239] bus: 'pci': add driver qla4xxx
[ 17.540648] QLogic iSCSI HBA Driver
[ 17.544139] initcall qla4xxx_module_init+0x0/0x108 returned 0 after 21242 usecs
[ 17.551458] calling lpfc_init+0x0/0xfb @ 1
[ 17.555637] Emulex LightPulse Fibre Channel SCSI driver 8.3.3
[ 17.561395] Copyright(c) 2004-2009 Emulex. All rights reserved.
[ 17.567420] bus: 'pci': add driver lpfc
[ 17.571548] initcall lpfc_init+0x0/0xfb returned 0 after 15532 usecs
[ 17.577890] calling megaraid_init+0x0/0xdb @ 1
[ 17.582464] bus: 'pci': add driver megaraid_legacy
[ 17.587535] initcall megaraid_init+0x0/0xdb returned 0 after 4972 usecs
[ 17.594157] calling atp870u_init+0x0/0x42 @ 1
[ 17.598597] bus: 'pci': add driver atp870u
[ 17.602979] initcall atp870u_init+0x0/0x42 returned 0 after 4275 usecs
[ 17.609496] calling ipr_init+0x0/0x5c @ 1
[ 17.613615] ipr: IBM Power RAID SCSI Device Driver version: 2.4.3 (June 10, 2009)
[ 17.621101] bus: 'pci': add driver ipr
[ 17.625172] initcall ipr_init+0x0/0x5c returned 0 after 11285 usecs
[ 17.631449] calling mvs_init+0x0/0x79 @ 1
[ 17.635572] bus: 'pci': add driver mvsas
[ 17.639770] initcall mvs_init+0x0/0x79 returned 0 after 4123 usecs
[ 17.645958] calling init_st+0x0/0x129 @ 1
[ 17.650065] st: Version 20081215, fixed bufsize 32768, s/g segs 256
[ 17.656326] device class 'scsi_tape': registering
[ 17.661293] bus: 'scsi': add driver st
[ 17.665301] initcall init_st+0x0/0x129 returned 0 after 14877 usecs
[ 17.671578] calling init_osst+0x0/0x160 @ 1
[ 17.675843] osst :I: Tape driver with OnStream support version 0.99.4
[ 17.675845] osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
[ 17.688989] device class 'onstream_tape': registering
[ 17.694286] bus: 'scsi': add driver osst
[ 17.698446] initcall init_osst+0x0/0x160 returned 0 after 22069 usecs
[ 17.704892] calling init_sd+0x0/0x125 @ 1
[ 17.709041] device class 'scsi_disk': registering
[ 17.713992] bus: 'scsi': add driver sd
[ 17.717987] initcall init_sd+0x0/0x125 returned 0 after 8788 usecs
[ 17.724175] calling init_sr+0x0/0x6f @ 1
[ 17.728184] bus: 'scsi': add driver sr
[ 17.732188] initcall init_sr+0x0/0x6f returned 0 after 3909 usecs
[ 17.738275] calling init_sg+0x0/0x172 @ 1
[ 17.742397] device class 'scsi_generic': registering
[ 17.747733] initcall init_sg+0x0/0x172 returned 0 after 5214 usecs
[ 17.753929] calling init_ch_module+0x0/0xcd @ 1
[ 17.758539] SCSI Media Changer driver v0.25
[ 17.762829] device class 'scsi_changer': registering
[ 17.768035] bus: 'scsi': add driver ch
[ 17.772038] initcall init_ch_module+0x0/0xcd returned 0 after 13176 usecs
[ 17.778818] calling ahci_init+0x0/0x42 @ 1
[ 17.783024] bus: 'pci': add driver ahci
[ 17.787161] initcall ahci_init+0x0/0x42 returned 0 after 4040 usecs
[ 17.793440] calling piix_init+0x0/0x50 @ 1
[ 17.797620] bus: 'pci': add driver ata_piix
[ 17.802101] initcall piix_init+0x0/0x50 returned 0 after 4373 usecs
[ 17.808362] calling pdc_ata_init+0x0/0x42 @ 1
[ 17.812827] bus: 'pci': add driver sata_promise
[ 17.817626] initcall pdc_ata_init+0x0/0x42 returned 0 after 4687 usecs
[ 17.824163] calling sil_init+0x0/0x42 @ 1
[ 17.828257] bus: 'pci': add driver sata_sil
[ 17.832742] initcall sil_init+0x0/0x42 returned 0 after 4377 usecs
[ 17.838911] calling vsc_sata_init+0x0/0x42 @ 1
[ 17.843456] bus: 'pci': add driver sata_vsc
[ 17.847906] initcall vsc_sata_init+0x0/0x42 returned 0 after 4345 usecs
[ 17.854531] calling nv_init+0x0/0x42 @ 1
[ 17.858537] bus: 'pci': add driver sata_nv
[ 17.862948] initcall nv_init+0x0/0x42 returned 0 after 4305 usecs
[ 17.869038] calling uli_init+0x0/0x42 @ 1
[ 17.873158] bus: 'pci': add driver sata_uli
[ 17.877610] initcall uli_init+0x0/0x42 returned 0 after 4348 usecs
[ 17.883796] calling mv_init+0x0/0x6e @ 1
[ 17.887805] bus: 'pci': add driver sata_mv
[ 17.892204] bus: 'platform': add driver sata_mv
[ 17.896975] initcall mv_init+0x0/0x6e returned 0 after 8952 usecs
[ 17.903081] calling amd_init+0x0/0x42 @ 1
[ 17.907175] bus: 'pci': add driver pata_amd
[ 17.911402] bus: 'pci': driver_probe_device: matched device 0000:00:06.0 with driver pata_amd
[ 17.919908] bus: 'pci': really_probe: probing driver pata_amd with device 0000:00:06.0
[ 17.927976] pata_amd 0000:00:06.0: version 0.4.1
[ 17.932727] pata_amd 0000:00:06.0: setting latency timer to 64
[ 17.938884] scsi0 : pata_amd
[ 17.942992] device: 'host0': device_add
[ 17.946845] PM: Adding info for No Bus:host0
[ 17.951138] device: 'host0': device_add
[ 17.955057] PM: Adding info for No Bus:host0
[ 17.959722] scsi1 : pata_amd
[ 17.962627] device: 'host1': device_add
[ 17.966536] PM: Adding info for No Bus:host1
[ 17.970821] device: 'host1': device_add
[ 17.974761] PM: Adding info for No Bus:host1
[ 17.983942] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xf000 irq 14
[ 17.990917] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xf008 irq 15
[ 18.190552] ata1.00: ATA-6: HDS722525VLAT80, V36OA60A, max UDMA/100
[ 18.196831] ata1.00: 488397168 sectors, multi 1: LBA48
[ 18.202079] ata1: nv_mode_filter: 0x3f39f&0x3f01f->0x3f01f, BIOS=0x3f000 (0xc60000c0) ACPI=0x3f01f (20:600:0x13)
[ 18.270506] ata1.00: configured for UDMA/100
[ 18.274819] async_waiting @ 1449
[ 18.278049] async_continuing @ 1449 after 2 usec
[ 18.283634] scsi 0:0:0:0: Direct-Access ATA HDS722525VLAT80 V36O PQ: 0 ANSI: 5
[ 18.291739] device: 'target0:0:0': device_add
[ 18.296250] PM: Adding info for No Bus:target0:0:0
[ 18.301114] device: '0:0:0:0': device_add
[ 18.305196] bus: 'scsi': add device 0:0:0:0
[ 18.309419] PM: Adding info for scsi:0:0:0:0
[ 18.314116] bus: 'scsi': driver_probe_device: matched device 0:0:0:0 with driver st
[ 18.321779] bus: 'scsi': really_probe: probing driver st with device 0:0:0:0
[ 18.328939] bus: 'scsi': driver_probe_device: matched device 0:0:0:0 with driver osst
[ 18.336779] bus: 'scsi': really_probe: probing driver osst with device 0:0:0:0
[ 18.344035] bus: 'scsi': driver_probe_device: matched device 0:0:0:0 with driver sd
[ 18.351705] bus: 'scsi': really_probe: probing driver sd with device 0:0:0:0
[ 18.358976] device: '0:0:0:0': device_add
[ 18.363085] PM: Adding info for No Bus:0:0:0:0
[ 18.368021] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 18.375739] sd 0:0:0:0: [sda] Write Protect is off
[ 18.380544] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 18.385701] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 18.394821] device: 'sda': device_add
[ 18.398557] PM: Adding info for No Bus:sda
[ 18.403702] sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 >
[ 18.509061] device: 'sda1': device_add
[ 18.513110] PM: Adding info for No Bus:sda1
[ 18.517418] device: 'sda2': device_add
[ 18.521237] PM: Adding info for No Bus:sda2
[ 18.525443] device: 'sda3': device_add
[ 18.529244] PM: Adding info for No Bus:sda3
[ 18.533466] device: 'sda5': device_add
[ 18.537263] PM: Adding info for No Bus:sda5
[ 18.541480] device: 'sda6': device_add
[ 18.545288] PM: Adding info for No Bus:sda6
[ 18.549498] device: 'sda7': device_add
[ 18.553318] PM: Adding info for No Bus:sda7
[ 18.557565] device: 'sda8': device_add
[ 18.561391] PM: Adding info for No Bus:sda8
[ 18.565595] device: 'sda9': device_add
[ 18.569399] PM: Adding info for No Bus:sda9
[ 18.573628] device: 'sda10': device_add
[ 18.577521] PM: Adding info for No Bus:sda10
[ 18.584520] device: '8:0': device_add
[ 18.588229] PM: Adding info for No Bus:8:0
[ 18.593294] sd 0:0:0:0: [sda] Attached SCSI disk
[ 18.597905] driver: '0:0:0:0': driver_bound: bound to device 'sd'
[ 18.604060] bus: 'scsi': really_probe: bound device 0:0:0:0 to driver sd
[ 18.610772] device: '0:0:0:0': device_add
[ 18.614820] PM: Adding info for No Bus:0:0:0:0
[ 18.619865] device: 'sg0': device_add
[ 18.623849] PM: Adding info for No Bus:sg0
[ 18.628480] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 18.634051] device: '0:0:0:0': device_add
[ 18.638304] PM: Adding info for No Bus:0:0:0:0
[ 18.643319] async_waiting @ 1449
[ 18.646547] async_continuing @ 1449 after 2 usec
[ 18.811310] ata2.01: ATAPI: DVDRW IDE 16X, VER A079, max UDMA/66
[ 18.817349] ata2: nv_mode_filter: 0x1f39f&0x701f->0x701f, BIOS=0x7000 (0xc60000c0) ACPI=0x701f (600:60:0x1c)
[ 18.860221] ata2.01: configured for UDMA/33
[ 18.865148] async_waiting @ 1449
[ 18.868378] async_continuing @ 1449 after 1 usec
[ 18.873483] scsi 1:0:1:0: CD-ROM DVDRW IDE 16X A079 PQ: 0 ANSI: 5
[ 18.881601] device: 'target1:0:1': device_add
[ 18.885974] PM: Adding info for No Bus:target1:0:1
[ 18.890789] device: '1:0:1:0': device_add
[ 18.894865] bus: 'scsi': add device 1:0:1:0
[ 18.899075] PM: Adding info for scsi:1:0:1:0
[ 18.903614] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver st
[ 18.911276] bus: 'scsi': really_probe: probing driver st with device 1:0:1:0
[ 18.918346] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver osst
[ 18.926190] bus: 'scsi': really_probe: probing driver osst with device 1:0:1:0
[ 18.933446] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver sd
[ 18.941107] bus: 'scsi': really_probe: probing driver sd with device 1:0:1:0
[ 18.948171] bus: 'scsi': driver_probe_device: matched device 1:0:1:0 with driver sr
[ 18.955838] bus: 'scsi': really_probe: probing driver sr with device 1:0:1:0
[ 18.967193] sr0: scsi3-mmc drive: 1x/48x writer cd/rw xa/form2 cdda tray
[ 18.973904] Uniform CD-ROM driver Revision: 3.20
[ 18.978642] device: 'sr0': device_add
[ 18.982419] PM: Adding info for No Bus:sr0
[ 18.986846] device: '11:0': device_add
[ 18.990656] PM: Adding info for No Bus:11:0
[ 18.995153] sr 1:0:1:0: Attached scsi CD-ROM sr0
[ 18.999761] driver: '1:0:1:0': driver_bound: bound to device 'sr'
[ 19.005872] bus: 'scsi': really_probe: bound device 1:0:1:0 to driver sr
[ 19.012586] device: '1:0:1:0': device_add
[ 19.016630] PM: Adding info for No Bus:1:0:1:0
[ 19.021362] device: 'sg1': device_add
[ 19.025132] PM: Adding info for No Bus:sg1
[ 19.029477] sr 1:0:1:0: Attached scsi generic sg1 type 5
[ 19.034822] device: '1:0:1:0': device_add
[ 19.038908] PM: Adding info for No Bus:1:0:1:0
[ 19.043658] work_for_cpu used greatest stack depth: 2432 bytes left
[ 19.049947] driver: '0000:00:06.0': driver_bound: bound to device 'pata_amd'
[ 19.057011] bus: 'pci': really_probe: bound device 0000:00:06.0 to driver pata_amd
[ 19.064866] initcall amd_init+0x0/0x42 returned 0 after 1130551 usecs
[ 19.071312] calling cmd640_init+0x0/0x42 @ 1
[ 19.075671] bus: 'pci': add driver pata_cmd640
[ 19.080433] initcall cmd640_init+0x0/0x42 returned 0 after 4650 usecs
[ 19.086870] calling hpt36x_init+0x0/0x42 @ 1
[ 19.091249] bus: 'pci': add driver pata_hpt366
[ 19.095956] initcall hpt36x_init+0x0/0x42 returned 0 after 4597 usecs
[ 19.102410] calling hpt37x_init+0x0/0x42 @ 1
[ 19.106764] bus: 'pci': add driver pata_hpt37x
[ 19.111505] initcall hpt37x_init+0x0/0x42 returned 0 after 4626 usecs
[ 19.117940] calling ninja32_init+0x0/0x42 @ 1
[ 19.122407] bus: 'pci': add driver pata_ninja32
[ 19.127219] initcall ninja32_init+0x0/0x42 returned 0 after 4699 usecs
[ 19.133758] calling oldpiix_init+0x0/0x42 @ 1
[ 19.138197] bus: 'pci': add driver pata_oldpiix
[ 19.143014] initcall oldpiix_init+0x0/0x42 returned 0 after 4701 usecs
[ 19.149530] calling pdc2027x_init+0x0/0x42 @ 1
[ 19.154082] bus: 'pci': add driver pata_pdc2027x
[ 19.158971] initcall pdc2027x_init+0x0/0x42 returned 0 after 4775 usecs
[ 19.165597] calling radisys_init+0x0/0x42 @ 1
[ 19.170051] bus: 'pci': add driver pata_radisys
[ 19.174861] initcall radisys_init+0x0/0x42 returned 0 after 4697 usecs
[ 19.181397] calling serverworks_init+0x0/0x42 @ 1
[ 19.186185] bus: 'pci': add driver pata_serverworks
[ 19.191353] initcall serverworks_init+0x0/0x42 returned 0 after 5043 usecs
[ 19.198218] calling sl82c105_init+0x0/0x42 @ 1
[ 19.202772] bus: 'pci': add driver pata_sl82c105
[ 19.207660] initcall sl82c105_init+0x0/0x42 returned 0 after 4774 usecs
[ 19.214278] calling e1000_init_module+0x0/0x8f @ 1
[ 19.219151] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
[ 19.225084] e1000e: Copyright (c) 1999-2008 Intel Corporation.
[ 19.230924] bus: 'pci': add driver e1000e
[ 19.235268] initcall e1000_init_module+0x0/0x8f returned 0 after 15733 usecs
[ 19.242325] calling jme_init_module+0x0/0x55 @ 1
[ 19.247023] jme: JMicron JMC2XX ethernet driver version 1.0.4
[ 19.252784] bus: 'pci': add driver jme
[ 19.256816] initcall jme_init_module+0x0/0x55 returned 0 after 9557 usecs
[ 19.263610] calling gem_init+0x0/0x42 @ 1
[ 19.267705] bus: 'pci': add driver gem
[ 19.271743] initcall gem_init+0x0/0x42 returned 0 after 3941 usecs
[ 19.277918] calling vortex_init+0x0/0xd7 @ 1
[ 19.282297] bus: 'pci': add driver 3c59x
[ 19.286492] initcall vortex_init+0x0/0xd7 returned 0 after 4096 usecs
[ 19.292946] calling e100_init_module+0x0/0x81 @ 1
[ 19.297731] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[ 19.303838] e100: Copyright(c) 1999-2006 Intel Corporation
[ 19.309318] bus: 'pci': add driver e100
[ 19.313446] initcall e100_init_module+0x0/0x81 returned 0 after 15341 usecs
[ 19.320418] calling sis900_init_module+0x0/0x42 @ 1
[ 19.325380] bus: 'pci': add driver sis900
[ 19.329713] initcall sis900_init_module+0x0/0x42 returned 0 after 4227 usecs
[ 19.336775] calling acenic_init+0x0/0x42 @ 1
[ 19.341142] bus: 'pci': add driver acenic
[ 19.345433] initcall acenic_init+0x0/0x42 returned 0 after 4191 usecs
[ 19.351879] calling ns83820_init+0x0/0x4e @ 1
[ 19.356317] ns83820.c: National Semiconductor DP83820 10/100/1000 driver.
[ 19.363120] bus: 'pci': add driver ns83820
[ 19.367486] initcall ns83820_init+0x0/0x4e returned 0 after 10900 usecs
[ 19.374109] calling tg3_init+0x0/0x42 @ 1
[ 19.378203] bus: 'pci': add driver tg3
[ 19.382248] initcall tg3_init+0x0/0x42 returned 0 after 3947 usecs
[ 19.388419] calling ks8851_init+0x0/0x39 @ 1
[ 19.392797] bus: 'spi': add driver ks8851
[ 19.397049] initcall ks8851_init+0x0/0x39 returned 0 after 4152 usecs
[ 19.403498] calling velocity_init_module+0x0/0x68 @ 1
[ 19.408632] bus: 'pci': add driver via-velocity
[ 19.413476] initcall velocity_init_module+0x0/0x68 returned 0 after 4727 usecs
[ 19.420708] calling lxt_init+0x0/0x65 @ 1
[ 19.424803] bus: 'mdio_bus': add driver LXT970
[ 19.429493] bus: 'mdio_bus': add driver LXT971
[ 19.434195] initcall lxt_init+0x0/0x65 returned 0 after 9168 usecs
[ 19.440384] calling et1011c_init+0x0/0x39 @ 1
[ 19.444824] bus: 'mdio_bus': add driver ET1011C
[ 19.449600] initcall et1011c_init+0x0/0x39 returned 0 after 4660 usecs
[ 19.456140] calling fixed_mdio_bus_init+0x0/0xf6 @ 1
[ 19.461206] Registering platform device 'Fixed MDIO bus.0'. Parent at platform
[ 19.468421] device: 'Fixed MDIO bus.0': device_add
[ 19.473241] bus: 'platform': add device Fixed MDIO bus.0
[ 19.478577] PM: Adding info for platform:Fixed MDIO bus.0
[ 19.484240] device: '0': device_add
[ 19.487764] PM: Adding info for No Bus:0
[ 19.491986] Fixed MDIO Bus: probed
[ 19.495385] initcall fixed_mdio_bus_init+0x0/0xf6 returned 0 after 33387 usecs
[ 19.502619] calling mdio_gpio_init+0x0/0x39 @ 1
[ 19.507232] bus: 'platform': add driver mdio-gpio
[ 19.512201] initcall mdio_gpio_init+0x0/0x39 returned 0 after 4849 usecs
[ 19.518894] calling ns_init+0x0/0x39 @ 1
[ 19.522927] bus: 'mdio_bus': add driver NatSemi DP83865
[ 19.528405] initcall ns_init+0x0/0x39 returned 0 after 5349 usecs
[ 19.534511] calling sundance_init+0x0/0x42 @ 1
[ 19.539040] bus: 'pci': add driver sundance
[ 19.543523] initcall sundance_init+0x0/0x42 returned 0 after 4375 usecs
[ 19.550146] calling hamachi_init+0x0/0x42 @ 1
[ 19.554587] bus: 'pci': add driver hamachi
[ 19.558983] initcall hamachi_init+0x0/0x42 returned 0 after 4289 usecs
[ 19.565521] calling net_olddevs_init+0x0/0x45 @ 1
[ 19.570328] initcall net_olddevs_init+0x0/0x45 returned 0 after 7 usecs
[ 19.576935] calling hp100_module_init+0x0/0x42 @ 1
[ 19.581833] bus: 'pci': add driver hp100
[ 19.586029] initcall hp100_module_init+0x0/0x42 returned 0 after 4097 usecs
[ 19.592996] calling init_nic+0x0/0x42 @ 1
[ 19.597090] bus: 'pci': add driver forcedeth
[ 19.601394] bus: 'pci': driver_probe_device: matched device 0000:00:0a.0 with driver forcedeth
[ 19.609987] bus: 'pci': really_probe: probing driver forcedeth with device 0000:00:0a.0
[ 19.618133] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 19.626908] ACPI: PCI Interrupt Link [APCH] enabled at IRQ 23
[ 19.632676] alloc irq_desc for 23 on node 0
[ 19.637033] alloc kstat_irqs on node 0
[ 19.640991] IOAPIC[0]: Set routing entry (2-23 -> 0x69 -> IRQ 23 Mode:1 Active:1)
[ 19.648467] forcedeth 0000:00:0a.0: PCI INT A -> Link[APCH] -> GSI 23 (level, low) -> IRQ 23
[ 19.656922] forcedeth 0000:00:0a.0: setting latency timer to 64
[ 19.662928] nv_probe: set workaround bit for reversed mac addr
[ 20.190219] device: 'eth0': device_add
[ 20.194203] PM: Adding info for No Bus:eth0
[ 20.198878] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x5043 @ 1, addr 00:13:d4:dc:41:12
[ 20.207248] forcedeth 0000:00:0a.0: highdma csum gbit lnktim desc-v3
[ 20.213643] driver: '0000:00:0a.0': driver_bound: bound to device 'forcedeth'
[ 20.220788] bus: 'pci': really_probe: bound device 0000:00:0a.0 to driver forcedeth
[ 20.228727] initcall init_nic+0x0/0x42 returned 0 after 616826 usecs
[ 20.235100] calling rtl8139_init_module+0x0/0x42 @ 1
[ 20.240169] bus: 'pci': add driver 8139too
[ 20.244298] bus: 'pci': driver_probe_device: matched device 0000:05:07.0 with driver 8139too
[ 20.252747] bus: 'pci': really_probe: probing driver 8139too with device 0000:05:07.0
[ 20.260704] 8139too Fast Ethernet driver 0.9.28
[ 20.266047] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
[ 20.271859] alloc irq_desc for 17 on node 0
[ 20.276216] alloc kstat_irqs on node 0
[ 20.280190] IOAPIC[0]: Set routing entry (2-17 -> 0x71 -> IRQ 17 Mode:1 Active:1)
[ 20.287668] 8139too 0000:05:07.0: PCI INT A -> Link[APC2] -> GSI 17 (level, low) -> IRQ 17
[ 20.296199] device: 'eth1': device_add
[ 20.300170] PM: Adding info for No Bus:eth1
[ 20.304809] eth1: RealTek RTL8139 at 0xffffc9000095a000, 00:c0:df:03:68:5d, IRQ 17
[ 20.312466] driver: '0000:05:07.0': driver_bound: bound to device '8139too'
[ 20.319420] bus: 'pci': really_probe: bound device 0000:05:07.0 to driver 8139too
[ 20.327184] initcall rtl8139_init_module+0x0/0x42 returned 0 after 84979 usecs
[ 20.334437] calling eql_init_module+0x0/0x89 @ 1
[ 20.339137] Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)
[ 20.347690] device: 'eql': device_add
[ 20.351546] PM: Adding info for No Bus:eql
[ 20.355933] initcall eql_init_module+0x0/0x89 returned 0 after 16397 usecs
[ 20.362826] calling rio_init+0x0/0x42 @ 1
[ 20.366928] bus: 'pci': add driver dl2k
[ 20.371062] initcall rio_init+0x0/0x42 returned 0 after 4038 usecs
[ 20.377234] calling xl_pci_init+0x0/0x42 @ 1
[ 20.381619] bus: 'pci': add driver 3c359
[ 20.385806] initcall xl_pci_init+0x0/0x42 returned 0 after 4088 usecs
[ 20.392256] calling catc_init+0x0/0x5e @ 1
[ 20.396442] bus: 'usb': add driver catc
[ 20.400543] usbcore: registered new interface driver catc
[ 20.405940] catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
[ 20.411874] initcall catc_init+0x0/0x5e returned 0 after 15068 usecs
[ 20.418218] calling usb_rtl8150_init+0x0/0x4e @ 1
[ 20.423028] rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
[ 20.429891] bus: 'usb': add driver rtl8150
[ 20.434259] usbcore: registered new interface driver rtl8150
[ 20.439916] initcall usb_rtl8150_init+0x0/0x4e returned 0 after 16495 usecs
[ 20.446888] calling ipw_init+0x0/0xad @ 1
[ 20.450993] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kdmprq
[ 20.458377] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[ 20.464146] bus: 'pci': add driver ipw2200
[ 20.468552] initcall ipw_init+0x0/0xad returned 0 after 17146 usecs
[ 20.474829] calling ieee80211_init+0x0/0x49 @ 1
[ 20.479442] ieee80211: 802.11 data/management/control stack, git-1.1.13
[ 20.486067] ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
[ 20.494423] initcall ieee80211_init+0x0/0x49 returned 0 after 14625 usecs
[ 20.501215] calling atmel_init_module+0x0/0x42 @ 1
[ 20.506093] bus: 'pci': add driver atmel
[ 20.510305] initcall atmel_init_module+0x0/0x42 returned 0 after 4110 usecs
[ 20.517260] calling nsc_ircc_init+0x0/0x21e @ 1
[ 20.521901] bus: 'platform': add driver nsc-ircc
[ 20.526769] bus: 'pnp': add driver nsc-ircc
[ 20.531269] bus: 'platform': remove driver nsc-ircc
[ 20.536388] driver: 'nsc-ircc': driver_release
[ 20.540865] bus: 'pnp': remove driver nsc-ircc
[ 20.545541] driver: 'nsc-ircc': driver_release
[ 20.549984] initcall nsc_ircc_init+0x0/0x21e returned -19 after 27429 usecs
[ 20.556954] calling w83977af_init+0x0/0x74 @ 1
[ 20.561548] initcall w83977af_init+0x0/0x74 returned -19 after 52 usecs
[ 20.568151] calling smsc_ircc_init+0x0/0x106 @ 1
[ 20.572875] bus: 'platform': add driver smsc-ircc2
[ 20.578132] bus: 'platform': remove driver smsc-ircc2
[ 20.583433] driver: 'smsc-ircc2': driver_release
[ 20.588057] initcall smsc_ircc_init+0x0/0x106 returned -19 after 14829 usecs
[ 20.595114] calling vlsi_mod_init+0x0/0x151 @ 1
[ 20.599746] bus: 'pci': add driver vlsi_ir
[ 20.604133] initcall vlsi_mod_init+0x0/0x151 returned 0 after 4300 usecs
[ 20.610844] calling mcs_init+0x0/0x69 @ 1
[ 20.614937] bus: 'usb': add driver mcs7780
[ 20.619300] usbcore: registered new interface driver mcs7780
[ 20.624975] initcall mcs_init+0x0/0x69 returned 0 after 9799 usecs
[ 20.631164] calling irtty_sir_init+0x0/0x65 @ 1
[ 20.635782] initcall irtty_sir_init+0x0/0x65 returned 0 after 3 usecs
[ 20.642233] calling sir_wq_init+0x0/0x5c @ 1
[ 20.646708] initcall sir_wq_init+0x0/0x5c returned 0 after 115 usecs
[ 20.653077] calling tekram_sir_init+0x0/0x52 @ 1
[ 20.657838] initcall tekram_sir_init+0x0/0x52 returned 0 after 60 usecs
[ 20.664464] calling litelink_sir_init+0x0/0x39 @ 1
[ 20.669339] initcall litelink_sir_init+0x0/0x39 returned 0 after 2 usecs
[ 20.676050] calling girbil_sir_init+0x0/0x39 @ 1
[ 20.680768] initcall girbil_sir_init+0x0/0x39 returned 0 after 2 usecs
[ 20.687284] calling ma600_sir_init+0x0/0x39 @ 1
[ 20.691922] initcall ma600_sir_init+0x0/0x39 returned 0 after 2 usecs
[ 20.698349] calling kingsun_init+0x0/0x42 @ 1
[ 20.702815] bus: 'usb': add driver kingsun-sir
[ 20.707504] usbcore: registered new interface driver kingsun-sir
[ 20.713523] initcall kingsun_init+0x0/0x42 returned 0 after 10457 usecs
[ 20.720144] calling ks959_init+0x0/0x42 @ 1
[ 20.724415] bus: 'usb': add driver ks959-sir
[ 20.728931] usbcore: registered new interface driver ks959-sir
[ 20.734783] initcall ks959_init+0x0/0x42 returned 0 after 10121 usecs
[ 20.741231] calling init_netconsole+0x0/0x13f @ 1
[ 20.746028] console [netcon0] enabled
[ 20.749689] netconsole: network logging started
[ 20.754241] initcall init_netconsole+0x0/0x13f returned 0 after 8024 usecs
[ 20.761121] calling fusion_init+0x0/0x164 @ 1
[ 20.765562] Fusion MPT base driver 3.04.10
[ 20.769657] Copyright (c) 1999-2008 LSI Corporation
[ 20.774580] initcall fusion_init+0x0/0x164 returned 0 after 8802 usecs
[ 20.781116] calling mptspi_init+0x0/0x102 @ 1
[ 20.785557] Fusion MPT SPI Host driver 3.04.10
[ 20.790028] bus: 'pci': add driver mptspi
[ 20.794316] initcall mptspi_init+0x0/0x102 returned 0 after 8548 usecs
[ 20.800852] calling mptsas_init+0x0/0x130 @ 1
[ 20.805290] Fusion MPT SAS Host driver 3.04.10
[ 20.809762] bus: 'pci': add driver mptsas
[ 20.814075] initcall mptsas_init+0x0/0x130 returned 0 after 8573 usecs
[ 20.820610] calling cdrom_init+0x0/0x91 @ 1
[ 20.824880] initcall cdrom_init+0x0/0x91 returned 0 after 1 usecs
[ 20.830984] calling spidev_init+0x0/0xbf @ 1
[ 20.835350] device class 'spidev': registering
[ 20.840043] bus: 'spi': add driver spidev
[ 20.844307] initcall spidev_init+0x0/0xbf returned 0 after 8752 usecs
[ 20.850754] calling aoe_init+0x0/0xd5 @ 1
[ 20.854857] device class 'aoe': registering
[ 20.859290] device: 'err': device_add
[ 20.863073] PM: Adding info for No Bus:err
[ 20.867474] device: 'discover': device_add
[ 20.871640] PM: Adding info for No Bus:discover
[ 20.876410] device: 'interfaces': device_add
[ 20.880757] PM: Adding info for No Bus:interfaces
[ 20.885694] device: 'revalidate': device_add
[ 20.890026] PM: Adding info for No Bus:revalidate
[ 20.894968] device: 'flush': device_add
[ 20.898849] PM: Adding info for No Bus:flush
[ 20.903831] aoe: AoE v47 initialised.
[ 20.907629] initcall aoe_init+0x0/0xd5 returned 0 after 51542 usecs
[ 20.913910] calling uwb_subsys_init+0x0/0x77 @ 1
[ 20.918623] device class 'uwb_rc': registering
[ 20.923360] initcall uwb_subsys_init+0x0/0x77 returned 0 after 4636 usecs
[ 20.930158] calling gpio_vbus_init+0x0/0x40 @ 1
[ 20.934773] bus: 'platform': add driver gpio-vbus
[ 20.939745] bus: 'platform': remove driver gpio-vbus
[ 20.944954] driver: 'gpio-vbus': driver_release
[ 20.949482] initcall gpio_vbus_init+0x0/0x40 returned -19 after 14365 usecs
[ 20.956454] calling ehci_hcd_init+0x0/0xe9 @ 1
[ 20.960993] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 20.967515] bus: 'pci': add driver ehci_hcd
[ 20.971739] bus: 'pci': driver_probe_device: matched device 0000:00:02.1 with driver ehci_hcd
[ 20.980268] bus: 'pci': really_probe: probing driver ehci_hcd with device 0000:00:02.1
[ 20.989721] ACPI: PCI Interrupt Link [APCL] enabled at IRQ 22
[ 20.995493] alloc irq_desc for 22 on node 0
[ 20.999848] alloc kstat_irqs on node 0
[ 21.003809] IOAPIC[0]: Set routing entry (2-22 -> 0x79 -> IRQ 22 Mode:1 Active:1)
[ 21.011300] ehci_hcd 0000:00:02.1: PCI INT B -> Link[APCL] -> GSI 22 (level, low) -> IRQ 22
[ 21.019667] ehci_hcd 0000:00:02.1: setting latency timer to 64
[ 21.025516] ehci_hcd 0000:00:02.1: EHCI Host Controller
[ 21.031571] ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 1
[ 21.039189] ehci_hcd 0000:00:02.1: debug port 1
[ 21.043749] ehci_hcd 0000:00:02.1: cache line size of 64 is not supported
[ 21.050609] ehci_hcd 0000:00:02.1: irq 22, io mem 0xfeb00000
[ 21.070055] ehci_hcd 0000:00:02.1: USB 2.0 started, EHCI 1.00
[ 21.076058] device: 'usb1': device_add
[ 21.080155] bus: 'usb': add device usb1
[ 21.084016] PM: Adding info for usb:usb1
[ 21.088467] bus: 'usb': driver_probe_device: matched device usb1 with driver usb
[ 21.095874] bus: 'usb': really_probe: probing driver usb with device usb1
[ 21.102681] usb usb1: configuration #1 chosen from 1 choice
[ 21.108470] device: '1-0:1.0': device_add
[ 21.112668] bus: 'usb': add device 1-0:1.0
[ 21.116803] PM: Adding info for usb:1-0:1.0
[ 21.121309] bus: 'usb': driver_probe_device: matched device 1-0:1.0 with driver hub
[ 21.128953] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0
[ 21.136036] hub 1-0:1.0: USB hub found
[ 21.139875] hub 1-0:1.0: 10 ports detected
[ 21.144338] driver: '1-0:1.0': driver_bound: bound to device 'hub'
[ 21.150527] bus: 'usb': really_probe: bound device 1-0:1.0 to driver hub
[ 21.157254] device: 'ep_81': device_add
[ 21.161167] PM: Adding info for No Bus:ep_81
[ 21.165471] device: 'usbdev1.1': device_add
[ 21.169890] PM: Adding info for No Bus:usbdev1.1
[ 21.175111] driver: 'usb1': driver_bound: bound to device 'usb'
[ 21.181042] bus: 'usb': really_probe: bound device usb1 to driver usb
[ 21.187481] device: 'ep_00': device_add
[ 21.191393] PM: Adding info for No Bus:ep_00
[ 21.195718] driver: '0000:00:02.1': driver_bound: bound to device 'ehci_hcd'
[ 21.202781] bus: 'pci': really_probe: bound device 0000:00:02.1 to driver ehci_hcd
[ 21.210654] initcall ehci_hcd_init+0x0/0xe9 returned 0 after 243805 usecs
[ 21.217431] calling oxu_module_init+0x0/0x39 @ 1
[ 21.222186] bus: 'platform': add driver oxu210hp-hcd
[ 21.227408] initcall oxu_module_init+0x0/0x39 returned 0 after 5101 usecs
[ 21.234207] calling ohci_hcd_mod_init+0x0/0xbb @ 1
[ 21.239082] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 21.245363] bus: 'pci': add driver ohci_hcd
[ 21.249568] bus: 'pci': driver_probe_device: matched device 0000:00:02.0 with driver ohci_hcd
[ 21.258108] bus: 'pci': really_probe: probing driver ohci_hcd with device 0000:00:02.0
[ 21.267787] ACPI: PCI Interrupt Link [APCF] enabled at IRQ 21
[ 21.273565] alloc irq_desc for 21 on node 0
[ 21.277919] alloc kstat_irqs on node 0
[ 21.281893] IOAPIC[0]: Set routing entry (2-21 -> 0x81 -> IRQ 21 Mode:1 Active:1)
[ 21.289371] ohci_hcd 0000:00:02.0: PCI INT A -> Link[APCF] -> GSI 21 (level, low) -> IRQ 21
[ 21.297760] ohci_hcd 0000:00:02.0: setting latency timer to 64
[ 21.303604] ohci_hcd 0000:00:02.0: OHCI Host Controller
[ 21.308875] ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 2
[ 21.316404] ohci_hcd 0000:00:02.0: irq 21, io mem 0xda102000
[ 21.372213] device: 'usb2': device_add
[ 21.376153] bus: 'usb': add device usb2
[ 21.380045] PM: Adding info for usb:usb2
[ 21.384258] bus: 'usb': driver_probe_device: matched device usb2 with driver usb
[ 21.391659] bus: 'usb': really_probe: probing driver usb with device usb2
[ 21.398448] usb usb2: configuration #1 chosen from 1 choice
[ 21.404064] device: '2-0:1.0': device_add
[ 21.408113] bus: 'usb': add device 2-0:1.0
[ 21.412244] PM: Adding info for usb:2-0:1.0
[ 21.416663] bus: 'usb': driver_probe_device: matched device 2-0:1.0 with driver hub
[ 21.424322] bus: 'usb': really_probe: probing driver hub with device 2-0:1.0
[ 21.431398] hub 2-0:1.0: USB hub found
[ 21.435201] hub 2-0:1.0: 10 ports detected
[ 21.439443] driver: '2-0:1.0': driver_bound: bound to device 'hub'
[ 21.445647] bus: 'usb': really_probe: bound device 2-0:1.0 to driver hub
[ 21.452368] device: 'ep_81': device_add
[ 21.456247] PM: Adding info for No Bus:ep_81
[ 21.460543] device: 'usbdev2.1': device_add
[ 21.464761] PM: Adding info for No Bus:usbdev2.1
[ 21.469643] driver: 'usb2': driver_bound: bound to device 'usb'
[ 21.475581] bus: 'usb': really_probe: bound device usb2 to driver usb
[ 21.482057] device: 'ep_00': device_add
[ 21.485948] PM: Adding info for No Bus:ep_00
[ 21.490297] driver: '0000:00:02.0': driver_bound: bound to device 'ohci_hcd'
[ 21.497342] bus: 'pci': really_probe: bound device 0000:00:02.0 to driver ohci_hcd
[ 21.505198] initcall ohci_hcd_mod_init+0x0/0xbb returned 0 after 259870 usecs
[ 21.512342] calling uhci_hcd_init+0x0/0xe6 @ 1
[ 21.516868] uhci_hcd: USB Universal Host Controller Interface driver
[ 21.523768] bus: 'pci': add driver uhci_hcd
[ 21.528250] initcall uhci_hcd_init+0x0/0xe6 returned 0 after 11110 usecs
[ 21.534969] calling u132_hcd_init+0x0/0xd8 @ 1
[ 21.539496] driver u132_hcd built at 11:04:36 on Aug 17 2009
[ 21.545540] bus: 'platform': add driver u132_hcd
[ 21.550421] initcall u132_hcd_init+0x0/0xd8 returned 0 after 10664 usecs
[ 21.557113] calling wusbcore_init+0x0/0x9a @ 1
[ 21.561979] initcall wusbcore_init+0x0/0x9a returned 0 after 302 usecs
[ 21.568501] calling cbaf_driver_init+0x0/0x42 @ 1
[ 21.573316] bus: 'usb': add driver wusb-cbaf
[ 21.577844] usbcore: registered new interface driver wusb-cbaf
[ 21.583705] initcall cbaf_driver_init+0x0/0x42 returned 0 after 10146 usecs
[ 21.590669] calling usblp_init+0x0/0x42 @ 1
[ 21.594938] bus: 'usb': add driver usblp
[ 21.599133] usbcore: registered new interface driver usblp
[ 21.604638] initcall usblp_init+0x0/0x42 returned 0 after 9469 usecs
[ 21.611001] calling wdm_init+0x0/0x42 @ 1
[ 21.615096] bus: 'usb': add driver cdc_wdm
[ 21.619445] usbcore: registered new interface driver cdc_wdm
[ 21.625119] initcall wdm_init+0x0/0x42 returned 0 after 9784 usecs
[ 21.631307] calling usbtmc_init+0x0/0x5e @ 1
[ 21.635662] bus: 'usb': add driver usbtmc
[ 21.639924] usbcore: registered new interface driver usbtmc
[ 21.645511] initcall usbtmc_init+0x0/0x5e returned 0 after 9614 usecs
[ 21.651959] calling usb_usual_init+0x0/0x66 @ 1
[ 21.656624] bus: 'usb': add driver libusual
[ 21.661311] usbcore: registered new interface driver libusual
[ 21.667086] initcall usb_usual_init+0x0/0x66 returned 0 after 10263 usecs
[ 21.673891] calling microtek_drv_init+0x0/0x42 @ 1
[ 21.678761] bus: 'usb': add driver microtekX6
[ 21.683394] usbcore: registered new interface driver microtekX6
[ 21.689313] initcall microtek_drv_init+0x0/0x42 returned 0 after 10304 usecs
[ 21.696371] calling usb_serial_init+0x0/0x25d @ 1
[ 21.701439] bus: 'usb-serial': registered
[ 21.705498] bus: 'usb': add driver usbserial
[ 21.710041] usbcore: registered new interface driver usbserial
[ 21.715870] usbserial: USB Serial Driver core
[ 21.720249] initcall usb_serial_init+0x0/0x25d returned 0 after 18632 usecs
[ 21.727196] calling debug_init+0x0/0x6e @ 1
[ 21.731489] bus: 'usb-serial': add driver debug
[ 21.736262] USB Serial support registered for debug
[ 21.741150] bus: 'usb': add driver debug
[ 21.745339] usbcore: registered new interface driver debug
[ 21.750843] initcall debug_init+0x0/0x6e returned 0 after 18900 usecs
[ 21.757279] calling edgeport_init+0x0/0x9c @ 1
[ 21.761829] bus: 'usb-serial': add driver edgeport_ti_1
[ 21.767307] USB Serial support registered for Edgeport TI 1 port adapter
[ 21.774015] bus: 'usb-serial': add driver edgeport_ti_2
[ 21.779488] USB Serial support registered for Edgeport TI 2 port adapter
[ 21.786202] bus: 'usb': add driver io_ti
[ 21.790391] usbcore: registered new interface driver io_ti
[ 21.795871] io_ti: v0.7mode043006:Edgeport USB Serial Driver
[ 21.801551] initcall edgeport_init+0x0/0x9c returned 0 after 38790 usecs
[ 21.808246] calling empeg_init+0x0/0x187 @ 1
[ 21.813023] bus: 'usb-serial': add driver empeg
[ 21.817801] USB Serial support registered for empeg
[ 21.822686] bus: 'usb': add driver empeg
[ 21.826881] usbcore: registered new interface driver empeg
[ 21.832373] empeg: v1.2:USB Empeg Mark I/II Driver
[ 21.837163] initcall empeg_init+0x0/0x187 returned 0 after 23965 usecs
[ 21.843703] calling funsoft_init+0x0/0x6e @ 1
[ 21.848144] bus: 'usb-serial': add driver funsoft
[ 21.853107] USB Serial support registered for funsoft
[ 21.858150] bus: 'usb': add driver funsoft
[ 21.862536] usbcore: registered new interface driver funsoft
[ 21.868189] initcall funsoft_init+0x0/0x6e returned 0 after 19576 usecs
[ 21.874817] calling ir_init+0x0/0x7e @ 1
[ 21.878823] bus: 'usb-serial': add driver ir-usb
[ 21.883707] USB Serial support registered for IR Dongle
[ 21.888926] bus: 'usb': add driver ir-usb
[ 21.893230] usbcore: registered new interface driver ir-usb
[ 21.898797] ir_usb: v0.4:USB IR Dongle driver
[ 21.903176] initcall ir_init+0x0/0x7e returned 0 after 23779 usecs
[ 21.909345] calling iuu_init+0x0/0x7e @ 1
[ 21.913462] bus: 'usb-serial': add driver iuu_phoenix
[ 21.918753] USB Serial support registered for iuu_phoenix
[ 21.924166] bus: 'usb': add driver iuu_phoenix
[ 21.928877] usbcore: registered new interface driver iuu_phoenix
[ 21.934893] iuu_phoenix: v0.10:Infinity USB Unlimited Phoenix driver
[ 21.941253] initcall iuu_init+0x0/0x7e returned 0 after 27140 usecs
[ 21.947512] calling keyspan_init+0x0/0xdc @ 1
[ 21.951976] bus: 'usb-serial': add driver keyspan_no_firm
[ 21.957614] USB Serial support registered for Keyspan - (without firmware)
[ 21.964501] bus: 'usb-serial': add driver keyspan_1
[ 21.969616] USB Serial support registered for Keyspan 1 port adapter
[ 21.975982] bus: 'usb-serial': add driver keyspan_2
[ 21.981118] USB Serial support registered for Keyspan 2 port adapter
[ 21.987465] bus: 'usb-serial': add driver keyspan_4
[ 21.992688] USB Serial support registered for Keyspan 4 port adapter
[ 21.999036] bus: 'usb': add driver keyspan
[ 22.003414] usbcore: registered new interface driver keyspan
[ 22.009062] keyspan: v1.1.5:Keyspan USB to Serial Converter Driver
[ 22.015255] initcall keyspan_init+0x0/0xdc returned 0 after 61795 usecs
[ 22.021878] calling klsi_105_init+0x0/0x7e @ 1
[ 22.026409] bus: 'usb-serial': add driver kl5kusb105d
[ 22.031714] USB Serial support registered for KL5KUSB105D / PalmConnect
[ 22.038322] bus: 'usb': add driver kl5kusb105d
[ 22.043074] usbcore: registered new interface driver kl5kusb105d
[ 22.049068] kl5kusb105: v0.3a:KLSI KL5KUSB105 chipset USB->Serial Converter driver
[ 22.056654] initcall klsi_105_init+0x0/0x7e returned 0 after 29531 usecs
[ 22.063358] calling opticon_init+0x0/0x6e @ 1
[ 22.067801] bus: 'usb-serial': add driver opticon
[ 22.072764] USB Serial support registered for opticon
[ 22.077807] bus: 'usb': add driver opticon
[ 22.082193] usbcore: registered new interface driver opticon
[ 22.087847] initcall opticon_init+0x0/0x6e returned 0 after 19576 usecs
[ 22.094473] calling pl2303_init+0x0/0x7e @ 1
[ 22.098828] bus: 'usb-serial': add driver pl2303
[ 22.103697] USB Serial support registered for pl2303
[ 22.108662] bus: 'usb': add driver pl2303
[ 22.112965] usbcore: registered new interface driver pl2303
[ 22.118532] pl2303: Prolific PL2303 USB to serial adaptor driver
[ 22.124558] initcall pl2303_init+0x0/0x7e returned 0 after 25123 usecs
[ 22.131086] calling siemens_usb_mpi_init+0x0/0x8c @ 1
[ 22.136224] bus: 'usb-serial': add driver siemens_mpi
[ 22.141544] USB Serial support registered for siemens_mpi
[ 22.146933] bus: 'usb': add driver siemens_mpi
[ 22.151639] usbcore: registered new interface driver siemens_mpi
[ 22.157639] Driver for Siemens USB/MPI adapter
[ 22.162098] Version 0.1 09/26/2005 Thomas Hergenhahn@web.de http://libnodave.sf.net
[ 22.169744] initcall siemens_usb_mpi_init+0x0/0x8c returned 0 after 32735 usecs
[ 22.177065] calling spcp8x5_init+0x0/0x7e @ 1
[ 22.181521] bus: 'usb-serial': add driver SPCP8x5
[ 22.186462] USB Serial support registered for SPCP8x5
[ 22.191523] bus: 'usb': add driver spcp8x5
[ 22.195878] usbcore: registered new interface driver spcp8x5
[ 22.201547] spcp8x5: v0.04:SPCP8x5 USB to serial adaptor driver
[ 22.207462] initcall spcp8x5_init+0x0/0x7e returned 0 after 25337 usecs
[ 22.214089] calling symbol_init+0x0/0x6e @ 1
[ 22.218444] bus: 'usb-serial': add driver symbol
[ 22.223327] USB Serial support registered for symbol
[ 22.228288] bus: 'usb': add driver symbol
[ 22.232665] usbcore: registered new interface driver symbol
[ 22.238231] initcall symbol_init+0x0/0x6e returned 0 after 19323 usecs
[ 22.244770] calling adu_init+0x0/0xba @ 1
[ 22.248864] bus: 'usb': add driver adutux
[ 22.253147] usbcore: registered new interface driver adutux
[ 22.258718] adutux adutux (see www.ontrak.net) v0.0.13
[ 22.263871] adutux is an experimental driver. Use at your own risk
[ 22.270059] initcall adu_init+0x0/0xba returned 0 after 20694 usecs
[ 22.276318] calling appledisplay_init+0x0/0x80 @ 1
[ 22.281324] bus: 'usb': add driver appledisplay
[ 22.286101] usbcore: registered new interface driver appledisplay
[ 22.292212] initcall appledisplay_init+0x0/0x80 returned 0 after 10739 usecs
[ 22.299249] calling ftdi_elan_init+0x0/0x192 @ 1
[ 22.303983] driver ftdi-elan built at 11:04:35 on Aug 17 2009
[ 22.310083] bus: 'usb': add driver ftdi-elan
[ 22.314599] usbcore: registered new interface driver ftdi-elan
[ 22.320447] initcall ftdi_elan_init+0x0/0x192 returned 0 after 16077 usecs
[ 22.327312] calling isight_firmware_init+0x0/0x42 @ 1
[ 22.332470] bus: 'usb': add driver isight_firmware
[ 22.337532] usbcore: registered new interface driver isight_firmware
[ 22.343898] initcall isight_firmware_init+0x0/0x42 returned 0 after 11159 usecs
[ 22.351212] calling i8042_init+0x0/0x143 @ 1
[ 22.355569] bus: 'pnp': add driver i8042 kbd
[ 22.359858] bus: 'pnp': driver_probe_device: matched device 00:0b with driver i8042 kbd
[ 22.367871] bus: 'pnp': really_probe: probing driver i8042 kbd with device 00:0b
[ 22.375284] driver: '00:0b': driver_bound: bound to device 'i8042 kbd'
[ 22.381815] bus: 'pnp': really_probe: bound device 00:0b to driver i8042 kbd
[ 22.389095] bus: 'pnp': add driver i8042 aux
[ 22.393400] bus: 'pnp': driver_probe_device: matched device 00:0a with driver i8042 aux
[ 22.401408] bus: 'pnp': really_probe: probing driver i8042 aux with device 00:0a
[ 22.408807] driver: '00:0a': driver_bound: bound to device 'i8042 aux'
[ 22.415347] bus: 'pnp': really_probe: bound device 00:0a to driver i8042 aux
[ 22.422701] PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[ 22.430356] bus: 'platform': add driver i8042
[ 22.434975] Registering platform device 'i8042'. Parent at platform
[ 22.441254] device: 'i8042': device_add
[ 22.445098] bus: 'platform': add device i8042
[ 22.449484] PM: Adding info for platform:i8042
[ 22.454235] bus: 'platform': driver_probe_device: matched device i8042 with driver i8042
[ 22.462329] bus: 'platform': really_probe: probing driver i8042 with device i8042
[ 22.472818] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 22.477854] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 22.482937] driver: 'i8042': driver_bound: bound to device 'i8042'
[ 22.489111] bus: 'platform': really_probe: bound device i8042 to driver i8042
[ 22.496274] initcall i8042_init+0x0/0x143 returned 0 after 137401 usecs
[ 22.502900] calling serport_init+0x0/0x5a @ 1
[ 22.507341] initcall serport_init+0x0/0x5a returned 0 after 3 usecs
[ 22.513623] calling fm801_gp_init+0x0/0x42 @ 1
[ 22.518165] bus: 'pci': add driver FM801_gameport
[ 22.523099] device: 'serio0': device_add
[ 22.527140] bus: 'serio': add device serio0
[ 22.531378] PM: Adding info for serio:serio0
[ 22.536156] initcall fm801_gp_init+0x0/0x42 returned 0 after 17573 usecs
[ 22.542877] calling mousedev_init+0x0/0xb3 @ 1
[ 22.547438] device: 'mice': device_add
[ 22.551297] PM: Adding info for No Bus:mice
[ 22.555760] device: 'serio1': device_add
[ 22.559695] bus: 'serio': add device serio1
[ 22.563941] PM: Adding info for serio:serio1
[ 22.568360] device: 'psaux': device_add
[ 22.572260] PM: Adding info for No Bus:psaux
[ 22.576796] mice: PS/2 mouse device common for all mice
[ 22.582020] initcall mousedev_init+0x0/0xb3 returned 0 after 33802 usecs
[ 22.588734] calling evdev_init+0x0/0x39 @ 1
[ 22.593019] initcall evdev_init+0x0/0x39 returned 0 after 3 usecs
[ 22.599108] calling atkbd_init+0x0/0x4e @ 1
[ 22.603403] bus: 'serio': add driver atkbd
[ 22.607793] initcall atkbd_init+0x0/0x4e returned 0 after 4290 usecs
[ 22.614155] calling lkkbd_init+0x0/0x42 @ 1
[ 22.618418] bus: 'serio': add driver lkkbd
[ 22.622618] bus: 'serio': driver_probe_device: matched device serio0 with driver atkbd
[ 22.630066] initcall lkkbd_init+0x0/0x42 returned 0 after 11366 usecs
[ 22.630071] calling matrix_keypad_init+0x0/0x39 @ 1
[ 22.630077] bus: 'platform': add driver matrix-keypad
[ 22.630326] initcall matrix_keypad_init+0x0/0x39 returned 0 after 243 usecs
[ 22.630330] calling skbd_init+0x0/0x42 @ 1
[ 22.630335] bus: 'serio': add driver stowaway
[ 22.630641] initcall skbd_init+0x0/0x42 returned 0 after 298 usecs
[ 22.630645] calling xtkbd_init+0x0/0x42 @ 1
[ 22.630650] bus: 'serio': add driver xtkbd
[ 22.630908] initcall xtkbd_init+0x0/0x42 returned 0 after 250 usecs
[ 22.630912] calling adi_init+0x0/0x42 @ 1
[ 22.630917] bus: 'gameport': add driver adi
[ 22.631200] initcall adi_init+0x0/0x42 returned 0 after 276 usecs
[ 22.631204] calling grip_init+0x0/0x42 @ 1
[ 22.631208] bus: 'gameport': add driver grip_mp
[ 22.631473] initcall grip_init+0x0/0x42 returned 0 after 257 usecs
[ 22.631477] calling guillemot_init+0x0/0x42 @ 1
[ 22.631482] bus: 'gameport': add driver guillemot
[ 22.631729] initcall guillemot_init+0x0/0x42 returned 0 after 240 usecs
[ 22.631733] calling joydump_init+0x0/0x42 @ 1
[ 22.631737] bus: 'gameport': add driver joydump
[ 22.631998] initcall joydump_init+0x0/0x42 returned 0 after 253 usecs
[ 22.632002] calling sw_init+0x0/0x42 @ 1
[ 22.632006] bus: 'gameport': add driver sidewinder
[ 22.632306] initcall sw_init+0x0/0x42 returned 0 after 291 usecs
[ 22.632310] calling tmdc_init+0x0/0x42 @ 1
[ 22.632314] bus: 'gameport': add driver tmdc
[ 22.632561] initcall tmdc_init+0x0/0x42 returned 0 after 239 usecs
[ 22.632565] calling amd756_init+0x0/0x42 @ 1
[ 22.632578] bus: 'pci': add driver amd756_smbus
[ 22.632886] initcall amd756_init+0x0/0x42 returned 0 after 308 usecs
[ 22.632890] calling i2c_sis5595_init+0x0/0x42 @ 1
[ 22.632897] bus: 'pci': add driver sis5595_smbus
[ 22.633163] initcall i2c_sis5595_init+0x0/0x42 returned 0 after 261 usecs
[ 22.633167] calling i2c_sis630_init+0x0/0x42 @ 1
[ 22.633175] bus: 'pci': add driver sis630_smbus
[ 22.633438] initcall i2c_sis630_init+0x0/0x42 returned 0 after 257 usecs
[ 22.633442] calling i2c_gpio_init+0x0/0x57 @ 1
[ 22.633449] bus: 'platform': add driver i2c-gpio
[ 22.633697] initcall i2c_gpio_init+0x0/0x57 returned 0 after 242 usecs
[ 22.633701] calling ocores_i2c_init+0x0/0x39 @ 1
[ 22.633707] bus: 'platform': add driver ocores-i2c
[ 22.634011] initcall ocores_i2c_init+0x0/0x39 returned 0 after 295 usecs
[ 22.634015] calling i2c_adap_simtec_init+0x0/0x39 @ 1
[ 22.634020] bus: 'platform': add driver simtec-i2c
[ 22.634279] initcall i2c_adap_simtec_init+0x0/0x39 returned 0 after 252 usecs
[ 22.634284] calling asb100_init+0x0/0x3b @ 1
[ 22.634290] bus: 'i2c': add driver asb100
[ 22.634524] i2c-core: driver [asb100] registered
[ 22.634533] initcall asb100_init+0x0/0x3b returned 0 after 237 usecs
[ 22.634537] calling sensors_w83792d_init+0x0/0x3b @ 1
[ 22.634542] bus: 'i2c': add driver w83792d
[ 22.634772] i2c-core: driver [w83792d] registered
[ 22.634781] initcall sensors_w83792d_init+0x0/0x3b returned 0 after 232 usecs
[ 22.634785] calling sensors_w83781d_init+0x0/0x3b @ 1
[ 22.634790] bus: 'i2c': add driver w83781d
[ 22.635026] i2c-core: driver [w83781d] registered
[ 22.635034] initcall sensors_w83781d_init+0x0/0x3b returned 0 after 238 usecs
[ 22.635038] calling abituguru_init+0x0/0x1a2 @ 1
[ 22.635046] initcall abituguru_init+0x0/0x1a2 returned -19 after 2 usecs
[ 22.635050] calling abituguru3_init+0x0/0x185 @ 1
[ 22.635058] initcall abituguru3_init+0x0/0x185 returned -19 after 2 usecs
[ 22.635062] calling sensors_adm1025_init+0x0/0x3b @ 1
[ 22.635067] bus: 'i2c': add driver adm1025
[ 22.635328] i2c-core: driver [adm1025] registered
[ 22.635336] initcall sensors_adm1025_init+0x0/0x3b returned 0 after 261 usecs
[ 22.635340] calling sm_adm1026_init+0x0/0x3b @ 1
[ 22.635345] bus: 'i2c': add driver adm1026
[ 22.635634] i2c-core: driver [adm1026] registered
[ 22.635642] initcall sm_adm1026_init+0x0/0x3b returned 0 after 289 usecs
[ 22.635645] calling sensors_adm1031_init+0x0/0x3b @ 1
[ 22.635650] bus: 'i2c': add driver adm1031
[ 22.635902] i2c-core: driver [adm1031] registered
[ 22.635910] initcall sensors_adm1031_init+0x0/0x3b returned 0 after 253 usecs
[ 22.635915] calling adt7473_init+0x0/0x3b @ 1
[ 22.635920] bus: 'i2c': add driver adt7473
[ 22.636158] i2c-core: driver [adt7473] registered
[ 22.636166] initcall adt7473_init+0x0/0x3b returned 0 after 239 usecs
[ 22.636170] calling sensors_adt7475_init+0x0/0x3b @ 1
[ 22.636175] bus: 'i2c': add driver adt7475
[ 22.636403] i2c-core: driver [adt7475] registered
[ 22.636411] initcall sensors_adt7475_init+0x0/0x3b returned 0 after 230 usecs
[ 22.636415] calling atxp1_init+0x0/0x3b @ 1
[ 22.636420] bus: 'i2c': add driver atxp1
[ 22.636656] i2c-core: driver [atxp1] registered
[ 22.636665] initcall atxp1_init+0x0/0x3b returned 0 after 238 usecs
[ 22.636668] calling f71805f_init+0x0/0x9f @ 1
[ 22.636705] initcall f71805f_init+0x0/0x9f returned -19 after 30 usecs
[ 22.636709] calling sensors_f75375_init+0x0/0x3b @ 1
[ 22.636714] bus: 'i2c': add driver f75375
[ 22.636942] i2c-core: driver [f75375] registered
[ 22.636950] initcall sensors_f75375_init+0x0/0x3b returned 0 after 229 usecs
[ 22.636954] calling fschmd_init+0x0/0x3b @ 1
[ 22.636959] bus: 'i2c': add driver fschmd
[ 22.637232] i2c-core: driver [fschmd] registered
[ 22.637240] initcall fschmd_init+0x0/0x3b returned 0 after 273 usecs
[ 22.637244] calling sm_fscpos_init+0x0/0x3b @ 1
[ 22.637249] bus: 'i2c': add driver fscpos
[ 22.637497] i2c-core: driver [fscpos] registered
[ 22.637504] initcall sm_fscpos_init+0x0/0x3b returned 0 after 248 usecs
[ 22.637508] calling g760a_init+0x0/0x3b @ 1
[ 22.637513] bus: 'i2c': add driver g760a
[ 22.637752] i2c-core: driver [g760a] registered
[ 22.637759] initcall g760a_init+0x0/0x3b returned 0 after 240 usecs
[ 22.637763] calling sensors_gl520sm_init+0x0/0x3b @ 1
[ 22.637768] bus: 'i2c': add driver gl520sm
[ 22.638018] i2c-core: driver [gl520sm] registered
[ 22.638026] initcall sensors_gl520sm_init+0x0/0x3b returned 0 after 250 usecs
[ 22.638030] calling k8temp_init+0x0/0x42 @ 1
[ 22.638042] bus: 'pci': add driver k8temp
[ 22.638087] bus: 'pci': driver_probe_device: matched device 0000:00:18.3 with driver k8temp
[ 22.638091] bus: 'pci': really_probe: probing driver k8temp with device 0000:00:18.3
[ 22.638371] device: 'hwmon0': device_add
[ 22.638416] PM: Adding info for No Bus:hwmon0
[ 22.638731] driver: '0000:00:18.3': driver_bound: bound to device 'k8temp'
[ 22.638740] bus: 'pci': really_probe: bound device 0000:00:18.3 to driver k8temp
[ 22.639042] initcall k8temp_init+0x0/0x42 returned 0 after 982 usecs
[ 22.639046] calling init_lm70+0x0/0x65 @ 1
[ 22.639052] bus: 'spi': add driver lm70
[ 22.639320] bus: 'spi': add driver tmp121
[ 22.639561] initcall init_lm70+0x0/0x65 returned 0 after 497 usecs
[ 22.639565] calling sensors_lm77_init+0x0/0x3b @ 1
[ 22.639574] bus: 'i2c': add driver lm77
[ 22.639816] i2c-core: driver [lm77] registered
[ 22.639824] initcall sensors_lm77_init+0x0/0x3b returned 0 after 246 usecs
[ 22.639828] calling sensors_lm80_init+0x0/0x3b @ 1
[ 22.639833] bus: 'i2c': add driver lm80
[ 22.640111] i2c-core: driver [lm80] registered
[ 22.640119] initcall sensors_lm80_init+0x0/0x3b returned 0 after 271 usecs
[ 22.640123] calling sm_lm85_init+0x0/0x3b @ 1
[ 22.640128] bus: 'i2c': add driver lm85
[ 22.640356] i2c-core: driver [lm85] registered
[ 22.640364] initcall sm_lm85_init+0x0/0x3b returned 0 after 229 usecs
[ 22.640368] calling sensors_lm87_init+0x0/0x3b @ 1
[ 22.640373] bus: 'i2c': add driver lm87
[ 22.640646] i2c-core: driver [lm87] registered
[ 22.640654] initcall sensors_lm87_init+0x0/0x3b returned 0 after 273 usecs
[ 22.640658] calling ltc4215_init+0x0/0x3b @ 1
[ 22.640663] bus: 'i2c': add driver ltc4215
[ 22.640901] i2c-core: driver [ltc4215] registered
[ 22.640909] initcall ltc4215_init+0x0/0x3b returned 0 after 239 usecs
[ 22.640913] calling sensors_max6650_init+0x0/0x3b @ 1
[ 22.640918] bus: 'i2c': add driver max6650
[ 22.641155] i2c-core: driver [max6650] registered
[ 22.641164] initcall sensors_max6650_init+0x0/0x3b returned 0 after 239 usecs
[ 22.641168] calling pc87360_init+0x0/0xe9 @ 1
[ 22.641188] pc87360: PC8736x not detected, module not inserted.
[ 22.641195] initcall pc87360_init+0x0/0xe9 returned -19 after 20 usecs
[ 22.641198] calling sht15_init+0x0/0x83 @ 1
[ 22.641206] bus: 'platform': add driver sht10
[ 22.641468] bus: 'platform': add driver sht11
[ 22.641710] bus: 'platform': add driver sht15
[ 22.641969] bus: 'platform': add driver sht71
[ 22.642245] bus: 'platform': add driver sht75
[ 22.642491] initcall sht15_init+0x0/0x83 returned 0 after 1257 usecs
[ 22.642495] calling sm_sis5595_init+0x0/0x42 @ 1
[ 22.642508] bus: 'pci': add driver sis5595
[ 22.642810] initcall sm_sis5595_init+0x0/0x42 returned 0 after 300 usecs
[ 22.642814] calling smsc47b397_init+0x0/0xfd @ 1
[ 22.642830] initcall smsc47b397_init+0x0/0xfd returned -19 after 10 usecs
[ 22.642834] calling sensors_w83l785ts_init+0x0/0x3b @ 1
[ 22.642841] bus: 'i2c': add driver w83l785ts
[ 22.643073] i2c-core: driver [w83l785ts] registered
[ 22.643082] initcall sensors_w83l785ts_init+0x0/0x3b returned 0 after 235 usecs
[ 22.643086] calling telephony_init+0x0/0x71 @ 1
[ 22.643089] Linux telephony interface: v1.00
[ 22.643105] initcall telephony_init+0x0/0x71 returned 0 after 13 usecs
[ 22.643109] calling cpufreq_stats_init+0x0/0xcb @ 1
[ 22.643179] initcall cpufreq_stats_init+0x0/0xcb returned 0 after 63 usecs
[ 22.643183] calling init_ladder+0x0/0x39 @ 1
[ 22.643216] cpuidle: using governor ladder
[ 22.643222] initcall init_ladder+0x0/0x39 returned 0 after 32 usecs
[ 22.643225] calling init_menu+0x0/0x39 @ 1
[ 22.643230] cpuidle: using governor menu
[ 22.643235] initcall init_menu+0x0/0x39 returned 0 after 4 usecs
[ 22.643239] calling sdio_uart_init+0x0/0x11a @ 1
[ 22.643269] bus: 'sdio': add driver sdio_uart
[ 22.643508] initcall sdio_uart_init+0x0/0x11a returned 0 after 257 usecs
[ 22.643513] calling wbsd_drv_init+0x0/0xdb @ 1
[ 22.643517] wbsd: Winbond W83L51xD SD/MMC card interface driver
[ 22.643519] wbsd: Copyright(c) Pierre Ossman
[ 22.643523] bus: 'pnp': add driver wbsd
[ 22.643782] initcall wbsd_drv_init+0x0/0xdb returned 0 after 256 usecs
[ 22.643786] calling tifm_sd_init+0x0/0x39 @ 1
[ 22.643792] bus: 'tifm': add driver tifm_sd
[ 22.644077] initcall tifm_sd_init+0x0/0x39 returned 0 after 276 usecs
[ 22.644081] calling memstick_init+0x0/0xab @ 1
[ 22.644458] bus: 'memstick': registered
[ 22.644460] device class 'memstick_host': registering
[ 22.644709] initcall memstick_init+0x0/0xab returned 0 after 606 usecs
[ 22.644713] calling mspro_block_init+0x0/0x98 @ 1
[ 22.644721] bus: 'memstick': add driver mspro_block
[ 22.644955] initcall mspro_block_init+0x0/0x98 returned 0 after 230 usecs
[ 22.644959] calling gpio_led_init+0x0/0x2d @ 1
[ 22.644968] initcall gpio_led_init+0x0/0x2d returned 0 after 2 usecs
[ 22.644972] calling dac124s085_leds_init+0x0/0x39 @ 1
[ 22.644978] bus: 'spi': add driver dac124s085
[ 22.645211] initcall dac124s085_leds_init+0x0/0x39 returned 0 after 227 usecs
[ 22.645215] calling ib_core_init+0x0/0x6a @ 1
[ 22.645219] device class 'infiniband': registering
[ 22.645555] initcall ib_core_init+0x0/0x6a returned 0 after 326 usecs
[ 22.645560] calling ib_mad_init_module+0x0/0xca @ 1
[ 22.646035] initcall ib_mad_init_module+0x0/0xca returned 0 after 458 usecs
[ 22.646039] calling ib_sa_init+0x0/0xc1 @ 1
[ 22.646133] initcall ib_sa_init+0x0/0xc1 returned 0 after 85 usecs
[ 22.646137] calling ib_cm_init+0x0/0x180 @ 1
[ 22.646214] device class 'infiniband_cm': registering
[ 22.646596] initcall ib_cm_init+0x0/0x180 returned 0 after 442 usecs
[ 22.646600] calling iw_cm_init+0x0/0x5c @ 1
[ 22.646717] initcall iw_cm_init+0x0/0x5c returned 0 after 107 usecs
[ 22.646721] calling ib_uverbs_init+0x0/0x186 @ 1
[ 22.646731] device class 'infiniband_verbs': registering
[ 22.647194] initcall ib_uverbs_init+0x0/0x186 returned 0 after 454 usecs
[ 22.647198] calling ib_ucm_init+0x0/0xcc @ 1
[ 22.647213] initcall ib_ucm_init+0x0/0xcc returned 0 after 8 usecs
[ 22.647216] calling infinipath_init+0x0/0xe9 @ 1
[ 22.647280] bus: 'pci': add driver ib_ipath
[ 22.647626] initcall infinipath_init+0x0/0xe9 returned 0 after 394 usecs
[ 22.647631] calling srp_init_module+0x0/0x116 @ 1
[ 22.647644] device class 'infiniband_srp': registering
[ 22.647888] initcall srp_init_module+0x0/0x116 returned 0 after 244 usecs
[ 22.647892] calling efivars_init+0x0/0x213 @ 1
[ 22.647900] initcall efivars_init+0x0/0x213 returned -19 after 2 usecs
[ 22.647904] calling dcdbas_init+0x0/0x8d @ 1
[ 22.647912] bus: 'platform': add driver dcdbas
[ 22.648176] Registering platform device 'dcdbas'. Parent at platform
[ 22.648181] device: 'dcdbas': device_add
[ 22.648208] bus: 'platform': add device dcdbas
[ 22.648236] PM: Adding info for platform:dcdbas
[ 22.648482] bus: 'platform': driver_probe_device: matched device dcdbas with driver dcdbas
[ 22.648486] bus: 'platform': really_probe: probing driver dcdbas with device dcdbas
[ 22.648522] dcdbas dcdbas: Dell Systems Management Base Driver (version 5.6.0-3.2)
[ 22.648525] driver: 'dcdbas': driver_bound: bound to device 'dcdbas'
[ 22.648529] bus: 'platform': really_probe: bound device dcdbas to driver dcdbas
[ 22.648540] initcall dcdbas_init+0x0/0x8d returned 0 after 615 usecs
[ 22.648543] calling padlock_init+0x0/0xb5 @ 1
[ 22.648547] padlock: VIA PadLock Hash Engine not detected.
[ 22.648552] initcall padlock_init+0x0/0xb5 returned -19 after 4 usecs
[ 22.648556] calling ioat_init_module+0x0/0x42 @ 1
[ 22.648564] bus: 'pci': add driver ioatdma
[ 22.648904] initcall ioat_init_module+0x0/0x42 returned 0 after 335 usecs
[ 22.648908] calling hid_init+0x0/0x6e @ 1
[ 22.649164] bus: 'hid': registered
[ 22.649181] device class 'hidraw': registering
[ 22.649413] initcall hid_init+0x0/0x6e returned 0 after 488 usecs
[ 22.649417] calling usb_mouse_init+0x0/0x5e @ 1
[ 22.649425] bus: 'usb': add driver usbmouse
[ 22.649687] usbcore: registered new interface driver usbmouse
[ 22.649694] usbmouse: v1.6:USB HID Boot Protocol mouse driver
[ 22.649700] initcall usb_mouse_init+0x0/0x5e returned 0 after 271 usecs
[ 22.649704] calling thinkpad_acpi_module_init+0x0/0x456 @ 1
[ 22.649769] initcall thinkpad_acpi_module_init+0x0/0x456 returned -19 after 58 usecs
[ 22.649773] calling fake_init+0x0/0x53 @ 1
[ 22.649785] Registering platform device 'ieee802154hardmac'. Parent at platform
[ 22.649790] device: 'ieee802154hardmac': device_add
[ 22.649805] bus: 'platform': add device ieee802154hardmac
[ 22.649832] PM: Adding info for platform:ieee802154hardmac
[ 22.650103] bus: 'platform': add driver ieee802154hardmac
[ 22.650123] bus: 'platform': driver_probe_device: matched device ieee802154hardmac with driver ieee802154hardmac
[ 22.650126] bus: 'platform': really_probe: probing driver ieee802154hardmac with device ieee802154hardmac
[ 22.650172] device: 'hardwpan0': device_add
[ 22.650372] PM: Adding info for No Bus:hardwpan0
[ 22.650701] ieee802154hardmac ieee802154hardmac: Added ieee802154 HardMAC hardware
[ 22.650704] driver: 'ieee802154hardmac': driver_bound: bound to device 'ieee802154hardmac'
[ 22.650708] bus: 'platform': really_probe: bound device ieee802154hardmac to driver ieee802154hardmac
[ 22.651002] initcall fake_init+0x0/0x53 returned 0 after 1187 usecs
[ 22.651007] calling flow_cache_init+0x0/0x1c5 @ 1
[ 22.651560] initcall flow_cache_init+0x0/0x1c5 returned 0 after 534 usecs
[ 22.651564] calling pg_init+0x0/0x1ab @ 1
[ 22.651568] pktgen v2.70: Packet Generator for packet performance testing.
[ 24.062748] bus: 'serio': really_probe: probing driver atkbd with device serio0
[ 24.070825] initcall pg_init+0x0/0x1ab returned 0 after 1385989 usecs
[ 24.077261] calling llc_init+0x0/0x47 @ 1
[ 24.081386] initcall llc_init+0x0/0x47 returned 0 after 4 usecs
[ 24.087297] calling llc2_init+0x0/0xf4 @ 1
[ 24.092017] NET: Registered protocol family 26
[ 24.092963] device: 'input0': device_add
[ 24.093192] PM: Adding info for No Bus:input0
[ 24.105383] initcall llc2_init+0x0/0xf4 returned 0 after 13121 usecs
[ 24.112360] calling snap_init+0x0/0x61 @ 1
[ 24.117207] initcall snap_init+0x0/0x61 returned 0 after 651 usecs
[ 24.123932] calling rif_init+0x0/0xb5 @ 1
[ 24.128060] initcall rif_init+0x0/0xb5 returned 0 after 35 usecs
[ 24.134083] calling blackhole_module_init+0x0/0x39 @ 1
[ 24.139310] initcall blackhole_module_init+0x0/0x39 returned 0 after 3 usecs
[ 24.146375] calling gact_init_module+0x0/0x45 @ 1
[ 24.151186] GACT probability on
[ 24.154368] initcall gact_init_module+0x0/0x45 returned 0 after 3108 usecs
[ 24.161257] calling cbq_module_init+0x0/0x39 @ 1
[ 24.165959] initcall cbq_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.172500] calling htb_module_init+0x0/0x39 @ 1
[ 24.177209] initcall htb_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.183747] calling red_module_init+0x0/0x39 @ 1
[ 24.188450] initcall red_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.194988] calling ingress_module_init+0x0/0x39 @ 1
[ 24.200054] initcall ingress_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.206922] calling sfq_module_init+0x0/0x39 @ 1
[ 24.211652] initcall sfq_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.218171] calling tbf_module_init+0x0/0x39 @ 1
[ 24.222898] initcall tbf_module_init+0x0/0x39 returned 0 after 1 usecs
[ 24.229420] calling prio_module_init+0x0/0x39 @ 1
[ 24.234235] initcall prio_module_init+0x0/0x39 returned 0 after 2 usecs
[ 24.240861] calling init_u32+0x0/0x61 @ 1
[ 24.244952] u32 classifier
[ 24.247663] input device check on
[ 24.251433] Actions configured
[ 24.254947] initcall init_u32+0x0/0x61 returned 0 after 9757 usecs
[ 24.261141] calling init_route4+0x0/0x39 @ 1
[ 24.265496] initcall init_route4+0x0/0x39 returned 0 after 1 usecs
[ 24.271689] calling init_tcindex+0x0/0x39 @ 1
[ 24.276129] initcall init_tcindex+0x0/0x39 returned 0 after 2 usecs
[ 24.282410] calling nfnetlink_init+0x0/0x86 @ 1
[ 24.287020] Netfilter messages via NETLINK v0.30.
[ 24.291778] initcall nfnetlink_init+0x0/0x86 returned 0 after 4641 usecs
[ 24.298467] calling nfnetlink_log_init+0x0/0xfd @ 1
[ 24.303535] initcall nfnetlink_log_init+0x0/0xfd returned 0 after 77 usecs
[ 24.310420] calling xt_init+0x0/0x1b0 @ 1
[ 24.314564] initcall xt_init+0x0/0x1b0 returned 0 after 49 usecs
[ 24.320587] calling tcpudp_mt_init+0x0/0x3e @ 1
[ 24.322816] input: AT Translated Set 2 keyboard as /class/input/input0
[ 24.322985] device: 'event0': device_add
[ 24.323298] PM: Adding info for No Bus:event0
[ 24.323804] driver: 'serio0': driver_bound: bound to device 'atkbd'
[ 24.323810] bus: 'serio': really_probe: bound device serio0 to driver atkbd
[ 24.323837] bus: 'serio': driver_probe_device: matched device serio1 with driver atkbd
[ 24.323840] bus: 'serio': really_probe: probing driver atkbd with device serio1
[ 24.368454] initcall tcpudp_mt_init+0x0/0x3e returned 0 after 38 usecs
[ 24.374989] calling hl_tg_init+0x0/0x3e @ 1
[ 24.379256] initcall hl_tg_init+0x0/0x3e returned 0 after 3 usecs
[ 24.385363] calling xt_rateest_tg_init+0x0/0x64 @ 1
[ 24.390343] initcall xt_rateest_tg_init+0x0/0x64 returned 0 after 7 usecs
[ 24.397121] calling tcpoptstrip_tg_init+0x0/0x3e @ 1
[ 24.402200] initcall tcpoptstrip_tg_init+0x0/0x3e returned 0 after 3 usecs
[ 24.409063] calling dccp_mt_init+0x0/0xc5 @ 1
[ 24.413540] initcall dccp_mt_init+0x0/0xc5 returned 0 after 9 usecs
[ 24.419801] calling dscp_mt_init+0x0/0x3e @ 1
[ 24.424274] initcall dscp_mt_init+0x0/0x3e returned 0 after 6 usecs
[ 24.430549] calling iprange_mt_init+0x0/0x3e @ 1
[ 24.435252] initcall iprange_mt_init+0x0/0x3e returned 0 after 4 usecs
[ 24.441792] calling mark_mt_init+0x0/0x3e @ 1
[ 24.446233] initcall mark_mt_init+0x0/0x3e returned 0 after 3 usecs
[ 24.452512] calling owner_mt_init+0x0/0x3e @ 1
[ 24.457041] initcall owner_mt_init+0x0/0x3e returned 0 after 4 usecs
[ 24.463406] calling policy_mt_init+0x0/0x3e @ 1
[ 24.468021] initcall policy_mt_init+0x0/0x3e returned 0 after 3 usecs
[ 24.474471] calling xt_rateest_mt_init+0x0/0x39 @ 1
[ 24.479432] initcall xt_rateest_mt_init+0x0/0x39 returned 0 after 2 usecs
[ 24.486234] calling realm_mt_init+0x0/0x39 @ 1
[ 24.490777] initcall realm_mt_init+0x0/0x39 returned 0 after 2 usecs
[ 24.497125] calling recent_mt_init+0x0/0xf9 @ 1
[ 24.501790] initcall recent_mt_init+0x0/0xf9 returned 0 after 23 usecs
[ 24.508305] calling tcpmss_mt_init+0x0/0x3e @ 1
[ 24.512949] initcall tcpmss_mt_init+0x0/0x3e returned 0 after 3 usecs
[ 24.519380] calling ip_vs_init+0x0/0xe3 @ 1
[ 24.523837] IPVS: Registered protocols (TCP)
[ 24.528699] IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
[ 24.536032] IPVS: Each connection entry needs 328 bytes at least
[ 24.542158] IPVS: ipvs loaded.
[ 24.545215] initcall ip_vs_init+0x0/0xe3 returned 0 after 21033 usecs
[ 24.551668] calling ip_vs_wlc_init+0x0/0x39 @ 1
[ 24.556307] IPVS: [wlc] scheduler registered.
[ 24.560680] initcall ip_vs_wlc_init+0x0/0x39 returned 0 after 4285 usecs
[ 24.567368] calling ip_vs_lblc_init+0x0/0x6d @ 1
[ 24.572107] IPVS: [lblc] scheduler registered.
[ 24.576550] initcall ip_vs_lblc_init+0x0/0x6d returned 0 after 4351 usecs
[ 24.583351] calling ip_vs_dh_init+0x0/0x39 @ 1
[ 24.587876] IPVS: [dh] scheduler registered.
[ 24.592165] initcall ip_vs_dh_init+0x0/0x39 returned 0 after 4184 usecs
[ 24.598769] calling ip_vs_sh_init+0x0/0x39 @ 1
[ 24.603321] IPVS: [sh] scheduler registered.
[ 24.607586] initcall ip_vs_sh_init+0x0/0x39 returned 0 after 4168 usecs
[ 24.614215] calling sysctl_ipv4_init+0x0/0x74 @ 1
[ 24.619028] initcall sysctl_ipv4_init+0x0/0x74 returned 0 after 19 usecs
[ 24.625745] calling init_syncookies+0x0/0x40 @ 1
[ 24.630501] initcall init_syncookies+0x0/0x40 returned 0 after 36 usecs
[ 24.637110] calling ipcomp4_init+0x0/0x8f @ 1
[ 24.641580] initcall ipcomp4_init+0x0/0x8f returned 0 after 4 usecs
[ 24.647838] calling ipip_init+0x0/0xc5 @ 1
[ 24.652080] initcall ipip_init+0x0/0xc5 returned 0 after 30 usecs
[ 24.658169] calling tunnel4_init+0x0/0x8f @ 1
[ 24.662640] initcall tunnel4_init+0x0/0x8f returned 0 after 2 usecs
[ 24.668901] calling ipv4_netfilter_init+0x0/0x39 @ 1
[ 24.674002] initcall ipv4_netfilter_init+0x0/0x39 returned 0 after 28 usecs
[ 24.680973] calling ip_tables_init+0x0/0xd5 @ 1
[ 24.685633] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 24.690963] initcall ip_tables_init+0x0/0xd5 returned 0 after 5248 usecs
[ 24.697654] calling iptable_filter_init+0x0/0x92 @ 1
[ 24.702784] initcall iptable_filter_init+0x0/0x92 returned 0 after 54 usecs
[ 24.709736] calling iptable_mangle_init+0x0/0x6a @ 1
[ 24.714845] initcall iptable_mangle_init+0x0/0x6a returned 0 after 32 usecs
[ 24.721818] calling addrtype_mt_init+0x0/0x3e @ 1
[ 24.726608] initcall addrtype_mt_init+0x0/0x3e returned 0 after 3 usecs
[ 24.733235] calling ah_mt_init+0x0/0x39 @ 1
[ 24.737510] initcall ah_mt_init+0x0/0x39 returned 0 after 2 usecs
[ 24.743617] calling ecn_tg_init+0x0/0x39 @ 1
[ 24.747971] initcall ecn_tg_init+0x0/0x39 returned 0 after 2 usecs
[ 24.754164] calling tcpprobe_init+0x0/0x104 @ 1
[ 24.764151] TCP probe registered (port=0)
[ 24.768162] initcall tcpprobe_init+0x0/0x104 returned 0 after 9166 usecs
[ 24.774882] calling hybla_register+0x0/0x39 @ 1
[ 24.779497] TCP hybla registered
[ 24.782748] initcall hybla_register+0x0/0x39 returned 0 after 3171 usecs
[ 24.789443] calling htcp_register+0x0/0x39 @ 1
[ 24.794000] TCP htcp registered
[ 24.797144] initcall htcp_register+0x0/0x39 returned 0 after 3071 usecs
[ 24.803772] calling tcp_vegas_register+0x0/0x3b @ 1
[ 24.808728] TCP vegas registered
[ 24.811981] initcall tcp_vegas_register+0x0/0x3b returned 0 after 3172 usecs
[ 24.819022] calling xfrm_user_init+0x0/0x71 @ 1
[ 24.823662] Initializing XFRM netlink socket
[ 24.827979] initcall xfrm_user_init+0x0/0x71 returned 0 after 4217 usecs
[ 24.834694] calling packet_init+0x0/0x6d @ 1
[ 24.839048] NET: Registered protocol family 17
[ 24.843567] initcall packet_init+0x0/0x6d returned 0 after 4410 usecs
[ 24.850018] calling edsa_init_module+0x0/0x3b @ 1
[ 24.854813] initcall edsa_init_module+0x0/0x3b returned 0 after 3 usecs
[ 24.861439] calling trailer_init_module+0x0/0x3b @ 1
[ 24.866486] initcall trailer_init_module+0x0/0x3b returned 0 after 2 usecs
[ 24.873374] calling mv88e6060_init+0x0/0x3b @ 1
[ 24.878014] initcall mv88e6060_init+0x0/0x3b returned 0 after 29 usecs
[ 24.884553] calling mv88e6123_61_65_init+0x0/0x3b @ 1
[ 24.889689] initcall mv88e6123_61_65_init+0x0/0x3b returned 0 after 2 usecs
[ 24.896663] calling dsa_init_module+0x0/0x39 @ 1
[ 24.901389] bus: 'platform': add driver dsa
[ 24.905865] initcall dsa_init_module+0x0/0x39 returned 0 after 4374 usecs
[ 24.912891] calling atalk_init+0x0/0xb3 @ 1
[ 24.917159] NET: Registered protocol family 5
[ 24.970105] initcall atalk_init+0x0/0xb3 returned 0 after 51699 usecs
[ 24.976540] calling lapb_init+0x0/0x2d @ 1
[ 24.980751] initcall lapb_init+0x0/0x2d returned 0 after 1 usecs
[ 24.986751] calling af_rxrpc_init+0x0/0x1c6 @ 1
[ 24.992482] NET: Registered protocol family 33
[ 24.997027] initcall af_rxrpc_init+0x0/0x1c6 returned 0 after 5507 usecs
[ 25.003761] calling decnet_init+0x0/0xb4 @ 1
[ 25.008114] NET4: DECnet for Linux: V.2.5.68s (C) 1995-2003 Linux DECnet Project Team
[ 25.017412] DECnet: Routing cache hash table of 512 buckets, 36Kbytes
[ 25.024429] NET: Registered protocol family 12
[ 25.028898] initcall decnet_init+0x0/0xb4 returned 0 after 20294 usecs
[ 25.035440] calling dn_rtmsg_init+0x0/0x95 @ 1
[ 25.040051] initcall dn_rtmsg_init+0x0/0x95 returned 0 after 80 usecs
[ 25.046480] calling vlan_proto_init+0x0/0xeb @ 1
[ 25.051208] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
[ 25.057988] All bugs added by David S. Miller <davem@redhat.com>
[ 25.064208] initcall vlan_proto_init+0x0/0xeb returned 0 after 12693 usecs
[ 25.071092] calling lib80211_init+0x0/0x45 @ 1
[ 25.075618] lib80211: common routines for IEEE802.11 drivers
[ 25.081308] lib80211_crypt: registered algorithm 'NULL'
[ 25.086532] initcall lib80211_init+0x0/0x45 returned 0 after 10655 usecs
[ 25.093246] calling lib80211_crypto_wep_init+0x0/0x39 @ 1
[ 25.098725] lib80211_crypt: registered algorithm 'WEP'
[ 25.103880] initcall lib80211_crypto_wep_init+0x0/0x39 returned 0 after 5030 usecs
[ 25.111452] calling lib80211_crypto_ccmp_init+0x0/0x39 @ 1
[ 25.117021] lib80211_crypt: registered algorithm 'CCMP'
[ 25.122265] initcall lib80211_crypto_ccmp_init+0x0/0x39 returned 0 after 5116 usecs
[ 25.129914] calling lib80211_crypto_tkip_init+0x0/0x39 @ 1
[ 25.135504] lib80211_crypt: registered algorithm 'TKIP'
[ 25.140738] initcall lib80211_crypto_tkip_init+0x0/0x39 returned 0 after 5110 usecs
[ 25.148380] calling dcbnl_init+0x0/0x59 @ 1
[ 25.152674] initcall dcbnl_init+0x0/0x59 returned 0 after 1 usecs
[ 25.158757] calling ieee802154_nl_init+0x0/0xb4 @ 1
[ 25.220072] initcall ieee802154_nl_init+0x0/0xb4 returned 0 after 55010 usecs
[ 25.227195] calling af_ieee802154_init+0x0/0x9b @ 1
[ 25.233130] NET: Registered protocol family 36
[ 25.237575] initcall af_ieee802154_init+0x0/0x9b returned 0 after 5278 usecs
[ 25.244639] calling severities_debugfs_init+0x0/0x83 @ 1
[ 25.250083] initcall severities_debugfs_init+0x0/0x83 returned 0 after 30 usecs
[ 25.257383] calling centrino_init+0x0/0x57 @ 1
[ 25.261936] initcall centrino_init+0x0/0x57 returned -19 after 1 usecs
[ 25.268458] calling cpufreq_p4_init+0x0/0x82 @ 1
[ 25.273187] initcall cpufreq_p4_init+0x0/0x82 returned -19 after 1 usecs
[ 25.279881] calling hpet_insert_resource+0x0/0x47 @ 1
[ 25.285041] initcall hpet_insert_resource+0x0/0x47 returned 1 after 1 usecs
[ 25.292014] initcall hpet_insert_resource+0x0/0x47 returned with error code 1
[ 25.299225] calling update_mp_table+0x0/0x245 @ 1
[ 25.304038] initcall update_mp_table+0x0/0x245 returned 0 after 1 usecs
[ 25.310656] calling lapic_insert_resource+0x0/0x67 @ 1
[ 25.315883] initcall lapic_insert_resource+0x0/0x67 returned 0 after 4 usecs
[ 25.322947] calling init_lapic_nmi_sysfs+0x0/0x60 @ 1
[ 25.328081] initcall init_lapic_nmi_sysfs+0x0/0x60 returned 0 after 1 usecs
[ 25.335052] calling io_apic_bug_finalize+0x0/0x42 @ 1
[ 25.340202] initcall io_apic_bug_finalize+0x0/0x42 returned 0 after 1 usecs
[ 25.347153] calling check_early_ioremap_leak+0x0/0x8e @ 1
[ 25.352658] initcall check_early_ioremap_leak+0x0/0x8e returned 0 after 1 usecs
[ 25.359955] calling init_oops_id+0x0/0x58 @ 1
[ 25.364425] initcall init_oops_id+0x0/0x58 returned 0 after 8 usecs
[ 25.370698] calling disable_boot_consoles+0x0/0xf1 @ 1
[ 25.375922] initcall disable_boot_consoles+0x0/0xf1 returned 0 after 1 usecs
[ 25.382979] calling pm_qos_power_init+0x0/0xf0 @ 1
[ 25.387864] device: 'cpu_dma_latency': device_add
[ 25.392701] PM: Adding info for No Bus:cpu_dma_latency
[ 25.398084] device: 'network_latency': device_add
[ 25.402902] PM: Adding info for No Bus:network_latency
[ 25.408281] device: 'network_throughput': device_add
[ 25.413309] PM: Adding info for No Bus:network_throughput
[ 25.418939] initcall pm_qos_power_init+0x0/0xf0 returned 0 after 30352 usecs
[ 25.426000] calling debugfs_kprobe_init+0x0/0xac @ 1
[ 25.431134] initcall debugfs_kprobe_init+0x0/0xac returned 0 after 69 usecs
[ 25.438084] calling taskstats_init+0x0/0xbe @ 1
[ 25.442774] registered taskstats version 1
[ 25.446865] initcall taskstats_init+0x0/0xbe returned 0 after 4048 usecs
[ 25.453578] calling fail_page_alloc_debugfs+0x0/0x10d @ 1
[ 25.459170] initcall fail_page_alloc_debugfs+0x0/0x10d returned 0 after 109 usecs
[ 25.466665] calling max_swapfiles_check+0x0/0x2d @ 1
[ 25.471728] initcall max_swapfiles_check+0x0/0x2d returned 0 after 1 usecs
[ 25.478592] calling failslab_debugfs_init+0x0/0x91 @ 1
[ 25.483954] initcall failslab_debugfs_init+0x0/0x91 returned 0 after 116 usecs
[ 25.491183] calling random32_reseed+0x0/0xc2 @ 1
[ 25.495901] initcall random32_reseed+0x0/0xc2 returned 0 after 16 usecs
[ 25.502533] calling pci_resource_alignment_sysfs_init+0x0/0x40 @ 1
[ 25.508804] initcall pci_resource_alignment_sysfs_init+0x0/0x40 returned 0 after 7 usecs
[ 25.516905] calling pci_sysfs_init+0x0/0x77 @ 1
[ 25.521936] initcall pci_sysfs_init+0x0/0x77 returned 0 after 393 usecs
[ 25.528545] calling boot_wait_for_devices+0x0/0x40 @ 1
[ 25.533923] initcall boot_wait_for_devices+0x0/0x40 returned 0 after 2 usecs
[ 25.540981] calling regulator_init_complete+0x0/0x166 @ 1
[ 25.546492] initcall regulator_init_complete+0x0/0x166 returned 0 after 29 usecs
[ 25.553896] calling seqgen_init+0x0/0x36 @ 1
[ 25.558270] initcall seqgen_init+0x0/0x36 returned 0 after 18 usecs
[ 25.564549] calling late_resume_init+0x0/0x148 @ 1
[ 25.569420] Magic number: 5:393:83
[ 25.573243] initcall late_resume_init+0x0/0x148 returned 0 after 3727 usecs
[ 25.580216] calling hd_init+0x0/0x321 @ 1
[ 25.584362] hd: no drives specified - use hd=cyl,head,sectors on kernel command line
[ 25.592292] initcall hd_init+0x0/0x321 returned -1 after 7789 usecs
[ 25.598546] initcall hd_init+0x0/0x321 returned with error code -1
[ 25.604832] calling scsi_complete_async_scans+0x0/0x169 @ 1
[ 25.610499] initcall scsi_complete_async_scans+0x0/0x169 returned 0 after 2 usecs
[ 25.617967] calling dmatest_init+0x0/0x9b @ 1
[ 25.622467] initcall dmatest_init+0x0/0x9b returned 0 after 33 usecs
[ 25.628813] calling tcp_congestion_default+0x0/0x39 @ 1
[ 25.634146] initcall tcp_congestion_default+0x0/0x39 returned 0 after 3 usecs
[ 25.641289] calling ip_auto_config+0x0/0x317 @ 1
[ 25.646014] initcall ip_auto_config+0x0/0x317 returned 0 after 22 usecs
[ 25.652643] calling initialize_hashrnd+0x0/0x40 @ 1
[ 25.657610] initcall initialize_hashrnd+0x0/0x40 returned 0 after 7 usecs
[ 25.664723] async_waiting @ 1
[ 25.667695] async_continuing @ 1 after 2 usec
[ 25.674075] EXT3-fs: INFO: recovery required on readonly filesystem.
[ 25.680419] EXT3-fs: write access will be enabled during recovery.
[ 25.706142] kjournald starting. Commit interval 5 seconds
[ 25.711742] EXT3-fs: recovery complete.
[ 25.716708] EXT3-fs: mounted filesystem with ordered data mode.
[ 25.722843] VFS: Mounted root (ext3 filesystem) readonly on device 8:6.
[ 25.729549] async_waiting @ 1
[ 25.732541] async_continuing @ 1 after 2 usec
[ 25.736894] debug: unmapping init memory ffffffff81d0d000..ffffffff81f90000
[ 28.367257] device: 'device:00': dev_uevent: bus uevent() returned -12
[ 28.415833] device: 'device:01': dev_uevent: bus uevent() returned -12
[ 28.422483] device: 'device:02': dev_uevent: bus uevent() returned -12
[ 28.430445] device: 'device:03': dev_uevent: bus uevent() returned -12
[ 28.437130] device: 'device:04': dev_uevent: bus uevent() returned -12
[ 28.444459] device: 'device:05': dev_uevent: bus uevent() returned -12
[ 28.451105] device: 'device:06': dev_uevent: bus uevent() returned -12
[ 28.480746] device: 'device:07': dev_uevent: bus uevent() returned -12
[ 28.487810] device: 'device:08': dev_uevent: bus uevent() returned -12
[ 28.599996] device: 'device:09': dev_uevent: bus uevent() returned -12
[ 28.625335] device: 'device:0a': dev_uevent: bus uevent() returned -12
[ 28.632009] device: 'device:0b': dev_uevent: bus uevent() returned -12
[ 28.702005] device: 'device:0c': dev_uevent: bus uevent() returned -12
[ 28.708882] device: 'device:0d': dev_uevent: bus uevent() returned -12
[ 28.736185] device: 'device:0e': dev_uevent: bus uevent() returned -12
[ 28.779769] device: 'device:0f': dev_uevent: bus uevent() returned -12
[ 28.786715] device: 'device:10': dev_uevent: bus uevent() returned -12
[ 28.793666] device: 'device:11': dev_uevent: bus uevent() returned -12
[ 28.800320] device: 'device:12': dev_uevent: bus uevent() returned -12
[ 28.830390] device: 'device:13': dev_uevent: bus uevent() returned -12
[ 28.837132] device: 'device:14': dev_uevent: bus uevent() returned -12
[ 28.844915] device: 'device:15': dev_uevent: bus uevent() returned -12
[ 28.851564] device: 'device:16': dev_uevent: bus uevent() returned -12
[ 28.940908] device: 'device:17': dev_uevent: bus uevent() returned -12
[ 28.978315] device: 'device:18': dev_uevent: bus uevent() returned -12
[ 28.985599] device: 'device:19': dev_uevent: bus uevent() returned -12
[ 28.992232] device: 'device:1a': dev_uevent: bus uevent() returned -12
[ 28.999252] device: 'device:1b': dev_uevent: bus uevent() returned -12
[ 29.011021] device: 'device:1c': dev_uevent: bus uevent() returned -12
[ 29.019383] device: 'device:1d': dev_uevent: bus uevent() returned -12
[ 30.140704] eth1: link down
[ 37.192392] EXT3 FS on sda6, internal journal
[ 37.320228] kjournald starting. Commit interval 5 seconds
[ 37.326076] EXT3 FS on sda5, internal journal
[ 37.330491] EXT3-fs: mounted filesystem with ordered data mode.
[ 38.266621] Adding 3911816k swap on /dev/sda2. Priority:-1 extents:1 across:3911816k
[ 38.442541] CPA self-test:
[ 38.452120] 4k 262128 large 0 gb 0 x 262128[ffff880000000000-ffff88003ffef000] miss 0
[ 38.474220] 4k 262128 large 0 gb 0 x 262128[ffff880000000000-ffff88003ffef000] miss 0
[ 38.495688] 4k 262128 large 0 gb 0 x 262128[ffff880000000000-ffff88003ffef000] miss 0
[ 38.503662] ok.
[ 39.855795] warning: `dbus-daemon' uses 32-bit capabilities (legacy support in use)
[ 43.034250] numa_remove_cpu cpu 1 node 0: mask now 0
[ 43.035674] CPU 1 is now offline
[ 43.043939] lockdep: fixing up alternatives.
[ 43.048224] SMP alternatives: switching to UP code
[ 43.081725]
[ 43.081726] =======================================================
[ 43.089512] [ INFO: possible circular locking dependency detected ]
[ 43.090020] 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
[ 43.090020] -------------------------------------------------------
[ 43.090020] S99local/5002 is trying to acquire lock:
[ 43.090020] (events){+.+.+.}, at: [<ffffffff8106ff4c>] cleanup_workqueue_thread+0x2d/0xdd
[ 43.090020]
[ 43.090020] but task is already holding lock:
[ 43.090020] (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
[ 43.090020]
[ 43.090020] which lock already depends on the new lock.
[ 43.090020]
[ 43.090020]
[ 43.090020] the existing dependency chain (in reverse order) is:
[ 43.090020]
[ 43.090020] -> #4 (cpu_add_remove_lock){+.+.+.}:
[ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
[ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
[ 43.090020] [<ffffffff8105de75>] cpu_maps_update_begin+0x25/0x3b
[ 43.090020] [<ffffffff81070348>] __create_workqueue_key+0x137/0x200
[ 43.090020] [<ffffffff810a2397>] stop_machine_create+0x4d/0xc2
[ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
[ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
[ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
[ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
[ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
[ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
[ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
[ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
[ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
[ 43.090020]
[ 43.090020] -> #3 (setup_lock){+.+.+.}:
[ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
[ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
[ 43.090020] [<ffffffff810a236f>] stop_machine_create+0x25/0xc2
[ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
[ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
[ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
[ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
[ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
[ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
[ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
[ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
[ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
[ 43.090020]
[ 43.090020] -> #2 (clocksource_mutex){+.+.+.}:
[ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
[ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
[ 43.090020] [<ffffffff8108076c>] clocksource_change_rating+0x34/0xaf
[ 43.090020] [<ffffffff8108091a>] clocksource_watchdog_work+0x133/0x16f
[ 43.090020] [<ffffffff8106f9ca>] run_workqueue+0x161/0x265
[ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
[ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
[ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
[ 43.090020]
[ 43.090020] -> #1 (&watchdog_work){+.+...}:
[ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff8106f9c4>] run_workqueue+0x15b/0x265
[ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
[ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
[ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
[ 43.090020]
[ 43.090020] -> #0 (events){+.+.+.}:
[ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
[ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
[ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
[ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
[ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
[ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
[ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
[ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
[ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
[ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
[ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
[ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
[ 43.090020]
[ 43.090020] other info that might help us debug this:
[ 43.090020]
[ 43.090020] 2 locks held by S99local/5002:
[ 43.090020] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811558f9>] sysfs_write_file+0x47/0x13c
[ 43.090020] #1: (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
[ 43.090020]
[ 43.090020] stack backtrace:
[ 43.090020] Pid: 5002, comm: S99local Not tainted 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
[ 43.090020] Call Trace:
[ 43.090020] [<ffffffff81088bb0>] print_circular_bug+0xcf/0xf4
[ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
[ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
[ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
[ 43.090020] [<ffffffff81087d17>] ? mark_lock+0x31/0x17d
[ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
[ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
[ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
[ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
[ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
[ 43.090020] [<ffffffff81871283>] ? wait_for_completion+0x2b/0x41
[ 43.090020] [<ffffffff81074be5>] ? kthread_stop+0x79/0xd9
[ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
[ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
[ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
[ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
[ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
[ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
[ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
[ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
[ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
[ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
[ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
[ 43.090020] [<ffffffff810f65fa>] ? rw_verify_area+0x97/0xd1
[ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
[ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
[ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
[ 43.829633] lockdep: fixing up alternatives.
[ 43.834022] SMP alternatives: switching to SMP code
[ 43.844201] Booting processor 1 APIC 0x1 ip 0x6000
[ 43.059854] Initializing CPU#1
[ 43.059854] masked ExtINT on CPU#1
[ 43.059854] Calibrating delay using timer specific routine.. 4020.21 BogoMIPS (lpj=20101052)
[ 43.059854] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 43.059854] CPU: L2 Cache: 512K (64 bytes/line)
[ 43.059854] CPU 1/0x1 -> Node 0
[ 43.059854] CPU: Physical Processor ID: 0
[ 43.059854] CPU: Processor Core ID: 1
[ 43.059854] mce: CPU supports 5 MCE banks
[ 43.059854] numa_add_cpu cpu 1 node 0: mask now 0-1
[ 44.010131] CPU1:
[ 44.020028] Switched to high resolution mode on CPU 1
[ 44.063664] AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 44.111395] Registering sys device of class 'machinecheck'
[ 44.116925] Registering sys device 'machinecheck1'
[ 44.152752] numa_remove_cpu cpu 1 node 0: mask now 0
[ 44.153909] CPU 1 is now offline
[ 44.162169] lockdep: fixing up alternatives.
[ 44.166466] SMP alternatives: switching to UP code
[ 44.202738] lockdep: fixing up alternatives.
[ 44.207016] SMP alternatives: switching to SMP code
[ 44.217494] Booting processor 1 APIC 0x1 ip 0x6000
[ 44.181294] Initializing CPU#1
[ 44.181294] masked ExtINT on CPU#1
[ 44.181294] Calibrating delay using timer specific routine.. 4020.67 BogoMIPS (lpj=20103372)
[ 44.181294] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
[ 44.181294] CPU: L2 Cache: 512K (64 bytes/line)
[ 44.181294] CPU 1/0x1 -> Node 0
[ 44.181294] CPU: Physical Processor ID: 0
[ 44.181294] CPU: Processor Core ID: 1
[ 44.181294] mce: CPU supports 5 MCE banks
[ 44.181294] numa_add_cpu cpu 1 node 0: mask now 0-1
[ 44.380053] CPU1:
[ 44.390028] Switched to high resolution mode on CPU 1
[ 44.433633] AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
[ 44.497501] Registering sys device of class 'machinecheck'
[ 44.503042] Registering sys device 'machinecheck1'
[ 54.222933] device: 'vcs2': device_add
[ 54.223059] PM: Adding info for No Bus:vcs2
[ 54.223334] device: 'vcsa2': device_add
[ 54.223389] PM: Adding info for No Bus:vcsa2
[ 54.241967] device: 'vcs3': device_add
[ 54.242086] PM: Adding info for No Bus:vcs3
[ 54.242370] device: 'vcsa3': device_add
[ 54.242433] PM: Adding info for No Bus:vcsa3
[ 54.269818] device: 'vcs5': device_add
[ 54.269953] PM: Adding info for No Bus:vcs5
[ 54.271338] device: 'vcsa5': device_add
[ 54.271471] PM: Adding info for No Bus:vcsa5
[ 54.292644] device: 'vcs4': device_add
[ 54.292769] PM: Adding info for No Bus:vcs4
[ 54.293022] device: 'vcsa4': device_add
[ 54.293073] PM: Adding info for No Bus:vcsa4
[ 54.309636] device: 'vcs6': device_add
[ 54.309696] PM: Adding info for No Bus:vcs6
[ 54.309910] device: 'vcsa6': device_add
[ 54.309983] PM: Adding info for No Bus:vcsa6
[-- Attachment #2: config --]
[-- Type: text/plain, Size: 68403 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.31-rc6
# Mon Aug 17 11:04:07 2009
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
# CONFIG_BOOTPARAM_SUPPORT_NOT_WANTED is not set
# CONFIG_BOOTPARAM_SUPPORT is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_BOOT_ALLOWED4=y
CONFIG_BROKEN_BOOT_ALLOWED3=y
# CONFIG_BROKEN_BOOT_ALLOWED2 is not set
# CONFIG_BROKEN_BOOT_DISALLOWED is not set
# CONFIG_BROKEN_BOOT_EUROPE is not set
# CONFIG_BROKEN_BOOT_TITAN is not set
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_LZMA=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_TRACE=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_EXACT=y
CONFIG_TREE_RCU_TRACE=y
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
# CONFIG_IPC_NS is not set
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_SIGNALFD is not set
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
# CONFIG_SHMEM is not set
CONFIG_AIO=y
CONFIG_HAVE_PERF_COUNTERS=y
#
# Performance Counters
#
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
#
# GCOV-based kernel profiling
#
CONFIG_SLOW_WORK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=m
# CONFIG_IOSCHED_CFQ is not set
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_FREEZER=y
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP_SUPPORT=y
CONFIG_X86_X2APIC=y
CONFIG_SPARSE_IRQ=y
CONFIG_NUMA_IRQ_DESC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_XEN=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=32
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_MEMTEST=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
# CONFIG_X86_DS is not set
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_X86_CPU_DEBUG=y
CONFIG_UP_WANTED_1=y
CONFIG_UP_WANTED_2=y
# CONFIG_UP_WANTED is not set
CONFIG_SMP=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
# CONFIG_SPARSEMEM_VMEMMAP is not set
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_MIGRATION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_HAVE_MLOCK=y
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW_64K=y
# CONFIG_MTRR is not set
CONFIG_EFI=y
# CONFIG_SECCOMP is not set
CONFIG_CC_STACKPROTECTOR_ALL=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
#
# Power management and ACPI options
#
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_VERBOSE=y
CONFIG_CAN_PM_TRACE=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROCFS_POWER=y
# CONFIG_ACPI_SYSFS_POWER is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_SBS=y
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_DEBUG=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K8 is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_P4_CLOCKMOD=y
#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
#
# Memory power savings
#
CONFIG_I7300_IDLE_IOAT_CHANNEL=y
CONFIG_I7300_IDLE=m
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCI_MMCONFIG is not set
CONFIG_PCI_DOMAINS=y
CONFIG_DMAR=y
# CONFIG_DMAR_DEFAULT_ON is not set
CONFIG_DMAR_BROKEN_GFX_WA=y
CONFIG_DMAR_FLOPPY_WA=y
CONFIG_INTR_REMAP=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_STUB=m
# CONFIG_HT_IRQ is not set
CONFIG_PCI_IOV=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA_DEBUG=y
# CONFIG_PCMCIA is not set
CONFIG_CARDBUS=y
#
# PC-card bridges
#
# CONFIG_YENTA is not set
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=m
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
# CONFIG_IP_MROUTE is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=m
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=m
# CONFIG_TCP_CONG_WESTWOOD is not set
CONFIG_TCP_CONG_HTCP=y
# CONFIG_TCP_CONG_HSTCP is not set
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
# CONFIG_TCP_CONG_SCALABLE is not set
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_DEFAULT_BIC is not set
# CONFIG_DEFAULT_CUBIC is not set
CONFIG_DEFAULT_HTCP=y
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="htcp"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
# CONFIG_INET6_IPCOMP is not set
CONFIG_IPV6_MIP6=m
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETLABEL=y
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_NETFILTER_ADVANCED=y
# CONFIG_BRIDGE_NETFILTER is not set
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
# CONFIG_NF_CT_PROTO_DCCP is not set
# CONFIG_NF_CT_PROTO_SCTP is not set
# CONFIG_NF_CT_PROTO_UDPLITE is not set
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=m
# CONFIG_NF_CONNTRACK_H323 is not set
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
# CONFIG_NF_CONNTRACK_PPTP is not set
CONFIG_NF_CONNTRACK_SANE=m
# CONFIG_NF_CONNTRACK_SIP is not set
# CONFIG_NF_CONNTRACK_TFTP is not set
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=y
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
CONFIG_NETFILTER_XT_TARGET_HL=y
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
# CONFIG_NETFILTER_XT_MATCH_HL is not set
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=y
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
CONFIG_IP_VS=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
# CONFIG_IP_VS_PROTO_UDP is not set
# CONFIG_IP_VS_PROTO_ESP is not set
# CONFIG_IP_VS_PROTO_AH is not set
#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
# CONFIG_IP_VS_LC is not set
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_LBLC=y
# CONFIG_IP_VS_LBLCR is not set
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
# CONFIG_IP_VS_SED is not set
CONFIG_IP_VS_NQ=m
#
# IPVS application helper
#
# CONFIG_IP_VS_FTP is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_AH=y
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_TTL is not set
CONFIG_IP_NF_FILTER=y
# CONFIG_IP_NF_TARGET_REJECT is not set
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_H323 is not set
# CONFIG_NF_NAT_SIP is not set
CONFIG_IP_NF_MANGLE=y
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
# CONFIG_IP_NF_ARPTABLES is not set
#
# IPv6: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
# CONFIG_IP6_NF_MATCH_EUI64 is not set
# CONFIG_IP6_NF_MATCH_FRAG is not set
CONFIG_IP6_NF_MATCH_OPTS=m
# CONFIG_IP6_NF_MATCH_HL is not set
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
# CONFIG_IP6_NF_MATCH_MH is not set
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
# CONFIG_IP6_NF_TARGET_LOG is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
# CONFIG_IP6_NF_SECURITY is not set
#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=y
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2_DEBUG=y
# CONFIG_IP_DCCP_CCID3 is not set
#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
CONFIG_SCTP_DBG_MSG=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_HMAC_NONE=y
# CONFIG_SCTP_HMAC_SHA1 is not set
# CONFIG_SCTP_HMAC_MD5 is not set
CONFIG_TIPC=m
CONFIG_TIPC_ADVANCED=y
CONFIG_TIPC_ZONES=3
CONFIG_TIPC_CLUSTERS=1
CONFIG_TIPC_NODES=255
CONFIG_TIPC_SLAVE_NODES=0
CONFIG_TIPC_PORTS=8191
CONFIG_TIPC_LOG=0
# CONFIG_TIPC_DEBUG is not set
CONFIG_ATM=y
# CONFIG_ATM_CLIP is not set
# CONFIG_ATM_LANE is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_BRIDGE=m
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_DSA is not set
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
# CONFIG_NET_DSA_MV88E6131 is not set
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_DECNET=y
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=m
# CONFIG_IPDDP is not set
CONFIG_X25=m
CONFIG_LAPB=y
CONFIG_ECONET=m
# CONFIG_ECONET_AUNUDP is not set
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=y
CONFIG_PHONET=m
CONFIG_IEEE802154=y
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
# CONFIG_NET_SCH_TEQL is not set
CONFIG_NET_SCH_TBF=y
# CONFIG_NET_SCH_GRED is not set
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
# CONFIG_NET_SCH_DRR is not set
CONFIG_NET_SCH_INGRESS=y
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
# CONFIG_NET_CLS_FW is not set
CONFIG_NET_CLS_U32=y
# CONFIG_CLS_U32_PERF is not set
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
# CONFIG_NET_EMATCH_U32 is not set
CONFIG_NET_EMATCH_META=m
# CONFIG_NET_EMATCH_TEXT is not set
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_ACT_POLICE is not set
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_IPT is not set
# CONFIG_NET_ACT_NAT is not set
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
#
# Network testing
#
CONFIG_NET_PKTGEN=y
CONFIG_NET_TCPPROBE=y
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
#
# CAN Device Drivers
#
# CONFIG_CAN_VCAN is not set
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
# CONFIG_CAN_SJA1000 is not set
CONFIG_CAN_DEBUG_DEVICES=y
CONFIG_IRDA=y
#
# IrDA protocols
#
# CONFIG_IRLAN is not set
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y
#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set
#
# Infrared-port device drivers
#
#
# SIR device drivers
#
CONFIG_IRTTY_SIR=y
#
# Dongle support
#
CONFIG_DONGLE=y
# CONFIG_ESI_DONGLE is not set
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=y
# CONFIG_TOIM3232_DONGLE is not set
CONFIG_LITELINK_DONGLE=y
CONFIG_MA600_DONGLE=y
CONFIG_GIRBIL_DONGLE=y
# CONFIG_MCP2120_DONGLE is not set
CONFIG_OLD_BELKIN_DONGLE=m
# CONFIG_ACT200L_DONGLE is not set
CONFIG_KINGSUN_DONGLE=y
CONFIG_KSDAZZLE_DONGLE=m
CONFIG_KS959_DONGLE=y
#
# FIR device drivers
#
CONFIG_USB_IRDA=m
# CONFIG_SIGMATEL_FIR is not set
CONFIG_NSC_FIR=y
CONFIG_WINBOND_FIR=y
CONFIG_SMC_IRCC_FIR=y
# CONFIG_ALI_FIR is not set
CONFIG_VLSI_FIR=y
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=y
# CONFIG_BT is not set
CONFIG_AF_RXRPC=y
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_CFG80211_REG_DEBUG=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
CONFIG_LIB80211_DEBUG=y
# CONFIG_MAC80211 is not set
CONFIG_MAC80211_DEFAULT_PS_VALUE=0
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
CONFIG_SYS_HYPERVISOR=y
CONFIG_CONNECTOR=y
# CONFIG_PROC_EVENTS is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_XIP=y
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_BLK_DEV_HD=y
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
CONFIG_PHANTOM=y
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=y
CONFIG_TIFM_7XX1=m
CONFIG_ICS932S401=y
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_HP_ILO=m
CONFIG_DELL_LAPTOP=m
# CONFIG_ISL29003 is not set
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y
#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_EEPROM_LEGACY=m
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=y
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=y
# CONFIG_SCSI_ENCLOSURE is not set
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
CONFIG_SCSI_SRP_ATTRS=y
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_ACARD=y
# CONFIG_SCSI_AACRAID is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC94XX is not set
CONFIG_SCSI_MVSAS=y
CONFIG_SCSI_MVSAS_DEBUG=y
CONFIG_SCSI_DPT_I2O=y
# CONFIG_SCSI_ADVANSYS is not set
CONFIG_SCSI_ARCMSR=y
CONFIG_SCSI_ARCMSR_AER=y
CONFIG_MEGARAID_NEWGEN=y
# CONFIG_MEGARAID_MM is not set
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS_LOGGING=y
# CONFIG_SCSI_HPTIOP is not set
CONFIG_SCSI_BUSLOGIC=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
# CONFIG_FCOE is not set
CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
# CONFIG_SCSI_EATA is not set
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
CONFIG_SCSI_IZIP_SLOW_CTR=y
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_MMIO is not set
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
# CONFIG_SCSI_IPR_DUMP is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA_FC=y
CONFIG_SCSI_QLA_ISCSI=y
CONFIG_SCSI_LPFC=y
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_SRP=m
CONFIG_SCSI_DH=m
CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_OSD_INITIATOR=y
# CONFIG_SCSI_OSD_ULD is not set
CONFIG_SCSI_OSD_DPRINT_SENSE=1
CONFIG_SCSI_OSD_DEBUG=y
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_SIL24=m
CONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
# CONFIG_PDC_ADMA is not set
CONFIG_SATA_QSTOR=m
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SX4=m
CONFIG_SATA_SIL=y
# CONFIG_SATA_SIS is not set
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=y
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ACPI is not set
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=y
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
CONFIG_PATA_CS5530=m
# CONFIG_PATA_CYPRESS is not set
CONFIG_PATA_EFAR=m
CONFIG_ATA_GENERIC=m
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=m
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
CONFIG_PATA_JMICRON=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_MARVELL=m
# CONFIG_PATA_MPIIX is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_NETCELL is not set
CONFIG_PATA_NINJA32=y
CONFIG_PATA_NS87410=m
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OPTI=m
# CONFIG_PATA_OPTIDMA is not set
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RZ1000=m
# CONFIG_PATA_SC1200 is not set
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_PDC2027X=y
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=y
# CONFIG_PATA_PLATFORM is not set
CONFIG_PATA_SCH=m
# CONFIG_MD is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=m
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LAN is not set
CONFIG_FUSION_LOGGING=y
#
# IEEE 1394 (FireWire) support
#
#
# You can enable one or both FireWire driver stacks.
#
#
# See the help texts for more information.
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_MAC_EMUMOUSEBTN is not set
CONFIG_NETDEVICES=y
CONFIG_IFB=m
# CONFIG_DUMMY is not set
CONFIG_BONDING=m
CONFIG_MACVLAN=m
CONFIG_EQUALIZER=y
# CONFIG_TUN is not set
# CONFIG_VETH is not set
CONFIG_NET_SB1000=m
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
# CONFIG_REALTEK_PHY is not set
CONFIG_NATIONAL_PHY=y
# CONFIG_STE10XP is not set
CONFIG_LSI_ET1011C_PHY=y
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_GPIO=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
CONFIG_SUNGEM=y
CONFIG_CASSINI=m
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_VORTEX=y
# CONFIG_ENC28J60 is not set
# CONFIG_ETHOC is not set
CONFIG_DNET=m
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
# CONFIG_ULI526X is not set
CONFIG_PCMCIA_XIRCOM=m
CONFIG_HP100=y
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
CONFIG_FORCEDETH_NAPI=y
CONFIG_E100=y
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_R6040=m
CONFIG_SIS900=y
# CONFIG_EPIC100 is not set
CONFIG_SMSC9420=m
CONFIG_SUNDANCE=y
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_TLAN is not set
# CONFIG_KS8842 is not set
CONFIG_KS8851=y
# CONFIG_VIA_RHINE is not set
CONFIG_SC92031=m
# CONFIG_NET_POCKET is not set
# CONFIG_ATL2 is not set
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=y
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_DL2K=y
CONFIG_E1000=m
CONFIG_E1000E=y
# CONFIG_IP1000 is not set
CONFIG_IGB=m
CONFIG_IGB_DCA=y
# CONFIG_IGBVF is not set
CONFIG_NS83820=y
CONFIG_HAMACHI=y
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
CONFIG_VIA_VELOCITY=y
CONFIG_TIGON3=y
CONFIG_BNX2=m
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_JME=y
# CONFIG_NETDEV_10000 is not set
CONFIG_TR=y
# CONFIG_IBMOL is not set
CONFIG_3C359=y
# CONFIG_TMS380TR is not set
#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_LIBERTAS is not set
# CONFIG_AIRO is not set
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=y
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_DEBUG=y
CONFIG_LIBIPW=y
# CONFIG_LIBIPW_DEBUG is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
# CONFIG_HERMES is not set
CONFIG_IWM=m
CONFIG_IWM_DEBUG=y
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
#
# USB Network Adapters
#
CONFIG_USB_CATC=y
# CONFIG_USB_KAWETH is not set
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=y
# CONFIG_USB_USBNET is not set
CONFIG_USB_CDC_PHONET=m
# CONFIG_WAN is not set
# CONFIG_ATM_DRIVERS is not set
CONFIG_IEEE802154_DRIVERS=y
CONFIG_IEEE802154_FAKEHARD=y
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_FDDI=y
CONFIG_DEFXX=m
CONFIG_DEFXX_MMIO=y
CONFIG_SKFP=m
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_NET_FC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
# CONFIG_ISDN_PPP is not set
# CONFIG_ISDN_AUDIO is not set
# CONFIG_ISDN_X25 is not set
#
# ISDN feature submodules
#
CONFIG_ISDN_DIVERSION=m
#
# ISDN4Linux hardware drivers
#
#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=m
#
# D-channel protocol features
#
# CONFIG_HISAX_EURO is not set
CONFIG_HISAX_1TR6=y
# CONFIG_HISAX_NI1 is not set
CONFIG_HISAX_MAX_CARDS=8
#
# HiSax supported cards
#
CONFIG_HISAX_16_3=y
# CONFIG_HISAX_TELESPCI is not set
CONFIG_HISAX_S0BOX=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
# CONFIG_HISAX_DIEHLDIVA is not set
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_NETJET=y
# CONFIG_HISAX_NETJET_U is not set
# CONFIG_HISAX_NICCY is not set
CONFIG_HISAX_BKM_A4T=y
# CONFIG_HISAX_SCT_QUADRO is not set
# CONFIG_HISAX_GAZEL is not set
CONFIG_HISAX_HFC_PCI=y
CONFIG_HISAX_W6692=y
# CONFIG_HISAX_HFC_SX is not set
CONFIG_HISAX_ENTERNOW_PCI=y
# CONFIG_HISAX_DEBUG is not set
#
# HiSax PCMCIA card service modules
#
#
# HiSax sub driver modules
#
# CONFIG_HISAX_ST5481 is not set
# CONFIG_HISAX_HFCUSB is not set
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
#
# Active cards
#
CONFIG_HYSDN=m
# CONFIG_ISDN_CAPI is not set
# CONFIG_ISDN_DRV_GIGASET is not set
CONFIG_PHONE=y
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=m
# CONFIG_XEN_KBDDEV_FRONTEND is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_LKKBD=y
# CONFIG_KEYBOARD_GPIO is not set
CONFIG_KEYBOARD_MATRIX=y
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_KEYBOARD_STOWAWAY=y
# CONFIG_KEYBOARD_SUNKBD is not set
CONFIG_KEYBOARD_XTKBD=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=y
CONFIG_JOYSTICK_COBRA=m
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
CONFIG_JOYSTICK_GRIP_MP=y
CONFIG_JOYSTICK_GUILLEMOT=y
# CONFIG_JOYSTICK_INTERACT is not set
CONFIG_JOYSTICK_SIDEWINDER=y
CONFIG_JOYSTICK_TMDC=y
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
CONFIG_JOYSTICK_WARRIOR=m
# CONFIG_JOYSTICK_MAGELLAN is not set
CONFIG_JOYSTICK_SPACEORB=m
# CONFIG_JOYSTICK_SPACEBALL is not set
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
CONFIG_JOYSTICK_TURBOGRAFX=m
CONFIG_JOYSTICK_JOYDUMP=y
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
# CONFIG_JOYSTICK_XPAD_LEDS is not set
CONFIG_JOYSTICK_WALKERA0701=m
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=y
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_NOZOMI=m
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_8250_PCI is not set
# CONFIG_SERIAL_8250_PNP is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
# CONFIG_PPDEV is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=m
# CONFIG_IPMI_SI is not set
# CONFIG_IPMI_WATCHDOG is not set
CONFIG_IPMI_POWEROFF=m
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
CONFIG_APPLICOM=y
CONFIG_MWAVE=y
CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HPET is not set
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_HELPER_AUTO is not set
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
CONFIG_I2C_ALI1563=m
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=y
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
CONFIG_I2C_SIS5595=y
CONFIG_I2C_SIS630=y
# CONFIG_I2C_SIS96X is not set
CONFIG_I2C_VIA=m
# CONFIG_I2C_VIAPRO is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_GPIO=y
CONFIG_I2C_OCORES=y
CONFIG_I2C_SIMTEC=y
#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_TAOS_EVM=m
# CONFIG_I2C_TINY_USB is not set
#
# Graphics adapter I2C/DDC channel drivers
#
CONFIG_I2C_VOODOO3=m
#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_STUB=m
#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
CONFIG_SENSORS_TSL2550=m
CONFIG_I2C_DEBUG_CORE=y
# CONFIG_I2C_DEBUG_ALGO is not set
CONFIG_I2C_DEBUG_BUS=y
CONFIG_I2C_DEBUG_CHIP=y
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_GPIO is not set
CONFIG_SPI_LM70_LLP=m
#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_TLE62X0 is not set
#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
#
# Memory mapped GPIO expanders:
#
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
#
# PCI GPIO expanders:
#
CONFIG_GPIO_BT8XX=y
#
# SPI GPIO expanders:
#
CONFIG_GPIO_MAX7301=y
CONFIG_GPIO_MCP23S08=m
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=m
CONFIG_POWER_SUPPLY_DEBUG=y
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
CONFIG_BATTERY_DA9030=m
# CONFIG_BATTERY_MAX17040 is not set
CONFIG_CHARGER_PCF50633=m
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
# CONFIG_SENSORS_ADCXX is not set
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=y
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=y
# CONFIG_SENSORS_ADM9240 is not set
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7473=y
CONFIG_SENSORS_ADT7475=y
CONFIG_SENSORS_K8TEMP=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_F71805F=y
# CONFIG_SENSORS_F71882FG is not set
CONFIG_SENSORS_F75375S=y
# CONFIG_SENSORS_FSCHER is not set
CONFIG_SENSORS_FSCPOS=y
CONFIG_SENSORS_FSCHMD=y
CONFIG_SENSORS_G760A=y
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=y
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBMPEX is not set
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not set
CONFIG_SENSORS_LM70=y
# CONFIG_SENSORS_LM75 is not set
CONFIG_SENSORS_LM77=y
# CONFIG_SENSORS_LM78 is not set
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LTC4215=y
CONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LM95241 is not set
CONFIG_SENSORS_MAX1111=m
# CONFIG_SENSORS_MAX1619 is not set
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_SHT15=y
CONFIG_SENSORS_SIS5595=y
CONFIG_SENSORS_DME1737=m
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_THMC50=m
# CONFIG_SENSORS_TMP401 is not set
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
# CONFIG_SENSORS_VT8231 is not set
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=y
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83L786NG=m
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_SENSORS_APPLESMC=m
CONFIG_HWMON_DEBUG_CHIP=y
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
# CONFIG_SSB_SILENT is not set
CONFIG_SSB_DEBUG=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_SM501 is not set
CONFIG_HTC_PASIC3=m
CONFIG_TPS65010=m
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_PCF50633=y
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=y
CONFIG_AB3100_CORE=y
# CONFIG_EZX_PCAP is not set
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_BQ24022=m
CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_WM8400=m
# CONFIG_REGULATOR_DA903X is not set
CONFIG_REGULATOR_PCF50633=m
# CONFIG_REGULATOR_LP3971 is not set
CONFIG_MEDIA_SUPPORT=y
#
# Multimedia core support
#
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_DVB_CORE=m
CONFIG_VIDEO_MEDIA=m
#
# Multimedia drivers
#
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_CUSTOMISE=y
# CONFIG_MEDIA_TUNER_SIMPLE is not set
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
# CONFIG_MEDIA_TUNER_TEA5761 is not set
CONFIG_MEDIA_TUNER_TEA5767=m
# CONFIG_MEDIA_TUNER_MT20XX is not set
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MT2131=m
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
CONFIG_MEDIA_TUNER_XC5000=m
# CONFIG_MEDIA_TUNER_MXL5005S is not set
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
# CONFIG_VIDEO_CAPTURE_DRIVERS is not set
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_DVB_DYNAMIC_MINORS=y
# CONFIG_DVB_CAPTURE_DRIVERS is not set
CONFIG_DAB=y
# CONFIG_USB_DABUSB is not set
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=m
CONFIG_AGP_VIA=y
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
CONFIG_DRM_R128=m
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=y
# CONFIG_DRM_VIA is not set
CONFIG_DRM_SAVAGE=y
CONFIG_VGASTATE=y
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=m
CONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=y
# CONFIG_FB_ARC is not set
CONFIG_FB_IMSTT=y
CONFIG_FB_UVESA=m
CONFIG_FB_EFI=y
CONFIG_FB_N411=m
CONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
CONFIG_FB_S1D13XXX=y
CONFIG_FB_NVIDIA=m
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_NVIDIA_DEBUG is not set
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_RIVA_BACKLIGHT=y
# CONFIG_FB_LE80578 is not set
CONFIG_FB_INTEL=m
CONFIG_FB_INTEL_DEBUG=y
CONFIG_FB_INTEL_I2C=y
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not set
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
CONFIG_FB_S3=m
CONFIG_FB_SAVAGE=y
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
# CONFIG_FB_SIS is not set
CONFIG_FB_VIA=m
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
# CONFIG_FB_3DFX is not set
CONFIG_FB_VOODOO1=y
# CONFIG_FB_VT8623 is not set
CONFIG_FB_TRIDENT=y
CONFIG_FB_ARK=y
CONFIG_FB_PM3=m
# CONFIG_FB_CARMINE is not set
CONFIG_FB_GEODE=y
# CONFIG_FB_GEODE_LX is not set
CONFIG_FB_GEODE_GX=y
# CONFIG_FB_GEODE_GX1 is not set
CONFIG_FB_TMIO=m
# CONFIG_FB_TMIO_ACCELL is not set
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_FB_METRONOME=m
CONFIG_FB_MB862XX=y
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_BROADSHEET=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_PROGEAR=y
# CONFIG_BACKLIGHT_DA903X is not set
CONFIG_BACKLIGHT_MBP_NVIDIA=m
CONFIG_BACKLIGHT_SAHARA=y
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=m
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
CONFIG_USB_KBD=m
CONFIG_USB_MOUSE=y
#
# Special HID drivers
#
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_OTG_WHITELIST=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_MON is not set
CONFIG_USB_WUSB=y
CONFIG_USB_WUSB_CBAF=y
CONFIG_USB_WUSB_CBAF_DEBUG=y
#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
CONFIG_USB_OXU210HP_HCD=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_ISP1760_HCD=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=y
# CONFIG_USB_SL811_HCD is not set
CONFIG_USB_R8A66597_HCD=m
CONFIG_USB_HWA_HCD=m
#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
# CONFIG_USB_STORAGE is not set
CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
CONFIG_USB_MICROTEK=y
#
# USB port drivers
#
CONFIG_USB_USS720=m
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_EZUSB=y
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
CONFIG_USB_SERIAL_ARK3116=m
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FUNSOFT=y
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=y
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
CONFIG_USB_SERIAL_IUU=y
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=m
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
CONFIG_USB_SERIAL_MOTOROLA=m
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=y
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIEMENS_MPI=y
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
CONFIG_USB_SERIAL_SYMBOL=y
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_DEBUG=y
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=y
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
CONFIG_USB_FTDI_ELAN=y
CONFIG_USB_APPLEDISPLAY=y
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_IOWARRIOR is not set
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=y
# CONFIG_USB_VST is not set
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
# CONFIG_USB_CXACRU is not set
CONFIG_USB_UEAGLEATM=m
# CONFIG_USB_XUSBATM is not set
#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=y
CONFIG_UWB_HWA=m
# CONFIG_UWB_WHCI is not set
# CONFIG_UWB_WLP is not set
# CONFIG_UWB_I1480U is not set
CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
CONFIG_MMC_UNSAFE_RESUME=y
#
# MMC/SD/SDIO Card Drivers
#
# CONFIG_MMC_BLOCK is not set
CONFIG_SDIO_UART=y
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=m
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=y
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SPI=m
# CONFIG_MMC_CB710 is not set
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=y
CONFIG_MEMSTICK_DEBUG=y
#
# MemoryStick drivers
#
CONFIG_MEMSTICK_UNSAFE_RESUME=y
CONFIG_MSPRO_BLOCK=y
#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MEMSTICK_JMICRON_38X=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
CONFIG_LEDS_ALIX2=m
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_GPIO_PLATFORM is not set
# CONFIG_LEDS_LP3944 is not set
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_DA903X is not set
CONFIG_LEDS_DAC124S085=y
CONFIG_LEDS_BD2802=m
#
# LED Triggers
#
# CONFIG_LEDS_TRIGGERS is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_IPATH=y
# CONFIG_INFINIBAND_AMSO1100 is not set
# CONFIG_MLX4_INFINIBAND is not set
# CONFIG_INFINIBAND_NES is not set
CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
CONFIG_INFINIBAND_SRP=y
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m
#
# RTC interfaces
#
# CONFIG_RTC_INTF_SYSFS is not set
# CONFIG_RTC_INTF_PROC is not set
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
# CONFIG_RTC_DRV_ISL1208 is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8563=m
# CONFIG_RTC_DRV_PCF8583 is not set
CONFIG_RTC_DRV_M41T80=m
# CONFIG_RTC_DRV_M41T80_WDT is not set
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
# CONFIG_RTC_DRV_RX8025 is not set
#
# SPI RTC drivers
#
CONFIG_RTC_DRV_M41T94=m
CONFIG_RTC_DRV_DS1305=m
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_DS1742=m
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
CONFIG_RTC_DRV_M48T59=m
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_V3020 is not set
CONFIG_RTC_DRV_PCF50633=m
#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=y
CONFIG_DMA_ENGINE=y
#
# DMA Clients
#
CONFIG_NET_DMA=y
# CONFIG_ASYNC_TX_DMA is not set
CONFIG_DMATEST=y
CONFIG_DCA=y
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_SMX=m
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
#
# TI VLYNQ
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
# CONFIG_XENFS is not set
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACER_WMI is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_FUJITSU_LAPTOP=m
CONFIG_FUJITSU_LAPTOP_DEBUG=y
CONFIG_HP_WMI=m
CONFIG_MSI_LAPTOP=m
CONFIG_PANASONIC_LAPTOP=m
# CONFIG_COMPAL_LAPTOP is not set
CONFIG_THINKPAD_ACPI=y
CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
CONFIG_THINKPAD_ACPI_DEBUG=y
CONFIG_THINKPAD_ACPI_UNSAFE_LEDS=y
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_INTEL_MENLOW=m
CONFIG_ACPI_WMI=m
CONFIG_ACPI_ASUS=m
# CONFIG_ACPI_TOSHIBA is not set
#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_EDD_OFF=y
# CONFIG_FIRMWARE_MEMMAP is not set
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=y
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
# CONFIG_REISERFS_FS_POSIX_ACL is not set
# CONFIG_REISERFS_FS_SECURITY is not set
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_XFS_DEBUG=y
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
# CONFIG_INOTIFY_USER is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_HISTOGRAM is not set
CONFIG_FSCACHE_DEBUG=y
# CONFIG_CACHEFILES is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_VFAT_FS is not set
CONFIG_FAT_DEFAULT_CODEPAGE=437
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=y
CONFIG_BEFS_DEBUG=y
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_CRAMFS=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=m
# CONFIG_MINIX_FS is not set
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=m
# CONFIG_ROMFS_FS is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_NILFS2_FS=y
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
CONFIG_EXPORTFS=y
CONFIG_SMB_FS=y
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
# CONFIG_CIFS_POSIX is not set
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
CONFIG_AFS_DEBUG=y
CONFIG_AFS_FSCACHE=y
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
# CONFIG_EFI_PARTITION is not set
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
# CONFIG_NLS_CODEPAGE_857 is not set
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=m
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ALLOW_WARNINGS=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
# CONFIG_DETECT_SOFTLOCKUP is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
CONFIG_SLUB_DEBUG_ON=y
CONFIG_SLUB_STATS=y
# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_WRITECOUNT=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_SG is not set
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_RCU_TORTURE_TEST=m
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_BACKTRACE_SELF_TEST=m
CONFIG_LKDTM=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FTRACE_SYSCALLS=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DMA_API_DEBUG=y
CONFIG_SAMPLES=y
CONFIG_SAMPLE_MARKERS=m
CONFIG_SAMPLE_TRACEPOINTS=m
CONFIG_SAMPLE_KOBJECT=m
CONFIG_SAMPLE_KPROBES=m
CONFIG_SAMPLE_KRETPROBES=m
CONFIG_SAMPLE_HW_BREAKPOINT=m
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=m
CONFIG_KGDB_TESTS=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_X86_PTDUMP=y
# CONFIG_DEBUG_RODATA is not set
CONFIG_DEBUG_NX_TEST=m
CONFIG_IOMMU_DEBUG=y
CONFIG_IOMMU_STRESS=y
CONFIG_IOMMU_LEAK=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
CONFIG_OPTIMIZE_INLINING=y
#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
# CONFIG_SECURITYFS is not set
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_FILE_CAPABILITIES=y
CONFIG_INTEL_TXT=y
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_IMA is not set
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=y
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_TEST=m
#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_FPU=y
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=m
# CONFIG_CRYPTO_XCBC is not set
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
# CONFIG_CRYPTO_RMD128 is not set
CONFIG_CRYPTO_RMD160=y
# CONFIG_CRYPTO_RMD256 is not set
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=m
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_WP512=y
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES_NI_INTEL=y
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_CAMELLIA is not set
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
# CONFIG_CRYPTO_KHAZAD is not set
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_X86_64=m
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_TEA=y
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_ZLIB=y
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
# CONFIG_CRYPTO_DEV_PADLOCK_AES is not set
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_CRYPTO_DEV_HIFN_795X=m
# CONFIG_CRYPTO_DEV_HIFN_795X_RNG is not set
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
# CONFIG_VIRTUALIZATION is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_NLATTR=y
CONFIG_FORCE_SUCCESSFUL_BUILD=y
CONFIG_FORCE_MINIMAL_CONFIG=y
CONFIG_FORCE_MINIMAL_CONFIG_64=y
CONFIG_FORCE_MINIMAL_CONFIG_PHYS=y
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-17 9:28 ` [circular locking bug] " Ingo Molnar
@ 2009-08-17 17:53 ` Martin Schwidefsky
2009-08-18 15:09 ` Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-17 17:53 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
On Mon, 17 Aug 2009 11:28:07 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> -tip testing still triggers lockdep troubles with latest
> timers/core. I think timekeeping_notify() might be involved.
>
> Bootlog below, config attached.
> [ 43.081726] =======================================================
> [ 43.089512] [ INFO: possible circular locking dependency detected ]
> [ 43.090020] 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
> [ 43.090020] -------------------------------------------------------
> [ 43.090020] S99local/5002 is trying to acquire lock:
> [ 43.090020] (events){+.+.+.}, at: [<ffffffff8106ff4c>] cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020]
> [ 43.090020] but task is already holding lock:
> [ 43.090020] (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
> [ 43.090020]
> [ 43.090020] which lock already depends on the new lock.
> [ 43.090020]
> [ 43.090020]
> [ 43.090020] the existing dependency chain (in reverse order) is:
> [ 43.090020]
> [ 43.090020] -> #4 (cpu_add_remove_lock){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff8105de75>] cpu_maps_update_begin+0x25/0x3b
> [ 43.090020] [<ffffffff81070348>] __create_workqueue_key+0x137/0x200
> [ 43.090020] [<ffffffff810a2397>] stop_machine_create+0x4d/0xc2
> [ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
> [ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
> [ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
> [ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
> [ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
> [ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
> [ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
> [ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #3 (setup_lock){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff810a236f>] stop_machine_create+0x25/0xc2
> [ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
> [ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
> [ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
> [ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
> [ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
> [ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
> [ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
> [ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #2 (clocksource_mutex){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff8108076c>] clocksource_change_rating+0x34/0xaf
> [ 43.090020] [<ffffffff8108091a>] clocksource_watchdog_work+0x133/0x16f
> [ 43.090020] [<ffffffff8106f9ca>] run_workqueue+0x161/0x265
> [ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
> [ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #1 (&watchdog_work){+.+...}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106f9c4>] run_workqueue+0x15b/0x265
> [ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
> [ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #0 (events){+.+.+.}:
> [ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
> [ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
> [ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
> [ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
> [ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
> [ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
> [ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
> [ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
> [ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
> [ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
> [ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
> [ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
> [ 43.090020]
> [ 43.090020] other info that might help us debug this:
> [ 43.090020]
> [ 43.090020] 2 locks held by S99local/5002:
> [ 43.090020] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811558f9>] sysfs_write_file+0x47/0x13c
> [ 43.090020] #1: (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
> [ 43.090020]
> [ 43.090020] stack backtrace:
> [ 43.090020] Pid: 5002, comm: S99local Not tainted 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
> [ 43.090020] Call Trace:
> [ 43.090020] [<ffffffff81088bb0>] print_circular_bug+0xcf/0xf4
> [ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
> [ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81087d17>] ? mark_lock+0x31/0x17d
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81871283>] ? wait_for_completion+0x2b/0x41
> [ 43.090020] [<ffffffff81074be5>] ? kthread_stop+0x79/0xd9
> [ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
> [ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
> [ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
> [ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
> [ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
> [ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
> [ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
> [ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
> [ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
> [ 43.090020] [<ffffffff810f65fa>] ? rw_verify_area+0x97/0xd1
> [ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
> [ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
> [ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
> [ 43.829633] lockdep: fixing up alternatives.
Urg. As far as I read the lockdep message it complains about this:
cpu_down tries to remove the workqueue, the workqueue tries to get
the clocksource_mutex, timekeeping_notify is called with the
clocksource_mutex held and tries to execute stop_machine which is
blocked because of cpu_down.
A solution would be to use a single-threaded workqueue, no?
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-17 9:28 ` [circular locking bug] " Ingo Molnar
2009-08-17 17:53 ` Martin Schwidefsky
@ 2009-08-18 15:09 ` Martin Schwidefsky
2009-08-19 10:06 ` [tip:timers/core] clocksource: Avoid clocksource watchdog circular locking dependency tip-bot for Martin Schwidefsky
2009-08-19 20:25 ` [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Ingo Molnar
1 sibling, 2 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-18 15:09 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
On Mon, 17 Aug 2009 11:28:07 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> -tip testing still triggers lockdep troubles with latest
> timers/core. I think timekeeping_notify() might be involved.
>
> Bootlog below, config attached.
> [ 43.081726] =======================================================
> [ 43.089512] [ INFO: possible circular locking dependency detected ]
> [ 43.090020] 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
> [ 43.090020] -------------------------------------------------------
> [ 43.090020] S99local/5002 is trying to acquire lock:
> [ 43.090020] (events){+.+.+.}, at: [<ffffffff8106ff4c>] cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020]
> [ 43.090020] but task is already holding lock:
> [ 43.090020] (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
> [ 43.090020]
> [ 43.090020] which lock already depends on the new lock.
> [ 43.090020]
> [ 43.090020]
> [ 43.090020] the existing dependency chain (in reverse order) is:
> [ 43.090020]
> [ 43.090020] -> #4 (cpu_add_remove_lock){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff8105de75>] cpu_maps_update_begin+0x25/0x3b
> [ 43.090020] [<ffffffff81070348>] __create_workqueue_key+0x137/0x200
> [ 43.090020] [<ffffffff810a2397>] stop_machine_create+0x4d/0xc2
> [ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
> [ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
> [ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
> [ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
> [ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
> [ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
> [ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
> [ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #3 (setup_lock){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff810a236f>] stop_machine_create+0x25/0xc2
> [ 43.090020] [<ffffffff810a2438>] stop_machine+0x2c/0x74
> [ 43.090020] [<ffffffff8107f163>] timekeeping_notify+0x31/0x4c
> [ 43.090020] [<ffffffff81080258>] clocksource_select+0xc9/0xe8
> [ 43.090020] [<ffffffff81080b8c>] clocksource_register+0x70/0xa1
> [ 43.090020] [<ffffffff81d4cc6a>] init_acpi_pm_clocksource+0xf3/0x114
> [ 43.090020] [<ffffffff8100a092>] do_one_initcall+0x65/0x15b
> [ 43.090020] [<ffffffff81d0d992>] do_basic_setup+0x59/0x82
> [ 43.090020] [<ffffffff81d0da3e>] kernel_init+0x83/0xdd
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #2 (clocksource_mutex){+.+.+.}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff81872229>] __mutex_lock_common+0x5b/0x3b0
> [ 43.090020] [<ffffffff81872683>] mutex_lock_nested+0x45/0x62
> [ 43.090020] [<ffffffff8108076c>] clocksource_change_rating+0x34/0xaf
> [ 43.090020] [<ffffffff8108091a>] clocksource_watchdog_work+0x133/0x16f
> [ 43.090020] [<ffffffff8106f9ca>] run_workqueue+0x161/0x265
> [ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
> [ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #1 (&watchdog_work){+.+...}:
> [ 43.090020] [<ffffffff8108925d>] check_prev_add+0x18e/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106f9c4>] run_workqueue+0x15b/0x265
> [ 43.090020] [<ffffffff8106fbb3>] worker_thread+0xe5/0x10c
> [ 43.090020] [<ffffffff81074b64>] kthread+0x98/0xa0
> [ 43.090020] [<ffffffff8101520a>] child_rip+0xa/0x20
> [ 43.090020]
> [ 43.090020] -> #0 (events){+.+.+.}:
> [ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
> [ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
> [ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
> [ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
> [ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
> [ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
> [ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
> [ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
> [ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
> [ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
> [ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
> [ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
> [ 43.090020]
> [ 43.090020] other info that might help us debug this:
> [ 43.090020]
> [ 43.090020] 2 locks held by S99local/5002:
> [ 43.090020] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff811558f9>] sysfs_write_file+0x47/0x13c
> [ 43.090020] #1: (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff818387aa>] cpu_down+0x3b/0xb4
> [ 43.090020]
> [ 43.090020] stack backtrace:
> [ 43.090020] Pid: 5002, comm: S99local Not tainted 2.6.31-rc6-tip-01039-ge54d9cb-dirty #4937
> [ 43.090020] Call Trace:
> [ 43.090020] [<ffffffff81088bb0>] print_circular_bug+0xcf/0xf4
> [ 43.090020] [<ffffffff81089146>] check_prev_add+0x77/0x225
> [ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
> [ 43.090020] [<ffffffff8108976a>] validate_chain+0x476/0x556
> [ 43.090020] [<ffffffff81087d17>] ? mark_lock+0x31/0x17d
> [ 43.090020] [<ffffffff81089bfa>] __lock_acquire+0x3b0/0x43b
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81089d5a>] lock_acquire+0xd5/0x10e
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81871283>] ? wait_for_completion+0x2b/0x41
> [ 43.090020] [<ffffffff81074be5>] ? kthread_stop+0x79/0xd9
> [ 43.090020] [<ffffffff8106ff73>] cleanup_workqueue_thread+0x54/0xdd
> [ 43.090020] [<ffffffff8106ff4c>] ? cleanup_workqueue_thread+0x2d/0xdd
> [ 43.090020] [<ffffffff81839c41>] workqueue_cpu_callback+0xdb/0x13f
> [ 43.090020] [<ffffffff8187714e>] notifier_call_chain+0x6d/0xb5
> [ 43.090020] [<ffffffff8107a19e>] raw_notifier_call_chain+0x22/0x38
> [ 43.090020] [<ffffffff81838735>] _cpu_down+0x2c2/0x2fc
> [ 43.090020] [<ffffffff818710e5>] ? wait_for_common+0xeb/0x150
> [ 43.090020] [<ffffffff818387cc>] cpu_down+0x5d/0xb4
> [ 43.090020] [<ffffffff8183988e>] store_online+0x3f/0x9a
> [ 43.090020] [<ffffffff813c2e41>] sysdev_store+0x2e/0x44
> [ 43.090020] [<ffffffff811559a5>] sysfs_write_file+0xf3/0x13c
> [ 43.090020] [<ffffffff810f65fa>] ? rw_verify_area+0x97/0xd1
> [ 43.090020] [<ffffffff810f6f7a>] vfs_write+0xbe/0x130
> [ 43.090020] [<ffffffff810f70e2>] sys_write+0x56/0x93
> [ 43.090020] [<ffffffff81014042>] system_call_fastpath+0x16/0x1b
> [ 43.829633] lockdep: fixing up alternatives.
I though about this circular dependency for a while and came to the
conclusion that stop_machine from a multithreaded workqueue is not
allowed. It deadlocks with cpu_down. We either use a single-threaded
workqueue or an explicitly created kernel thread for the clocksource
downgrade. The kthread_run solution seems to be less painful than
to create a single-threaded workqueue. Untested patch below.
--
Subject: [PATCH] clocksource watchdog circular locking dependency
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
stop_machine from a multithreaded workqueue is not allowed because
of a circular locking dependency between cpu_down and the workqueue
execution. Use a kernel thread to do the clocksource downgrade.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
---
kernel/time/clocksource.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
Index: linux-2.6/kernel/time/clocksource.c
===================================================================
--- linux-2.6.orig/kernel/time/clocksource.c
+++ linux-2.6/kernel/time/clocksource.c
@@ -29,6 +29,7 @@
#include <linux/module.h>
#include <linux/sched.h> /* for spin_unlock_irq() using preempt_count() m68k */
#include <linux/tick.h>
+#include <linux/kthread.h>
void timecounter_init(struct timecounter *tc,
const struct cyclecounter *cc,
@@ -130,7 +131,7 @@ static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
static int watchdog_running;
-static void clocksource_watchdog_work(struct work_struct *work);
+static int clocksource_watchdog_kthread(void *data);
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -138,6 +139,15 @@ static void clocksource_watchdog_work(st
#define WATCHDOG_INTERVAL (HZ >> 1)
#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 4)
+static void clocksource_watchdog_work(struct work_struct *work)
+{
+ /*
+ * If kthread_run fails the next watchdog scan over the
+ * watchdog_list will find the unstable clock again.
+ */
+ kthread_run(clocksource_watchdog_kthread, NULL, "kwatchdog");
+}
+
static void clocksource_unstable(struct clocksource *cs, int64_t delta)
{
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
@@ -166,8 +176,10 @@ static void clocksource_watchdog(unsigne
list_for_each_entry(cs, &watchdog_list, wd_list) {
/* Clocksource already marked unstable? */
- if (cs->flags & CLOCK_SOURCE_UNSTABLE)
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
+ schedule_work(&watchdog_work);
continue;
+ }
csnow = cs->read(cs);
@@ -303,7 +315,7 @@ static void clocksource_dequeue_watchdog
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-static void clocksource_watchdog_work(struct work_struct *work)
+static int clocksource_watchdog_kthread(void *data)
{
struct clocksource *cs, *tmp;
unsigned long flags;
@@ -324,6 +336,7 @@ static void clocksource_watchdog_work(st
list_del_init(&cs->wd_list);
clocksource_change_rating(cs, 0);
}
+ return 0;
}
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Protect the watchdog rating changes with clocksource_mutex
2009-08-17 8:45 ` Thomas Gleixner
2009-08-17 9:28 ` [circular locking bug] " Ingo Molnar
@ 2009-08-19 9:46 ` tip-bot for Thomas Gleixner
1 sibling, 0 replies; 78+ messages in thread
From: tip-bot for Thomas Gleixner @ 2009-08-19 9:46 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, schwidefsky, tglx
Commit-ID: d0981a1b21a03866c8da7f44e35e389c2e0d6061
Gitweb: http://git.kernel.org/tip/d0981a1b21a03866c8da7f44e35e389c2e0d6061
Author: Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Wed, 19 Aug 2009 11:26:09 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 19 Aug 2009 11:42:48 +0200
clocksource: Protect the watchdog rating changes with clocksource_mutex
Martin pointed out that commit 6ea41d2529 (clocksource: Call
clocksource_change_rating() outside of watchdog_lock) has a
theoretical reference count problem. The calls to
clocksource_change_rating() are now done outside of the clocksource
mutex and outside of the watchdog lock. A concurrent
clocksource_unregister() could remove the clock.
Split out the code which changes the rating from
clocksource_change_rating() into __clocksource_change_rating().
Protect the clocksource_watchdog_work() code sequence with the
clocksource_mutex() and call __clocksource_change_rating().
LKML-Reference: <alpine.LFD.2.00.0908171038420.2782@localhost.localdomain>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
kernel/time/clocksource.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 02dc22d..c6bff11 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -131,6 +131,7 @@ static cycle_t watchdog_last;
static int watchdog_running;
static void clocksource_watchdog_work(struct work_struct *work);
+static void __clocksource_change_rating(struct clocksource *cs, int rating);
/*
* Interval: 0.5sec Threshold: 0.0625s
@@ -309,6 +310,7 @@ static void clocksource_watchdog_work(struct work_struct *work)
unsigned long flags;
LIST_HEAD(unstable);
+ mutex_lock(&clocksource_mutex);
spin_lock_irqsave(&watchdog_lock, flags);
list_for_each_entry_safe(cs, tmp, &watchdog_list, wd_list)
if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
@@ -322,8 +324,9 @@ static void clocksource_watchdog_work(struct work_struct *work)
/* Needs to be done outside of watchdog lock */
list_for_each_entry_safe(cs, tmp, &unstable, wd_list) {
list_del_init(&cs->wd_list);
- clocksource_change_rating(cs, 0);
+ __clocksource_change_rating(cs, 0);
}
+ mutex_unlock(&clocksource_mutex);
}
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
@@ -470,16 +473,21 @@ int clocksource_register(struct clocksource *cs)
}
EXPORT_SYMBOL(clocksource_register);
+static void __clocksource_change_rating(struct clocksource *cs, int rating)
+{
+ list_del(&cs->list);
+ cs->rating = rating;
+ clocksource_enqueue(cs);
+ clocksource_select();
+}
+
/**
* clocksource_change_rating - Change the rating of a registered clocksource
*/
void clocksource_change_rating(struct clocksource *cs, int rating)
{
mutex_lock(&clocksource_mutex);
- list_del(&cs->list);
- cs->rating = rating;
- clocksource_enqueue(cs);
- clocksource_select();
+ __clocksource_change_rating(cs, rating);
mutex_unlock(&clocksource_mutex);
}
EXPORT_SYMBOL(clocksource_change_rating);
^ permalink raw reply related [flat|nested] 78+ messages in thread
* [tip:timers/core] clocksource: Avoid clocksource watchdog circular locking dependency
2009-08-18 15:09 ` Martin Schwidefsky
@ 2009-08-19 10:06 ` tip-bot for Martin Schwidefsky
2009-08-19 20:25 ` [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Ingo Molnar
1 sibling, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-19 10:06 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, johnstul, a.p.zijlstra, schwidefsky,
tglx
Commit-ID: 01548f4d3e8e94caf323a4f664eb347fd34a34ab
Gitweb: http://git.kernel.org/tip/01548f4d3e8e94caf323a4f664eb347fd34a34ab
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Tue, 18 Aug 2009 17:09:42 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 19 Aug 2009 12:00:56 +0200
clocksource: Avoid clocksource watchdog circular locking dependency
stop_machine from a multithreaded workqueue is not allowed because
of a circular locking dependency between cpu_down and the workqueue
execution. Use a kernel thread to do the clocksource downgrade.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: john stultz <johnstul@us.ibm.com>
LKML-Reference: <20090818170942.3ab80c91@skybase>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/clocksource.c | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index c6bff11..e0c86ad 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -29,6 +29,7 @@
#include <linux/module.h>
#include <linux/sched.h> /* for spin_unlock_irq() using preempt_count() m68k */
#include <linux/tick.h>
+#include <linux/kthread.h>
void timecounter_init(struct timecounter *tc,
const struct cyclecounter *cc,
@@ -130,7 +131,7 @@ static DEFINE_SPINLOCK(watchdog_lock);
static cycle_t watchdog_last;
static int watchdog_running;
-static void clocksource_watchdog_work(struct work_struct *work);
+static int clocksource_watchdog_kthread(void *data);
static void __clocksource_change_rating(struct clocksource *cs, int rating);
/*
@@ -139,6 +140,15 @@ static void __clocksource_change_rating(struct clocksource *cs, int rating);
#define WATCHDOG_INTERVAL (HZ >> 1)
#define WATCHDOG_THRESHOLD (NSEC_PER_SEC >> 4)
+static void clocksource_watchdog_work(struct work_struct *work)
+{
+ /*
+ * If kthread_run fails the next watchdog scan over the
+ * watchdog_list will find the unstable clock again.
+ */
+ kthread_run(clocksource_watchdog_kthread, NULL, "kwatchdog");
+}
+
static void clocksource_unstable(struct clocksource *cs, int64_t delta)
{
printk(KERN_WARNING "Clocksource %s unstable (delta = %Ld ns)\n",
@@ -167,8 +177,10 @@ static void clocksource_watchdog(unsigned long data)
list_for_each_entry(cs, &watchdog_list, wd_list) {
/* Clocksource already marked unstable? */
- if (cs->flags & CLOCK_SOURCE_UNSTABLE)
+ if (cs->flags & CLOCK_SOURCE_UNSTABLE) {
+ schedule_work(&watchdog_work);
continue;
+ }
csnow = cs->read(cs);
@@ -304,7 +316,7 @@ static void clocksource_dequeue_watchdog(struct clocksource *cs)
spin_unlock_irqrestore(&watchdog_lock, flags);
}
-static void clocksource_watchdog_work(struct work_struct *work)
+static int clocksource_watchdog_kthread(void *data)
{
struct clocksource *cs, *tmp;
unsigned long flags;
@@ -327,6 +339,7 @@ static void clocksource_watchdog_work(struct work_struct *work)
__clocksource_change_rating(cs, 0);
}
mutex_unlock(&clocksource_mutex);
+ return 0;
}
#else /* CONFIG_CLOCKSOURCE_WATCHDOG */
^ permalink raw reply related [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-18 15:09 ` Martin Schwidefsky
2009-08-19 10:06 ` [tip:timers/core] clocksource: Avoid clocksource watchdog circular locking dependency tip-bot for Martin Schwidefsky
@ 2009-08-19 20:25 ` Ingo Molnar
2009-08-20 9:28 ` Martin Schwidefsky
1 sibling, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-19 20:25 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
ok, with all the latest patches i re-added these bits to
-tip, and it triggered this lockdep assert on a testbox:
=================================
[ INFO: inconsistent lock state ]
2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
---------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
swapper/1 [HC0[0]:SC1[1]:HE0:SE0] takes:
(clocksource_mutex){+.?.+.}, at: [<c10664d7>] clocksource_unregister+0x17/0x50
{SOFTIRQ-ON-W} state was registered at:
[<c106fb77>] mark_irqflags+0xf7/0x190
[<c107177a>] __lock_acquire+0x29a/0x520
[<c1071a6a>] lock_acquire+0x6a/0xc0
[<c175719b>] __mutex_lock_common+0x3b/0x340
[<c1757551>] mutex_lock_nested+0x31/0x40
[<c10666b7>] clocksource_register+0x17/0x40
[<c1bc68bd>] init_jiffies_clocksource+0xd/0x10
see fuller log below.
Ingo
Switching to clocksource acpi_pm
initcall init_acpi_pm_clocksource+0x0/0x1a0 returned 0 after 38256 usecs
=================================
[ INFO: inconsistent lock state ]
2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
---------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
swapper/1 [HC0[0]:SC1[1]:HE0:SE0] takes:
(clocksource_mutex){+.?.+.}, at: [<c10664d7>] clocksource_unregister+0x17/0x50
{SOFTIRQ-ON-W} state was registered at:
[<c106fb77>] mark_irqflags+0xf7/0x190
[<c107177a>] __lock_acquire+0x29a/0x520
[<c1071a6a>] lock_acquire+0x6a/0xc0
[<c175719b>] __mutex_lock_common+0x3b/0x340
[<c1757551>] mutex_lock_nested+0x31/0x40
[<c10666b7>] clocksource_register+0x17/0x40
[<c1bc68bd>] init_jiffies_clocksource+0xd/0x10
[<c1001129>] do_one_initcall+0x29/0x160
[<c1bb33f7>] do_initcalls+0x27/0x40
[<c1bb3436>] do_basic_setup+0x26/0x30
[<c1bb3b17>] kernel_init+0x57/0xa0
[<c1003ae7>] kernel_thread_helper+0x7/0x10
irq event stamp: 1135959
hardirqs last enabled at (1135958): [<c1045810>] __do_softirq+0x60/0x1d0
hardirqs last disabled at (1135959): [<c105e328>] hrtimer_switch_to_hres+0x48/0x100
softirqs last enabled at (1135840): [<c10458d1>] __do_softirq+0x121/0x1d0
softirqs last disabled at (1135957): [<c1005b22>] call_on_stack+0x12/0x20
other info that might help us debug this:
1 lock held by swapper/1:
#0: (i8253_lock){-.-...}, at: [<c1008ba8>] init_pit_timer+0x18/0xb0
stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
Call Trace:
[<c106f430>] print_usage_bug+0x130/0x180
[<c106f5eb>] mark_lock_irq+0x16b/0x260
[<c106f240>] ? check_usage_forwards+0x0/0xc0
[<c106f7fe>] mark_lock+0x11e/0x3a0
[<c106fbff>] mark_irqflags+0x17f/0x190
[<c107177a>] __lock_acquire+0x29a/0x520
[<c1071a6a>] lock_acquire+0x6a/0xc0
[<c10664d7>] ? clocksource_unregister+0x17/0x50
[<c175719b>] __mutex_lock_common+0x3b/0x340
[<c10664d7>] ? clocksource_unregister+0x17/0x50
[<c1757551>] mutex_lock_nested+0x31/0x40
[<c10664d7>] ? clocksource_unregister+0x17/0x50
[<c10664d7>] clocksource_unregister+0x17/0x50
[<c1008b3a>] pit_disable_clocksource+0x2a/0x40
[<c1008bb9>] init_pit_timer+0x29/0xb0
[<c106825a>] clockevents_set_mode+0x1a/0x50
[<c1069a96>] tick_switch_to_oneshot+0x96/0xc0
[<c1069ad2>] tick_init_highres+0x12/0x20
[<c105e32d>] hrtimer_switch_to_hres+0x4d/0x100
[<c105ebbd>] hrtimer_run_pending+0x4d/0x50
[<c104bb85>] run_timer_softirq+0x25/0x230
[<c1092df4>] ? cpu_quiet+0x54/0x90
[<c1092968>] ? cpu_has_callbacks_ready_to_invoke+0x8/0x20
[<c10932d5>] ? rcu_do_batch+0x15/0x190
[<c1092ed3>] ? rcu_check_quiescent_state+0x33/0x50
[<c1045810>] ? __do_softirq+0x60/0x1d0
[<c10457b0>] ? __do_softirq+0x0/0x1d0
[<c106fe6a>] ? trace_hardirqs_on_caller+0x7a/0x1b0
[<c1045868>] __do_softirq+0xb8/0x1d0
[<c10457b0>] ? __do_softirq+0x0/0x1d0
<IRQ> [<c10459f5>] ? irq_exit+0x75/0x80
[<c175906e>] ? do_IRQ+0x4e/0xb0
[<c100356e>] ? common_interrupt+0x2e/0x40
[<c1758b94>] ? _spin_unlock_irqrestore+0x34/0x50
[<c103007b>] ? set_curr_task_fair+0xb/0x40
[<c10401c4>] ? vprintk+0x114/0x2a0
[<c1756f25>] ? __mutex_unlock_slowpath+0xa5/0x160
[<c106ff4c>] ? trace_hardirqs_on_caller+0x15c/0x1b0
[<c106ffab>] ? trace_hardirqs_on+0xb/0x10
[<c1756fed>] ? mutex_unlock+0xd/0x10
[<c1be9320>] ? init_acpi_pm_clocksource+0x0/0x1a0
[<c104036b>] ? printk+0x1b/0x20
[<c1001200>] ? do_one_initcall+0x100/0x160
[<c1be9320>] ? init_acpi_pm_clocksource+0x0/0x1a0
[<c1138a45>] ? create_proc_entry+0x65/0xc0
[<c1092383>] ? register_irq_proc+0xa3/0xc0
[<c1138981>] ? proc_create_data+0x71/0xd0
[<c1bb33f7>] ? do_initcalls+0x27/0x40
[<c1bb3436>] ? do_basic_setup+0x26/0x30
[<c1bb3b17>] ? kernel_init+0x57/0xa0
[<c1bb3ac0>] ? kernel_init+0x0/0xa0
[<c1003ae7>] ? kernel_thread_helper+0x7/0x10
Switched to high resolution mode on CPU 0
calling ssb_modinit+0x0/0x60 @ 1
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-19 20:25 ` [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Ingo Molnar
@ 2009-08-20 9:28 ` Martin Schwidefsky
2009-08-20 9:58 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-20 9:28 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
On Wed, 19 Aug 2009 22:25:54 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> ok, with all the latest patches i re-added these bits to
> -tip, and it triggered this lockdep assert on a testbox:
Another one :-(
> stack backtrace:
> Pid: 1, comm: swapper Not tainted 2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
> Call Trace:
> [<c106f430>] print_usage_bug+0x130/0x180
> [<c106f5eb>] mark_lock_irq+0x16b/0x260
> [<c106f240>] ? check_usage_forwards+0x0/0xc0
> [<c106f7fe>] mark_lock+0x11e/0x3a0
> [<c106fbff>] mark_irqflags+0x17f/0x190
> [<c107177a>] __lock_acquire+0x29a/0x520
> [<c1071a6a>] lock_acquire+0x6a/0xc0
> [<c10664d7>] ? clocksource_unregister+0x17/0x50
> [<c175719b>] __mutex_lock_common+0x3b/0x340
> [<c10664d7>] ? clocksource_unregister+0x17/0x50
> [<c1757551>] mutex_lock_nested+0x31/0x40
> [<c10664d7>] ? clocksource_unregister+0x17/0x50
> [<c10664d7>] clocksource_unregister+0x17/0x50
> [<c1008b3a>] pit_disable_clocksource+0x2a/0x40
> [<c1008bb9>] init_pit_timer+0x29/0xb0
> [<c106825a>] clockevents_set_mode+0x1a/0x50
> [<c1069a96>] tick_switch_to_oneshot+0x96/0xc0
> [<c1069ad2>] tick_init_highres+0x12/0x20
> [<c105e32d>] hrtimer_switch_to_hres+0x4d/0x100
> [<c105ebbd>] hrtimer_run_pending+0x4d/0x50
> [<c104bb85>] run_timer_softirq+0x25/0x230
Ok, the cause is that the i8253 pit clocksource code tries to
unregister a clocksource from a timer interrupt. Bad idea with the new
code. Why does the pit clocksource have to >unregister< the clock if
the set_mode callback is called with CLOCK_EVT_MODE_SHUTODWN,
CLOCK_EVT_MODE_UNUSED, or CLOCK_EVT_MODE_ONESHOT? Very strange, I would
argue that the clocksource should never unregister in the set_mode
callback, the timekeeping code should not use the clocksource if it is
unsuitable for e.g. the one shot mode.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-20 9:28 ` Martin Schwidefsky
@ 2009-08-20 9:58 ` Ingo Molnar
2009-08-20 10:35 ` Martin Schwidefsky
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-20 9:58 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
* Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> On Wed, 19 Aug 2009 22:25:54 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
>
> >
> > ok, with all the latest patches i re-added these bits to
> > -tip, and it triggered this lockdep assert on a testbox:
>
> Another one :-(
>
> > stack backtrace:
> > Pid: 1, comm: swapper Not tainted 2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
> > Call Trace:
> > [<c106f430>] print_usage_bug+0x130/0x180
> > [<c106f5eb>] mark_lock_irq+0x16b/0x260
> > [<c106f240>] ? check_usage_forwards+0x0/0xc0
> > [<c106f7fe>] mark_lock+0x11e/0x3a0
> > [<c106fbff>] mark_irqflags+0x17f/0x190
> > [<c107177a>] __lock_acquire+0x29a/0x520
> > [<c1071a6a>] lock_acquire+0x6a/0xc0
> > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > [<c175719b>] __mutex_lock_common+0x3b/0x340
> > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > [<c1757551>] mutex_lock_nested+0x31/0x40
> > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > [<c10664d7>] clocksource_unregister+0x17/0x50
> > [<c1008b3a>] pit_disable_clocksource+0x2a/0x40
> > [<c1008bb9>] init_pit_timer+0x29/0xb0
> > [<c106825a>] clockevents_set_mode+0x1a/0x50
> > [<c1069a96>] tick_switch_to_oneshot+0x96/0xc0
> > [<c1069ad2>] tick_init_highres+0x12/0x20
> > [<c105e32d>] hrtimer_switch_to_hres+0x4d/0x100
> > [<c105ebbd>] hrtimer_run_pending+0x4d/0x50
> > [<c104bb85>] run_timer_softirq+0x25/0x230
>
> Ok, the cause is that the i8253 pit clocksource code
> tries to unregister a clocksource from a timer
> interrupt. Bad idea with the new code. Why does the pit
> clocksource have to >unregister< the clock if the
> set_mode callback is called with
> CLOCK_EVT_MODE_SHUTODWN, CLOCK_EVT_MODE_UNUSED, or
> CLOCK_EVT_MODE_ONESHOT? Very strange, I would argue
> that the clocksource should never unregister in the
> set_mode callback, the timekeeping code should not use
> the clocksource if it is unsuitable for e.g. the one
> shot mode.
i think this 'execute timer management functions right
from the deep bowels of time events' concept is
fundamentally flawed and one big layering violation. It
caused numerous problems (lockups, etc.) in the past.
There should be a time management kernel thread instead
(or workqueue), which does a proper state machine of all
these properties - without having to call this stuff from
within a timer handler.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-20 9:58 ` Ingo Molnar
@ 2009-08-20 10:35 ` Martin Schwidefsky
2009-08-20 16:14 ` Thomas Gleixner
0 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-20 10:35 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Thomas Gleixner, Peter Zijlstra, john stultz, linux-kernel
On Thu, 20 Aug 2009 11:58:21 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
>
> > On Wed, 19 Aug 2009 22:25:54 +0200
> > Ingo Molnar <mingo@elte.hu> wrote:
> >
> > >
> > > ok, with all the latest patches i re-added these bits to
> > > -tip, and it triggered this lockdep assert on a testbox:
> >
> > Another one :-(
> >
> > > stack backtrace:
> > > Pid: 1, comm: swapper Not tainted 2.6.31-rc6-tip-01234-gcc9be0e-dirty #1054
> > > Call Trace:
> > > [<c106f430>] print_usage_bug+0x130/0x180
> > > [<c106f5eb>] mark_lock_irq+0x16b/0x260
> > > [<c106f240>] ? check_usage_forwards+0x0/0xc0
> > > [<c106f7fe>] mark_lock+0x11e/0x3a0
> > > [<c106fbff>] mark_irqflags+0x17f/0x190
> > > [<c107177a>] __lock_acquire+0x29a/0x520
> > > [<c1071a6a>] lock_acquire+0x6a/0xc0
> > > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > > [<c175719b>] __mutex_lock_common+0x3b/0x340
> > > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > > [<c1757551>] mutex_lock_nested+0x31/0x40
> > > [<c10664d7>] ? clocksource_unregister+0x17/0x50
> > > [<c10664d7>] clocksource_unregister+0x17/0x50
> > > [<c1008b3a>] pit_disable_clocksource+0x2a/0x40
> > > [<c1008bb9>] init_pit_timer+0x29/0xb0
> > > [<c106825a>] clockevents_set_mode+0x1a/0x50
> > > [<c1069a96>] tick_switch_to_oneshot+0x96/0xc0
> > > [<c1069ad2>] tick_init_highres+0x12/0x20
> > > [<c105e32d>] hrtimer_switch_to_hres+0x4d/0x100
> > > [<c105ebbd>] hrtimer_run_pending+0x4d/0x50
> > > [<c104bb85>] run_timer_softirq+0x25/0x230
> >
> > Ok, the cause is that the i8253 pit clocksource code
> > tries to unregister a clocksource from a timer
> > interrupt. Bad idea with the new code. Why does the pit
> > clocksource have to >unregister< the clock if the
> > set_mode callback is called with
> > CLOCK_EVT_MODE_SHUTODWN, CLOCK_EVT_MODE_UNUSED, or
> > CLOCK_EVT_MODE_ONESHOT? Very strange, I would argue
> > that the clocksource should never unregister in the
> > set_mode callback, the timekeeping code should not use
> > the clocksource if it is unsuitable for e.g. the one
> > shot mode.
>
> i think this 'execute timer management functions right
> from the deep bowels of time events' concept is
> fundamentally flawed and one big layering violation. It
> caused numerous problems (lockups, etc.) in the past.
>
> There should be a time management kernel thread instead
> (or workqueue), which does a proper state machine of all
> these properties - without having to call this stuff from
> within a timer handler.
We could use that time managment kernel thread for the watchdog
downgrade as well. Dunno if it is worth to create another kernel thread
that just sits there doing nothing for 99.9% of the time.
As for the fix: my brains starts to hurt looking at the pit clocksource
code. Why does it set CLOCK_EVT_FEAT_ONESHOT but then unregisters the
clocksource when the mode is set to CLOCK_EVT_MODE_ONESHOT?? That does
not make any sense to me. I would have expected that the pit does not
set CLOCK_EVT_MODE_ONESHOT. The timekeeping code wouldn't try use the
clock for one-shot if the bit is not set. And to unregister the clock
only because the mode is set to shutdown or unused doesn't seem to be
necessary either. My fix would be to remove the CLOCK_EVT_MODE_ONESHOT
bit from the features mask and to remove the clocksource_unregister
from the set_mode callback.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-20 10:35 ` Martin Schwidefsky
@ 2009-08-20 16:14 ` Thomas Gleixner
2009-08-20 16:53 ` Martin Schwidefsky
0 siblings, 1 reply; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-20 16:14 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: Ingo Molnar, Peter Zijlstra, john stultz, linux-kernel
On Thu, 20 Aug 2009, Martin Schwidefsky wrote:
> On Thu, 20 Aug 2009 11:58:21 +0200
> > There should be a time management kernel thread instead
> > (or workqueue), which does a proper state machine of all
> > these properties - without having to call this stuff from
> > within a timer handler.
>
> We could use that time managment kernel thread for the watchdog
> downgrade as well. Dunno if it is worth to create another kernel thread
> that just sits there doing nothing for 99.9% of the time.
>
> As for the fix: my brains starts to hurt looking at the pit clocksource
> code. Why does it set CLOCK_EVT_FEAT_ONESHOT but then unregisters the
> clocksource when the mode is set to CLOCK_EVT_MODE_ONESHOT?? That does
> not make any sense to me. I would have expected that the pit does not
> set CLOCK_EVT_MODE_ONESHOT. The timekeeping code wouldn't try use the
> clock for one-shot if the bit is not set. And to unregister the clock
> only because the mode is set to shutdown or unused doesn't seem to be
> necessary either. My fix would be to remove the CLOCK_EVT_MODE_ONESHOT
> bit from the features mask and to remove the clocksource_unregister
> from the set_mode callback.
No. On UP machines we can run in oneshot mode with the PIT.
The disable PIT clocksource hack was done in commit
1a0c009ac53de4a7664a1239936f0bc258133156. Yes, in hindsight we should
have done 3f68535adad8dd89499505a65fb25d0e02d118cc in the first place.
So now the simple and correct fix is to remove the unregister call.
Thanks,
tglx
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-20 16:14 ` Thomas Gleixner
@ 2009-08-20 16:53 ` Martin Schwidefsky
2009-08-20 19:08 ` Thomas Gleixner
0 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-20 16:53 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Ingo Molnar, Peter Zijlstra, john stultz, linux-kernel
On Thu, 20 Aug 2009 18:14:07 +0200 (CEST)
Thomas Gleixner <tglx@linutronix.de> wrote:
> On Thu, 20 Aug 2009, Martin Schwidefsky wrote:
> > On Thu, 20 Aug 2009 11:58:21 +0200
> > > There should be a time management kernel thread instead
> > > (or workqueue), which does a proper state machine of all
> > > these properties - without having to call this stuff from
> > > within a timer handler.
> >
> > We could use that time managment kernel thread for the watchdog
> > downgrade as well. Dunno if it is worth to create another kernel thread
> > that just sits there doing nothing for 99.9% of the time.
> >
> > As for the fix: my brains starts to hurt looking at the pit clocksource
> > code. Why does it set CLOCK_EVT_FEAT_ONESHOT but then unregisters the
> > clocksource when the mode is set to CLOCK_EVT_MODE_ONESHOT?? That does
> > not make any sense to me. I would have expected that the pit does not
> > set CLOCK_EVT_MODE_ONESHOT. The timekeeping code wouldn't try use the
> > clock for one-shot if the bit is not set. And to unregister the clock
> > only because the mode is set to shutdown or unused doesn't seem to be
> > necessary either. My fix would be to remove the CLOCK_EVT_MODE_ONESHOT
> > bit from the features mask and to remove the clocksource_unregister
> > from the set_mode callback.
>
> No. On UP machines we can run in oneshot mode with the PIT.
>
> The disable PIT clocksource hack was done in commit
> 1a0c009ac53de4a7664a1239936f0bc258133156. Yes, in hindsight we should
> have done 3f68535adad8dd89499505a65fb25d0e02d118cc in the first place.
>
> So now the simple and correct fix is to remove the unregister call.
Sorry if I don't see the obvious but how can that work? If the pit as
clocksource is switched to CLOCK_EVT_MODE_ONESHOT it simply vanishes.
How is it possible that a UP machine runs with the PIT in oneshot mode?
And yes, hindsight is easier than foresight.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix)
2009-08-20 16:53 ` Martin Schwidefsky
@ 2009-08-20 19:08 ` Thomas Gleixner
0 siblings, 0 replies; 78+ messages in thread
From: Thomas Gleixner @ 2009-08-20 19:08 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: Ingo Molnar, Peter Zijlstra, john stultz, LKML
On Thu, 20 Aug 2009, Martin Schwidefsky wrote:
> On Thu, 20 Aug 2009 18:14:07 +0200 (CEST)
> Thomas Gleixner <tglx@linutronix.de> wrote:
>
> > On Thu, 20 Aug 2009, Martin Schwidefsky wrote:
> > > On Thu, 20 Aug 2009 11:58:21 +0200
> > > > There should be a time management kernel thread instead
> > > > (or workqueue), which does a proper state machine of all
> > > > these properties - without having to call this stuff from
> > > > within a timer handler.
> > >
> > > We could use that time managment kernel thread for the watchdog
> > > downgrade as well. Dunno if it is worth to create another kernel thread
> > > that just sits there doing nothing for 99.9% of the time.
> > >
> > > As for the fix: my brains starts to hurt looking at the pit clocksource
> > > code. Why does it set CLOCK_EVT_FEAT_ONESHOT but then unregisters the
> > > clocksource when the mode is set to CLOCK_EVT_MODE_ONESHOT?? That does
> > > not make any sense to me. I would have expected that the pit does not
> > > set CLOCK_EVT_MODE_ONESHOT. The timekeeping code wouldn't try use the
> > > clock for one-shot if the bit is not set. And to unregister the clock
> > > only because the mode is set to shutdown or unused doesn't seem to be
> > > necessary either. My fix would be to remove the CLOCK_EVT_MODE_ONESHOT
> > > bit from the features mask and to remove the clocksource_unregister
> > > from the set_mode callback.
> >
> > No. On UP machines we can run in oneshot mode with the PIT.
> >
> > The disable PIT clocksource hack was done in commit
> > 1a0c009ac53de4a7664a1239936f0bc258133156. Yes, in hindsight we should
> > have done 3f68535adad8dd89499505a65fb25d0e02d118cc in the first place.
> >
> > So now the simple and correct fix is to remove the unregister call.
>
> Sorry if I don't see the obvious but how can that work? If the pit as
> clocksource is switched to CLOCK_EVT_MODE_ONESHOT it simply vanishes.
> How is it possible that a UP machine runs with the PIT in oneshot mode?
If PIT switches to oneshot then there is PM timer the active
clocksource and the sanity check in the sysfs interface now prevents
that we switch back to PIT
Thanks,
tglx
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() tip-bot for Martin Schwidefsky
@ 2009-08-22 10:32 ` Ingo Molnar
2009-08-22 15:15 ` Martin Schwidefsky
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-22 10:32 UTC (permalink / raw)
To: dwalker, mingo, hpa, linux-kernel, johnstul, schwidefsky, tglx
Cc: linux-tip-commits
* tip-bot for Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> Commit-ID: d4f587c67fc39e0030ddd718675e252e208da4d7
> Gitweb: http://git.kernel.org/tip/d4f587c67fc39e0030ddd718675e252e208da4d7
> Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
> AuthorDate: Fri, 14 Aug 2009 15:47:31 +0200
> Committer: Thomas Gleixner <tglx@linutronix.de>
> CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
>
> timekeeping: Increase granularity of read_persistent_clock()
FYI, -tip arch-testing found that this commit broke the PowerPC
build:
/home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
/home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
/home/mingo/tip/arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
make[2]: *** [arch/powerpc/kernel/time.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [arch/powerpc/kernel] Error 2
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-22 10:32 ` Ingo Molnar
@ 2009-08-22 15:15 ` Martin Schwidefsky
2009-08-22 15:33 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-22 15:15 UTC (permalink / raw)
To: Ingo Molnar
Cc: dwalker, mingo, hpa, linux-kernel, johnstul, tglx,
linux-tip-commits
On Sat, 22 Aug 2009 12:32:52 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> * tip-bot for Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
>
> > Commit-ID: d4f587c67fc39e0030ddd718675e252e208da4d7
> > Gitweb: http://git.kernel.org/tip/d4f587c67fc39e0030ddd718675e252e208da4d7
> > Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
> > AuthorDate: Fri, 14 Aug 2009 15:47:31 +0200
> > Committer: Thomas Gleixner <tglx@linutronix.de>
> > CommitDate: Sat, 15 Aug 2009 10:55:46 +0200
> >
> > timekeeping: Increase granularity of read_persistent_clock()
>
> FYI, -tip arch-testing found that this commit broke the PowerPC
> build:
>
> /home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
> /home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
> /home/mingo/tip/arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
> make[2]: *** [arch/powerpc/kernel/time.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [arch/powerpc/kernel] Error 2
I overlooked a case in the powerpc version of read_persistent_lock.
New patch:
--
Subject: [PATCH] read_persistent_clock should return a timespec
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The persistent clock of some architectures (e.g. s390) have a
better granularity than seconds. To reduce the delta between the
host clock and the guest clock in a virtualized system change the
read_persistent_clock function to return a struct timespec.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/m68knommu/kernel/time.c | 5 +--
arch/mips/dec/time.c | 5 +--
arch/mips/lasat/ds1603.c | 5 +--
arch/mips/lasat/sysctl.c | 8 +++--
arch/mips/lemote/lm2e/setup.c | 5 +--
arch/mips/mti-malta/malta-time.c | 5 +--
arch/mips/pmc-sierra/yosemite/setup.c | 5 +--
arch/mips/sibyte/swarm/setup.c | 15 +++++++--
arch/mips/sni/time.c | 5 +--
arch/powerpc/kernel/time.c | 14 +++++----
arch/s390/kernel/time.c | 22 ++------------
arch/sh/kernel/time.c | 6 +--
arch/x86/kernel/rtc.c | 5 +--
arch/xtensa/kernel/time.c | 5 +--
include/linux/time.h | 2 -
kernel/time/timekeeping.c | 52 ++++++++++++++++++----------------
16 files changed, 88 insertions(+), 76 deletions(-)
Index: linux-2.6/arch/m68knommu/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/m68knommu/kernel/time.c
+++ linux-2.6/arch/m68knommu/kernel/time.c
@@ -72,9 +72,10 @@ static unsigned long read_rtc_mmss(void)
return mktime(year, mon, day, hour, min, sec);;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return read_rtc_mmss();
+ ts->tv_sec = read_rtc_mmss();
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/mips/dec/time.c
===================================================================
--- linux-2.6.orig/arch/mips/dec/time.c
+++ linux-2.6/arch/mips/dec/time.c
@@ -18,7 +18,7 @@
#include <asm/dec/ioasic.h>
#include <asm/dec/machtype.h>
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, mon, day, hour, min, sec, real_year;
unsigned long flags;
@@ -53,7 +53,8 @@ unsigned long read_persistent_clock(void
year += real_year - 72 + 2000;
- return mktime(year, mon, day, hour, min, sec);
+ ts->tv_sec = mktime(year, mon, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
/*
Index: linux-2.6/arch/mips/lasat/ds1603.c
===================================================================
--- linux-2.6.orig/arch/mips/lasat/ds1603.c
+++ linux-2.6/arch/mips/lasat/ds1603.c
@@ -135,7 +135,7 @@ static void rtc_end_op(void)
lasat_ndelay(1000);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long word;
unsigned long flags;
@@ -147,7 +147,8 @@ unsigned long read_persistent_clock(void
rtc_end_op();
spin_unlock_irqrestore(&rtc_lock, flags);
- return word;
+ ts->tv_sec = word;
+ ts->tv_nsec = 0;
}
int rtc_mips_set_mmss(unsigned long time)
Index: linux-2.6/arch/mips/lasat/sysctl.c
===================================================================
--- linux-2.6.orig/arch/mips/lasat/sysctl.c
+++ linux-2.6/arch/mips/lasat/sysctl.c
@@ -92,10 +92,12 @@ static int rtctmp;
int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
void *buffer, size_t *lenp, loff_t *ppos)
{
+ struct timespec ts;
int r;
if (!write) {
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
/* check for time < 0 and set to 0 */
if (rtctmp < 0)
rtctmp = 0;
@@ -134,9 +136,11 @@ int sysctl_lasat_rtc(ctl_table *table,
void *oldval, size_t *oldlenp,
void *newval, size_t newlen)
{
+ struct timespec ts;
int r;
- rtctmp = read_persistent_clock();
+ read_persistent_clock(&ts);
+ rtctmp = ts.tv_sec;
if (rtctmp < 0)
rtctmp = 0;
r = sysctl_intvec(table, oldval, oldlenp, newval, newlen);
Index: linux-2.6/arch/mips/lemote/lm2e/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/lemote/lm2e/setup.c
+++ linux-2.6/arch/mips/lemote/lm2e/setup.c
@@ -54,9 +54,10 @@ void __init plat_time_init(void)
mips_hpt_frequency = cpu_clock_freq / 2;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
void (*__wbflush)(void);
Index: linux-2.6/arch/mips/mti-malta/malta-time.c
===================================================================
--- linux-2.6.orig/arch/mips/mti-malta/malta-time.c
+++ linux-2.6/arch/mips/mti-malta/malta-time.c
@@ -100,9 +100,10 @@ static unsigned int __init estimate_cpu_
return count;
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return mc146818_get_cmos_time();
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
}
static void __init plat_perf_setup(void)
Index: linux-2.6/arch/mips/pmc-sierra/yosemite/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/pmc-sierra/yosemite/setup.c
+++ linux-2.6/arch/mips/pmc-sierra/yosemite/setup.c
@@ -70,7 +70,7 @@ void __init bus_error_init(void)
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned int year, month, day, hour, min, sec;
unsigned long flags;
@@ -92,7 +92,8 @@ unsigned long read_persistent_clock(void
m48t37_base->control = 0x00;
spin_unlock_irqrestore(&rtc_lock, flags);
- return mktime(year, month, day, hour, min, sec);
+ ts->tv_sec = mktime(year, month, day, hour, min, sec);
+ ts->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long tim)
Index: linux-2.6/arch/mips/sibyte/swarm/setup.c
===================================================================
--- linux-2.6.orig/arch/mips/sibyte/swarm/setup.c
+++ linux-2.6/arch/mips/sibyte/swarm/setup.c
@@ -87,19 +87,26 @@ enum swarm_rtc_type {
enum swarm_rtc_type swarm_rtc_type;
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
+ unsigned long sec;
+
switch (swarm_rtc_type) {
case RTC_XICOR:
- return xicor_get_time();
+ sec = xicor_get_time();
+ break;
case RTC_M4LT81:
- return m41t81_get_time();
+ sec = m41t81_get_time();
+ break;
case RTC_NONE:
default:
- return mktime(2000, 1, 1, 0, 0, 0);
+ sec = mktime(2000, 1, 1, 0, 0, 0);
+ break;
}
+ ts->tv_sec = sec;
+ tv->tv_nsec = 0;
}
int rtc_mips_set_time(unsigned long sec)
Index: linux-2.6/arch/mips/sni/time.c
===================================================================
--- linux-2.6.orig/arch/mips/sni/time.c
+++ linux-2.6/arch/mips/sni/time.c
@@ -182,7 +182,8 @@ void __init plat_time_init(void)
setup_pit_timer();
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- return -1;
+ ts->tv_sec = -1;
+ ts->tv_nsec = 0;
}
Index: linux-2.6/arch/powerpc/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/powerpc/kernel/time.c
+++ linux-2.6/arch/powerpc/kernel/time.c
@@ -772,7 +772,7 @@ int update_persistent_clock(struct times
return ppc_md.set_rtc_time(&tm);
}
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
struct rtc_time tm;
static int first = 1;
@@ -787,11 +787,15 @@ unsigned long read_persistent_clock(void
if (ppc_md.get_boot_time)
return ppc_md.get_boot_time() -timezone_offset;
}
- if (!ppc_md.get_rtc_time)
- return 0;
+ if (!ppc_md.get_rtc_time) {
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
+ return;
+ }
ppc_md.get_rtc_time(&tm);
- return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
+ tm.tm_hour, tm.tm_min, tm.tm_sec);
+ ts->tv_nsec = 0;
}
/* clocksource code */
Index: linux-2.6/arch/s390/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/s390/kernel/time.c
+++ linux-2.6/arch/s390/kernel/time.c
@@ -182,12 +182,9 @@ static void timing_alert_interrupt(__u16
static void etr_reset(void);
static void stp_reset(void);
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec ts;
-
- tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, &ts);
- return ts.tv_sec;
+ tod_to_timeval(get_clock() - TOD_UNIX_EPOCH, ts);
}
static cycle_t read_tod_clock(struct clocksource *cs)
@@ -248,7 +245,6 @@ void __init time_init(void)
{
struct timespec ts;
unsigned long flags;
- cycle_t now;
/* Reset time synchronization interfaces. */
etr_reset();
@@ -266,20 +262,10 @@ void __init time_init(void)
panic("Could not register TOD clock source");
/*
- * The TOD clock is an accurate clock. The xtime should be
- * initialized in a way that the difference between TOD and
- * xtime is reasonably small. Too bad that timekeeping_init
- * sets xtime.tv_nsec to zero. In addition the clock source
- * change from the jiffies clock source to the TOD clock
- * source add another error of up to 1/HZ second. The same
- * function sets wall_to_monotonic to a value that is too
- * small for /proc/uptime to be accurate.
- * Reset xtime and wall_to_monotonic to sane values.
+ * Reset wall_to_monotonic to the initial timestamp created
+ * in head.S to get a precise value in /proc/uptime.
*/
write_seqlock_irqsave(&xtime_lock, flags);
- now = get_clock();
- tod_to_timeval(now - TOD_UNIX_EPOCH, &xtime);
- clocksource_tod.cycle_last = now;
tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &ts);
set_normalized_timespec(&wall_to_monotonic, -ts.tv_sec, -ts.tv_nsec);
write_sequnlock_irqrestore(&xtime_lock, flags);
Index: linux-2.6/arch/sh/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/sh/kernel/time.c
+++ linux-2.6/arch/sh/kernel/time.c
@@ -39,11 +39,9 @@ void (*rtc_sh_get_time)(struct timespec
int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time;
#ifdef CONFIG_GENERIC_CMOS_UPDATE
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
- struct timespec tv;
- rtc_sh_get_time(&tv);
- return tv.tv_sec;
+ rtc_sh_get_time(&ts);
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/x86/kernel/rtc.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/rtc.c
+++ linux-2.6/arch/x86/kernel/rtc.c
@@ -178,7 +178,7 @@ static int set_rtc_mmss(unsigned long no
}
/* not static: needed by APM */
-unsigned long read_persistent_clock(void)
+void read_persistent_clock(struct timespec *ts)
{
unsigned long retval, flags;
@@ -186,7 +186,8 @@ unsigned long read_persistent_clock(void
retval = get_wallclock();
spin_unlock_irqrestore(&rtc_lock, flags);
- return retval;
+ ts->tv_sec = retval;
+ ts->tv_nsec = 0;
}
int update_persistent_clock(struct timespec now)
Index: linux-2.6/arch/xtensa/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/xtensa/kernel/time.c
+++ linux-2.6/arch/xtensa/kernel/time.c
@@ -59,9 +59,8 @@ static struct irqaction timer_irqaction
void __init time_init(void)
{
- xtime.tv_nsec = 0;
- xtime.tv_sec = read_persistent_clock();
-
+ /* FIXME: xtime&wall_to_monotonic are set in timekeeping_init. */
+ read_persistent_clock(&xtime);
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
Index: linux-2.6/include/linux/time.h
===================================================================
--- linux-2.6.orig/include/linux/time.h
+++ linux-2.6/include/linux/time.h
@@ -101,7 +101,7 @@ extern struct timespec xtime;
extern struct timespec wall_to_monotonic;
extern seqlock_t xtime_lock;
-extern unsigned long read_persistent_clock(void);
+extern void read_persistent_clock(struct timespec *ts);
extern int update_persistent_clock(struct timespec now);
extern int no_sync_cmos_clock __read_mostly;
void timekeeping_init(void);
Index: linux-2.6/kernel/time/timekeeping.c
===================================================================
--- linux-2.6.orig/kernel/time/timekeeping.c
+++ linux-2.6/kernel/time/timekeeping.c
@@ -154,7 +154,7 @@ __cacheline_aligned_in_smp DEFINE_SEQLOC
*/
struct timespec xtime __attribute__ ((aligned (16)));
struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
-static unsigned long total_sleep_time; /* seconds */
+static struct timespec total_sleep_time;
/*
* The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock.
@@ -487,17 +487,18 @@ int timekeeping_valid_for_hres(void)
}
/**
- * read_persistent_clock - Return time in seconds from the persistent clock.
+ * read_persistent_clock - Return time from the persistent clock.
*
* Weak dummy function for arches that do not yet support it.
- * Returns seconds from epoch using the battery backed persistent clock.
- * Returns zero if unsupported.
+ * Reads the time from the battery backed persistent clock.
+ * Returns a timespec with tv_sec=0 and tv_nsec=0 if unsupported.
*
* XXX - Do be sure to remove it once all arches implement it.
*/
-unsigned long __attribute__((weak)) read_persistent_clock(void)
+void __attribute__((weak)) read_persistent_clock(struct timespec *ts)
{
- return 0;
+ ts->tv_sec = 0;
+ ts->tv_nsec = 0;
}
/*
@@ -507,7 +508,9 @@ void __init timekeeping_init(void)
{
struct clocksource *clock;
unsigned long flags;
- unsigned long sec = read_persistent_clock();
+ struct timespec now;
+
+ read_persistent_clock(&now);
write_seqlock_irqsave(&xtime_lock, flags);
@@ -518,19 +521,20 @@ void __init timekeeping_init(void)
clock->enable(clock);
timekeeper_setup_internals(clock);
- xtime.tv_sec = sec;
- xtime.tv_nsec = 0;
+ xtime.tv_sec = now.tv_sec;
+ xtime.tv_nsec = now.tv_nsec;
raw_time.tv_sec = 0;
raw_time.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
update_xtime_cache(0);
- total_sleep_time = 0;
+ total_sleep_time.tv_sec = 0;
+ total_sleep_time.tv_nsec = 0;
write_sequnlock_irqrestore(&xtime_lock, flags);
}
/* time in seconds when suspend began */
-static unsigned long timekeeping_suspend_time;
+static struct timespec timekeeping_suspend_time;
/**
* timekeeping_resume - Resumes the generic timekeeping subsystem.
@@ -543,18 +547,19 @@ static unsigned long timekeeping_suspend
static int timekeeping_resume(struct sys_device *dev)
{
unsigned long flags;
- unsigned long now = read_persistent_clock();
+ struct timespec ts;
+
+ read_persistent_clock(&ts);
clocksource_resume();
write_seqlock_irqsave(&xtime_lock, flags);
- if (now && (now > timekeeping_suspend_time)) {
- unsigned long sleep_length = now - timekeeping_suspend_time;
-
- xtime.tv_sec += sleep_length;
- wall_to_monotonic.tv_sec -= sleep_length;
- total_sleep_time += sleep_length;
+ if (timespec_compare(&ts, &timekeeping_suspend_time) > 0) {
+ ts = timespec_sub(ts, timekeeping_suspend_time);
+ xtime = timespec_add_safe(xtime, ts);
+ wall_to_monotonic = timespec_sub(wall_to_monotonic, ts);
+ total_sleep_time = timespec_add_safe(total_sleep_time, ts);
}
update_xtime_cache(0);
/* re-base the last cycle value */
@@ -577,7 +582,7 @@ static int timekeeping_suspend(struct sy
{
unsigned long flags;
- timekeeping_suspend_time = read_persistent_clock();
+ read_persistent_clock(&timekeeping_suspend_time);
write_seqlock_irqsave(&xtime_lock, flags);
timekeeping_forward_now();
@@ -800,9 +805,10 @@ void update_wall_time(void)
*/
void getboottime(struct timespec *ts)
{
- set_normalized_timespec(ts,
- - (wall_to_monotonic.tv_sec + total_sleep_time),
- - wall_to_monotonic.tv_nsec);
+ struct timespec boottime;
+
+ boottime = timespec_add_safe(wall_to_monotonic, total_sleep_time);
+ set_normalized_timespec(ts, -boottime.tv_sec, -boottime.tv_nsec);
}
/**
@@ -811,7 +817,7 @@ void getboottime(struct timespec *ts)
*/
void monotonic_to_bootbased(struct timespec *ts)
{
- ts->tv_sec += total_sleep_time;
+ *ts = timespec_add_safe(*ts, total_sleep_time);
}
unsigned long get_seconds(void)
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-22 15:15 ` Martin Schwidefsky
@ 2009-08-22 15:33 ` Ingo Molnar
2009-08-22 20:23 ` Martin Schwidefsky
2009-08-23 3:33 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() Paul Mackerras
0 siblings, 2 replies; 78+ messages in thread
From: Ingo Molnar @ 2009-08-22 15:33 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: dwalker, mingo, hpa, linux-kernel, johnstul, tglx,
linux-tip-commits
* Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> > FYI, -tip arch-testing found that this commit broke the PowerPC
> > build:
> >
> > /home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
> > /home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
> > /home/mingo/tip/arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
> > make[2]: *** [arch/powerpc/kernel/time.o] Error 1
> > make[2]: *** Waiting for unfinished jobs....
> > make[1]: *** [arch/powerpc/kernel] Error 2
>
> I overlooked a case in the powerpc version of read_persistent_lock.
> New patch:
the patches are already committed and this patch doesnt apply - mind
sending a delta fix against tip:master:
http://people.redhat.com/mingo/tip.git/README
Thanks,
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-22 15:33 ` Ingo Molnar
@ 2009-08-22 20:23 ` Martin Schwidefsky
2009-08-23 8:53 ` Ingo Molnar
2009-08-23 9:03 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock(), build fix tip-bot for Martin Schwidefsky
2009-08-23 3:33 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() Paul Mackerras
1 sibling, 2 replies; 78+ messages in thread
From: Martin Schwidefsky @ 2009-08-22 20:23 UTC (permalink / raw)
To: Ingo Molnar
Cc: dwalker, mingo, hpa, linux-kernel, johnstul, tglx,
linux-tip-commits
On Sat, 22 Aug 2009 17:33:46 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
>
> > > FYI, -tip arch-testing found that this commit broke the PowerPC
> > > build:
> > >
> > > /home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
> > > /home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
> > > /home/mingo/tip/arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
> > > make[2]: *** [arch/powerpc/kernel/time.o] Error 1
> > > make[2]: *** Waiting for unfinished jobs....
> > > make[1]: *** [arch/powerpc/kernel] Error 2
> >
> > I overlooked a case in the powerpc version of read_persistent_lock.
> > New patch:
>
> the patches are already committed and this patch doesnt apply - mind
> sending a delta fix against tip:master:
>
> http://people.redhat.com/mingo/tip.git/README
Here we go:
--
Subject: [PATCH] powerpc: build fix for read_persistent_clock
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Fix the following build problem on powerpc:
arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
make[2]: *** [arch/powerpc/kernel/time.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [arch/powerpc/kernel] Error 2
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
arch/powerpc/kernel/time.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
Index: linux-2.6/arch/powerpc/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/powerpc/kernel/time.c
+++ linux-2.6/arch/powerpc/kernel/time.c
@@ -774,6 +774,7 @@ void read_persistent_clock(struct timesp
struct rtc_time tm;
static int first = 1;
+ ts->tv_nsec = 0;
/* XXX this is a litle fragile but will work okay in the short term */
if (first) {
first = 0;
@@ -781,15 +782,18 @@ void read_persistent_clock(struct timesp
timezone_offset = ppc_md.time_init();
/* get_boot_time() isn't guaranteed to be safe to call late */
- if (ppc_md.get_boot_time)
- return ppc_md.get_boot_time() -timezone_offset;
+ if (ppc_md.get_boot_time) {
+ ts->tv_sec = ppc_md.get_boot_time() -timezone_offset;
+ return;
+ }
+ }
+ if (!ppc_md.get_rtc_time) {
+ ts->tv_sec = 0;
+ return;
}
- if (!ppc_md.get_rtc_time)
- return 0;
ppc_md.get_rtc_time(&tm);
ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
- ts->tv_nsec = 0;
}
/* clocksource code */
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-22 15:33 ` Ingo Molnar
2009-08-22 20:23 ` Martin Schwidefsky
@ 2009-08-23 3:33 ` Paul Mackerras
2009-08-23 8:47 ` Ingo Molnar
1 sibling, 1 reply; 78+ messages in thread
From: Paul Mackerras @ 2009-08-23 3:33 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> > I overlooked a case in the powerpc version of read_persistent_lock.
> > New patch:
>
> the patches are already committed and this patch doesnt apply - mind
> sending a delta fix against tip:master:
Is that going to leave us with a bisection breakage on powerpc once
this stuff goes upstream? If so please fold the fix into the original
patch.
Thanks,
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-23 3:33 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() Paul Mackerras
@ 2009-08-23 8:47 ` Ingo Molnar
2009-08-24 3:20 ` Paul Mackerras
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-23 8:47 UTC (permalink / raw)
To: Paul Mackerras
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
* Paul Mackerras <paulus@samba.org> wrote:
> Ingo Molnar writes:
>
> > * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> > > I overlooked a case in the powerpc version of read_persistent_lock.
> > > New patch:
> >
> > the patches are already committed and this patch doesnt apply -
> > mind sending a delta fix against tip:master:
>
> Is that going to leave us with a bisection breakage on powerpc
> once this stuff goes upstream? If so please fold the fix into the
> original patch.
Do you ask Linus to rebase the upstream kernel as well, if the
powerpc or x86 build happens to break? There's more than a dozen
such cases per development cycle triggering on my tests alone. If
not, why not?
The thing is, we'll probably redo this portion of the timer tree as
i found other problems in testing, but generally the disadvantages
of a build breakage with a very small non-bisectability window has
to be weighed against the disadvantages of a rebase (which are
significant).
The equation does not automatically flip in favor of a rebase as you
seem to suggest - in fact it generally goes _against_ a rebase.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-22 20:23 ` Martin Schwidefsky
@ 2009-08-23 8:53 ` Ingo Molnar
2009-08-23 9:03 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock(), build fix tip-bot for Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: Ingo Molnar @ 2009-08-23 8:53 UTC (permalink / raw)
To: Martin Schwidefsky
Cc: dwalker, mingo, hpa, linux-kernel, johnstul, tglx,
linux-tip-commits
* Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> On Sat, 22 Aug 2009 17:33:46 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
>
> >
> > * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:
> >
> > > > FYI, -tip arch-testing found that this commit broke the PowerPC
> > > > build:
> > > >
> > > > /home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
> > > > /home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
> > > > /home/mingo/tip/arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
> > > > make[2]: *** [arch/powerpc/kernel/time.o] Error 1
> > > > make[2]: *** Waiting for unfinished jobs....
> > > > make[1]: *** [arch/powerpc/kernel] Error 2
> > >
> > > I overlooked a case in the powerpc version of read_persistent_lock.
> > > New patch:
> >
> > the patches are already committed and this patch doesnt apply - mind
> > sending a delta fix against tip:master:
> >
> > http://people.redhat.com/mingo/tip.git/README
>
> Here we go:
applied, thanks! (i fixed the small detail checkpatch complained
about)
Note, i've appended it to the timer tree for now - but for the
lockdep bug we'll need another fix, and these two bugs will probably
trigger a rebase. I'll leave it up to Thomas whether he wants to
rebase the end result, once things have settled down.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock(), build fix
2009-08-22 20:23 ` Martin Schwidefsky
2009-08-23 8:53 ` Ingo Molnar
@ 2009-08-23 9:03 ` tip-bot for Martin Schwidefsky
1 sibling, 0 replies; 78+ messages in thread
From: tip-bot for Martin Schwidefsky @ 2009-08-23 9:03 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, schwidefsky, tglx, mingo
Commit-ID: d90246cd8e0141332a8ab09c3c1800cc2028a686
Gitweb: http://git.kernel.org/tip/d90246cd8e0141332a8ab09c3c1800cc2028a686
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
AuthorDate: Sat, 22 Aug 2009 22:23:13 +0200
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Sun, 23 Aug 2009 10:49:48 +0200
timekeeping: Increase granularity of read_persistent_clock(), build fix
Fix the following build problem on powerpc:
arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: dwalker@fifo99.com
Cc: johnstul@us.ibm.com
LKML-Reference: <20090822222313.74b9619c@skybase>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/powerpc/kernel/time.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index ad63f30..a508388 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -774,6 +774,7 @@ void read_persistent_clock(struct timespec *ts)
struct rtc_time tm;
static int first = 1;
+ ts->tv_nsec = 0;
/* XXX this is a litle fragile but will work okay in the short term */
if (first) {
first = 0;
@@ -781,15 +782,18 @@ void read_persistent_clock(struct timespec *ts)
timezone_offset = ppc_md.time_init();
/* get_boot_time() isn't guaranteed to be safe to call late */
- if (ppc_md.get_boot_time)
- return ppc_md.get_boot_time() -timezone_offset;
+ if (ppc_md.get_boot_time) {
+ ts->tv_sec = ppc_md.get_boot_time() - timezone_offset;
+ return;
+ }
+ }
+ if (!ppc_md.get_rtc_time) {
+ ts->tv_sec = 0;
+ return;
}
- if (!ppc_md.get_rtc_time)
- return 0;
ppc_md.get_rtc_time(&tm);
ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
- ts->tv_nsec = 0;
}
/* clocksource code */
^ permalink raw reply related [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-23 8:47 ` Ingo Molnar
@ 2009-08-24 3:20 ` Paul Mackerras
2009-08-24 8:23 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Paul Mackerras @ 2009-08-24 3:20 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> Do you ask Linus to rebase the upstream kernel as well, if the
> powerpc or x86 build happens to break? There's more than a dozen
> such cases per development cycle triggering on my tests alone. If
> not, why not?
I see you pulling commits out of the tip tree quite often, when they
have testing failures of various kinds. I presume that, like other
maintainers, you have some branches that you try hard not to rebase
and other testing branches that are quite volatile and get
reconstructed frequently (though I don't know what branch names you
use for them).
I presumed that you wouldn't have put a commit that hadn't even passed
basic build testing into one of your non-rebasing branches. That's
why I assumed you could fold the fix into the original patch without
difficulty.
> The thing is, we'll probably redo this portion of the timer tree as
> i found other problems in testing, but generally the disadvantages
> of a build breakage with a very small non-bisectability window has
> to be weighed against the disadvantages of a rebase (which are
> significant).
>
> The equation does not automatically flip in favor of a rebase as you
> seem to suggest - in fact it generally goes _against_ a rebase.
In a stable, non-rebasing branch, sure. But putting untested patches
into such a branch would be a bit silly, so I assumed you hadn't done
that. :)
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-24 3:20 ` Paul Mackerras
@ 2009-08-24 8:23 ` Ingo Molnar
2009-08-25 3:49 ` Paul Mackerras
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-24 8:23 UTC (permalink / raw)
To: Paul Mackerras
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
* Paul Mackerras <paulus@samba.org> wrote:
> Ingo Molnar writes:
>
> > Do you ask Linus to rebase the upstream kernel as well, if the
> > powerpc or x86 build happens to break? There's more than a dozen
> > such cases per development cycle triggering on my tests alone. If
> > not, why not?
>
> I see you pulling commits out of the tip tree quite often, when
> they have testing failures of various kinds. I presume that, like
> other maintainers, you have some branches that you try hard not to
> rebase and other testing branches that are quite volatile and get
> reconstructed frequently (though I don't know what branch names
> you use for them).
>
> I presumed that you wouldn't have put a commit that hadn't even
> passed basic build testing into one of your non-rebasing branches.
> That's why I assumed you could fold the fix into the original
> patch without difficulty.
Sometimes rebasing is possible, sometimes not. Here it's borderline
- the commit was already behind other commits.
> > The thing is, we'll probably redo this portion of the timer tree
> > as i found other problems in testing, but generally the
> > disadvantages of a build breakage with a very small
> > non-bisectability window has to be weighed against the
> > disadvantages of a rebase (which are significant).
> >
> > The equation does not automatically flip in favor of a rebase as
> > you seem to suggest - in fact it generally goes _against_ a
> > rebase.
>
> In a stable, non-rebasing branch, sure. But putting untested
> patches into such a branch would be a bit silly, so I assumed you
> hadn't done that. :)
You have not answered my primary question though AFAICS. There's
_more_ build breakages in Linus's tree (in a volume-scaled form), so
why dont you request rebases there?
If you requested them you'd have a snowball's chance in hell, Linus
has never rebased the upstream tree, ever. Once pushed out for
others to pull it's cast into stone. Yes, sometimes the build
breaks, especially on rarely used architectures. We fix them.
The more frequently an architecture is tested, the more it is used
in practice, the more a driver and an architecture matters the
shorter the bisection breakage window becomes. The upstream kernel
is a self-tuning process of quality, even without rebases and
backmerges.
(DaveM does something quite similar to Linus too AFAICS, he too
never rebases the networking tree.)
I'm thinking about starting to do the same for all -tip trees too: i
do reasonable testing before pushing it out, on the most common
architecture and driver selection, and once pushed out it's cast
into stone Git-wise.
I actually start regretting that i do rebases too frequently - some
people (not you really, but you gave me the perfect example to reply
to) want more and seem to think they are _entitled_ to rebases and
are entitled to backmerges. The thing is, rebases are not free. They
are risky and error-prone, and they destroy Git history.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-24 8:23 ` Ingo Molnar
@ 2009-08-25 3:49 ` Paul Mackerras
2009-08-25 8:26 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Paul Mackerras @ 2009-08-25 3:49 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> * Paul Mackerras <paulus@samba.org> wrote:
> > In a stable, non-rebasing branch, sure. But putting untested
> > patches into such a branch would be a bit silly, so I assumed you
> > hadn't done that. :)
>
> You have not answered my primary question though AFAICS. There's
> _more_ build breakages in Linus's tree (in a volume-scaled form), so
> why dont you request rebases there?
Well, I don't see a lot of build breakages in Linus' tree, in fact.
What goes into Linus' tree is supposed to have been tested by
subsystem maintainers first, and if there is stuff that goes across
several architectures, it should have been posted to linux-arch
first. In other words, with Linus' tree the focus is on filtering out
at least the more obvious problems before they get into Linus' tree.
Sometimes that doesn't work, and then we yell at the person
responsible for a bit and then move on.
On the other hand, subsystem and architecture maintainers (such as
yourself) should be doing a reasonable amount of testing before
committing patches to any non-rebasing branch. Some maintainers use
quilt for this, others use testing branches that explicitly get
reconstructed frequently and are not for others to build on.
> If you requested them you'd have a snowball's chance in hell, Linus
> has never rebased the upstream tree, ever. Once pushed out for
> others to pull it's cast into stone. Yes, sometimes the build
> breaks, especially on rarely used architectures. We fix them.
Yet I see you pulling patches out of tip quite frequently. When I
update my local copy of your tip/perfcounters branches, maybe one time
in three I see a forced update of at least one of those branches.
You don't seem to have separate testing and non-rebasing branches.
Instead you seem to treat the more recent commits as testing and the
older ones as non-rebasing. I would suggest that that way of
operating isn't as clear and predictable for your downstream users as
it would be if you used separate branches.
> The more frequently an architecture is tested, the more it is used
> in practice, the more a driver and an architecture matters the
> shorter the bisection breakage window becomes. The upstream kernel
> is a self-tuning process of quality, even without rebases and
> backmerges.
>
> (DaveM does something quite similar to Linus too AFAICS, he too
> never rebases the networking tree.)
I don't follow the networking tree, but I do know that DaveM doesn't
publish commits until a reasonable period of time has passed since
committed them and he has done some basic testing of them.
Your way seems to be to push commits into tip very quickly and publish
them, and then do testing, then revert recent commits if they cause
problems.
> I'm thinking about starting to do the same for all -tip trees too: i
> do reasonable testing before pushing it out, on the most common
> architecture and driver selection, and once pushed out it's cast
> into stone Git-wise.
I think that's an excellent idea. If you want to let people help you
with the testing you could also publish the commits you're testing on
a testing branch. I would also advise a minimum latency for patches
to move from testing to the cast-in-stone branch of (say) one day
unless there is a very good reason for pushing them out more quickly.
If you have separate branches then it's clear to downstream users that
they should base their work on your cast-in-stone branch not your
testing branch.
I assume your "reasonable testing" includes building at least one
powerpc config, since you found the breakage on powerpc yourself.
> I actually start regretting that i do rebases too frequently - some
> people (not you really, but you gave me the perfect example to reply
> to) want more and seem to think they are _entitled_ to rebases and
> are entitled to backmerges. The thing is, rebases are not free. They
> are risky and error-prone, and they destroy Git history.
To be honest, I didn't think I was asking for a rebase of something
which was already cast in stone, since I didn't think you would have
cast a commit in stone before doing a build test on powerpc.
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 3:49 ` Paul Mackerras
@ 2009-08-25 8:26 ` Ingo Molnar
2009-08-25 9:57 ` Paul Mackerras
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-25 8:26 UTC (permalink / raw)
To: Paul Mackerras
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
* Paul Mackerras <paulus@samba.org> wrote:
> > I actually start regretting that i do rebases too frequently -
> > some people (not you really, but you gave me the perfect example
> > to reply to) want more and seem to think they are _entitled_ to
> > rebases and are entitled to backmerges. The thing is, rebases
> > are not free. They are risky and error-prone, and they destroy
> > Git history.
>
> To be honest, I didn't think I was asking for a rebase of
> something which was already cast in stone, since I didn't think
> you would have cast a commit in stone before doing a build test on
> powerpc.
I think there's a fundamental disconnect with reality here.
The thing is, as the maintainer of certain core kernel subsystems i
_have to_ mirror and honor the system usage and hardware preferences
of developers, testers and users. Those are predominantly x86 based
currently. I cross-test to a lot of architectures because i'm nice
but in practice it rarely matters.
(It goes beyond that btw: i try to test more common drivers within
x86 too, etc.)
If you want to change that reality you can do it the old fashioned,
fair way: build cool hardware, send more SDVs to kernel developers,
make PowerPC more widely used, etc.
If i put more effort into testing what nobody uses i'd be doing a
disservice to Linux - i'd disproportionately favor PowerPC just
because you are a squeakier wheel.
I.e. please _earn_ your usage share, dont try to dicate it
artificially ... It does not work the other way, you cannot force in
the kernel space what PowerPC did not manage to achieve in the
marketplace.
If you suggest that each and every subsystem maintainer who touches
code that can be built on non-x86 architectures has to cross-build
to 20+ architectures to be able to push out a tree, all the time,
and has to rebase if this ever gets omitted, you are really defying
reality and are hurting Linux.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 8:26 ` Ingo Molnar
@ 2009-08-25 9:57 ` Paul Mackerras
2009-08-25 10:17 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Paul Mackerras @ 2009-08-25 9:57 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> If you suggest that each and every subsystem maintainer who touches
> code that can be built on non-x86 architectures has to cross-build
> to 20+ architectures to be able to push out a tree, all the time,
> and has to rebase if this ever gets omitted, you are really defying
> reality and are hurting Linux.
Nice straw man, but I never said or even suggested anything like
that. :)
I do think that it's reasonable to expect that a patch which touches
the architecture-specific code for some architecture gets compiled
for that architecture at least once before it gets set in stone. As
far as I can tell, this didn't happen in the case of Martin's patch
that triggered this debate.
Patches which touch multiple architecture's arch-specific code should
also get sent to the maintainers of the affected architectures and the
linux-arch mailing list. I don't recall seeing this patch on
linux-arch, though I may have missed it (and anyway that would be
Martin's responsibility not yours, but it does contribute to the sense
of being blindsided).
More generally - if you don't have the resources to do regular build
testing for powerpc or other architectures, then publish a testing
branch and we'll get kisskb (http://kisskb.ellerman.id.au/) to build a
selection of configs and architectures automatically.
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 9:57 ` Paul Mackerras
@ 2009-08-25 10:17 ` Ingo Molnar
2009-08-25 11:33 ` Paul Mackerras
0 siblings, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-25 10:17 UTC (permalink / raw)
To: Paul Mackerras
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
* Paul Mackerras <paulus@samba.org> wrote:
> Ingo Molnar writes:
>
> > If you suggest that each and every subsystem maintainer who
> > touches code that can be built on non-x86 architectures has to
> > cross-build to 20+ architectures to be able to push out a tree,
> > all the time, and has to rebase if this ever gets omitted, you
> > are really defying reality and are hurting Linux.
>
> Nice straw man, but I never said or even suggested anything like
> that. :)
... but what you say in essence amounts to that. Every change to a
file that is built on an architecture 'affects' that architecture so
your arguments can be repeated for that one. It's a slippery slope
built on a wrong premise.
I can only repeat what i said because i did not see you really
counter the core of my argument (you snipped out much of my mail
that details this and only replied to the last paragraph):
>> I think there's a fundamental disconnect with reality here.
>>
>> The thing is, as the maintainer of certain core kernel subsystems
>> i _have to_ mirror and honor the system usage and hardware
>> preferences of developers, testers and users. Those are
>> predominantly x86 based currently. I cross-test to a lot of
>> architectures because i'm nice but in practice it rarely matters.
>>
>> (It goes beyond that btw: i try to test more common drivers
>> within x86 too, etc.)
>>
>> If you want to change that reality you can do it the old
>> fashioned, fair way: build cool hardware, send more SDVs to
>> kernel developers, make PowerPC more widely used, etc.
>>
>> If i put more effort into testing what nobody uses i'd be doing a
>> disservice to Linux - i'd disproportionately favor PowerPC just
>> because you are a squeakier wheel.
>>
>> I.e. please _earn_ your usage share, dont try to dicate it
>> artificially ... It does not work the other way, you cannot force
>> in the kernel space what PowerPC did not manage to achieve in the
>> marketplace.
We should be (and are) testing what matters and 22 architectures
must not be allowed to hold core kernel facilities hostage.
( Plus, as i said the current tip of timers/core was problematic for
other reasons as well, which amounts to a 'might need to be
rebased'. )
> I do think that it's reasonable to expect that a patch which
> touches the architecture-specific code for some architecture gets
> compiled for that architecture at least once before it gets set in
> stone. As far as I can tell, this didn't happen in the case of
> Martin's patch that triggered this debate.
I've seen similar arguments for patches that didnt touch any
architecture files but broke it via some other, less direct way.
Say that patch also touches arch/xtensa/. Can you cross-build to
xtensa?
> Patches which touch multiple architecture's arch-specific code
> should also get sent to the maintainers of the affected
> architectures and the linux-arch mailing list. I don't recall
> seeing this patch on linux-arch, though I may have missed it (and
> anyway that would be Martin's responsibility not yours, but it
> does contribute to the sense of being blindsided).
>
> More generally - if you don't have the resources to do regular
> build testing for powerpc or other architectures, then publish a
> testing branch and we'll get kisskb
> (http://kisskb.ellerman.id.au/) to build a selection of configs
> and architectures automatically.
Slowing down patches via buerocracy like that is not acceptable at
all. Make developers care more about your architecture via natural
means, not via buerocratic measures.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 10:17 ` Ingo Molnar
@ 2009-08-25 11:33 ` Paul Mackerras
2009-08-25 13:50 ` Ingo Molnar
0 siblings, 1 reply; 78+ messages in thread
From: Paul Mackerras @ 2009-08-25 11:33 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> * Paul Mackerras <paulus@samba.org> wrote:
>
> > Ingo Molnar writes:
> >
> > > If you suggest that each and every subsystem maintainer who
> > > touches code that can be built on non-x86 architectures has to
> > > cross-build to 20+ architectures to be able to push out a tree,
> > > all the time, and has to rebase if this ever gets omitted, you
> > > are really defying reality and are hurting Linux.
> >
> > Nice straw man, but I never said or even suggested anything like
> > that. :)
>
> ... but what you say in essence amounts to that. Every change to a
> file that is built on an architecture 'affects' that architecture so
> your arguments can be repeated for that one. It's a slippery slope
> built on a wrong premise.
Not at all. I'm saying that committing code, some of which has never
ever been compiled on any architecture, is just sloppy. It's basic
good engineering practice to have at least compiled the code you're
committing - at least once on at least one architecture. It's like
making changes inside #ifdef CONFIG_FOO but never testing with
CONFIG_FOO turned on. You'd complain, and rightly, if someone did
that.
> I can only repeat what i said because i did not see you really
> counter the core of my argument (you snipped out much of my mail
> that details this and only replied to the last paragraph):
Well, though much of what you said is true, in the end it seems to
boil down to saying that non-x86 architectures don't have any right to
expect any degree of care or attention from you, because only x86 is
important. And of course you have a perfect right to pay attention to
whatever you find interesting and ignore anything else, including
difficulties that you cause along the way for other kernel developers.
There doesn't seem to be any useful response to that.
> Say that patch also touches arch/xtensa/. Can you cross-build to
> xtensa?
Sure, I just ask Michael Ellerman to point kisskb at a tree with my
proposed patch in it.
> > Patches which touch multiple architecture's arch-specific code
> > should also get sent to the maintainers of the affected
> > architectures and the linux-arch mailing list. I don't recall
> > seeing this patch on linux-arch, though I may have missed it (and
> > anyway that would be Martin's responsibility not yours, but it
> > does contribute to the sense of being blindsided).
> >
> > More generally - if you don't have the resources to do regular
> > build testing for powerpc or other architectures, then publish a
> > testing branch and we'll get kisskb
> > (http://kisskb.ellerman.id.au/) to build a selection of configs
> > and architectures automatically.
>
> Slowing down patches via buerocracy like that is not acceptable at
> all. Make developers care more about your architecture via natural
> means, not via buerocratic measures.
The "should" in what I said is just good manners, not bureaucracy.
The stuff about kisskb was an offer to help, not bureaucracy.
No-one's forcing you to do anything.
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 11:33 ` Paul Mackerras
@ 2009-08-25 13:50 ` Ingo Molnar
2009-08-25 21:33 ` Theodore Tso
` (2 more replies)
0 siblings, 3 replies; 78+ messages in thread
From: Ingo Molnar @ 2009-08-25 13:50 UTC (permalink / raw)
To: Paul Mackerras
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
* Paul Mackerras <paulus@samba.org> wrote:
> Ingo Molnar writes:
>
> > * Paul Mackerras <paulus@samba.org> wrote:
> >
> > > Ingo Molnar writes:
> > >
> > > > If you suggest that each and every subsystem maintainer who
> > > > touches code that can be built on non-x86 architectures has to
> > > > cross-build to 20+ architectures to be able to push out a tree,
> > > > all the time, and has to rebase if this ever gets omitted, you
> > > > are really defying reality and are hurting Linux.
> > >
> > > Nice straw man, but I never said or even suggested anything like
> > > that. :)
> >
> > ... but what you say in essence amounts to that. Every change to a
> > file that is built on an architecture 'affects' that architecture so
> > your arguments can be repeated for that one. It's a slippery slope
> > built on a wrong premise.
>
> Not at all. I'm saying that committing code, some of which has
> never ever been compiled on any architecture, is just sloppy.
But this is not what happened. We committed it because it was a good
patch and this _enabled_ the wider testing of it, even in areas that
developers dont normally use.
In other words while i do a lot of cross-testing and applied your
fix immediately i'm not willing to whitewash the "PowerPC is rarely
used" fact out of Git trees via ugly rebasing - especially if the
distance between the original commit and the fix is just 4 hops.
Nor am i going to require people/developers to test on a dozen of
architectures or more before we can commit something - it's not
reasonable.
( Nor is there any real upside to rebasing for this reason alone,
and there's a lot of downsides to it, many of which i already
mentioned in my prior replies. )
> It's basic good engineering practice to have at least compiled the
> code you're committing - at least once on at least one
> architecture. [...]
And i very much do that before i push such changes to Linus.
It's a push show-stopper but not a commit show-stopper.
You chose to see the intermediate steps by checking the development
stage, why are you surprised that less used and less tested areas of
the code breaks?
Everything that happens rarely, such as big pushes to Linus, can be
(and does get) tested widely like that. For for the most critical
part of the workflow, the commit latency, we dont want extra
buerocracy that buys us nothing.
Let the platforms do their own testing and _provide developers_ who
will make it damn sure new bits work on their architecture out of
box. Or if they dont (or cannot) and just sit there expecting the
upstream kernel to do development for them, let them deal with the
consequences.
> [...] It's like making changes inside #ifdef CONFIG_FOO but never
> testing with CONFIG_FOO turned on. You'd complain, and rightly,
> if someone did that.
You again seem to ignore the very valid case i pointed out: if i
change generic code (or an include, an inline function or a define)
which somehow affects an architecture, by your logic i'd be
compelled to test it on that architecture - because it affects it.
That's not reasonable overhead.
> > I can only repeat what i said because i did not see you really
> > counter the core of my argument (you snipped out much of my mail
> > that details this and only replied to the last paragraph):
>
> Well, though much of what you said is true, in the end it seems to
> boil down to saying that non-x86 architectures don't have any
> right to expect any degree of care or attention from you, because
> only x86 is important. And of course you have a perfect right to
> pay attention to whatever you find interesting and ignore anything
> else, including difficulties that you cause along the way for
> other kernel developers.
>
> There doesn't seem to be any useful response to that.
You paraphrased my opinion into something i did not say.
Exactly which bit of "i cross-build test every architecture that
builds fine upstream before i push out to linux-next" do you
understand as me not caring?
But it does not get as strong testing, it's not a commit
show-stopper (unless coupled with other badness) and sometimes bugs
slip through and get fixed after (quickly).
> > Say that patch also touches arch/xtensa/. Can you cross-build to
> > xtensa?
>
> Sure, I just ask Michael Ellerman to point kisskb at a tree with
> my proposed patch in it.
FYI, would be a challenge, xtensa's defconfig didnt build upstream
for quite a long time:
/home/mingo/tip/arch/xtensa/kernel/pci.c: In function '__pci_mmap_set_pgprot':
/home/mingo/tip/arch/xtensa/kernel/pci.c:362: error: '_PAGE_NO_CACHE' undeclared (first use in this function)
/home/mingo/tip/arch/xtensa/kernel/pci.c:362: error: (Each undeclared identifier is reported only once
/home/mingo/tip/arch/xtensa/kernel/pci.c:362: error: for each function it appears in.)
> > > Patches which touch multiple architecture's arch-specific code
> > > should also get sent to the maintainers of the affected
> > > architectures and the linux-arch mailing list. I don't recall
> > > seeing this patch on linux-arch, though I may have missed it
> > > (and anyway that would be Martin's responsibility not yours,
> > > but it does contribute to the sense of being blindsided).
> > >
> > > More generally - if you don't have the resources to do regular
> > > build testing for powerpc or other architectures, then publish
> > > a testing branch and we'll get kisskb
> > > (http://kisskb.ellerman.id.au/) to build a selection of
> > > configs and architectures automatically.
> >
> > Slowing down patches via buerocracy like that is not acceptable
> > at all. Make developers care more about your architecture via
> > natural means, not via buerocratic measures.
>
> The "should" in what I said is just good manners, not bureaucracy.
>
> The stuff about kisskb was an offer to help, not bureaucracy.
> No-one's forcing you to do anything.
Well, me pointing out that such measures slow down the critical path
of patch submission is a valid concern - and "you are not forced to
do that" pretty much defeats you having suggested it, doesnt it? (i
hope i'm not misprepresenting your words)
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 13:50 ` Ingo Molnar
@ 2009-08-25 21:33 ` Theodore Tso
2009-08-25 22:03 ` Ingo Molnar
2009-08-26 0:22 ` Paul Mackerras
2009-08-25 23:48 ` Paul Mackerras
2009-08-26 9:44 ` Benjamin Herrenschmidt
2 siblings, 2 replies; 78+ messages in thread
From: Theodore Tso @ 2009-08-25 21:33 UTC (permalink / raw)
To: Ingo Molnar
Cc: Paul Mackerras, Martin Schwidefsky, dwalker, mingo, hpa,
linux-kernel, johnstul, tglx, linux-tip-commits
On Tue, Aug 25, 2009 at 03:50:17PM +0200, Ingo Molnar wrote:
> > [...] It's like making changes inside #ifdef CONFIG_FOO but never
> > testing with CONFIG_FOO turned on. You'd complain, and rightly,
> > if someone did that.
>
> You again seem to ignore the very valid case i pointed out: if i
> change generic code (or an include, an inline function or a define)
> which somehow affects an architecture, by your logic i'd be
> compelled to test it on that architecture - because it affects it.
> That's not reasonable overhead.
Paul, Ingo, it seems like the two of you are talking past each other.
He's said he's OK with generic code which somehow affects an
architecture only being tested on one architecture, so what you're
proposing is a straw man. What he has requested it would be nice that
each line of code be compile-tested on at least *one* architecture.
If it's generic code, then by definition when you compile on x86, it's
met the criterion he has proposed.
On the other hand, your claim that it would slow down development too
much is based on the assumption that if you make a change in generic
code that breaks architecture-specific code, it's good manners to at
least *attempt* to fix up the architecture-specific code, as opposed
to leaving it broken. So you could meet Paul's request of "not
committing code that hasn't been compile-tested" by simply leaving
that particular architecture broken when you change generic code.
Personally, I think that would be worse, since that exchanges the risk
that a generic change might break the PowerPC architecture, with the
*certainty* that the PowerPC architecture would be broken by said
change. :-) So it may very well be that you are doing the right
thing.
It's the combination of Paul's request that it be good manners that
all architecture specific code be compile-tested at least once, and
the generally accepted criterion that when someone makes a change in
generic code, that all in-tree users should be converted to use the
new calling convention --- after all, that's one of the benefits that
we tout to device driver writers for merging code into the mainline.
I will note, by the way, that in the file system space, where we have
almost 70 filesystems, I doubt very much that every single generic
change in the core VM or FS code that might have a potential to affect
every single filesystem gets compile-tested using allyesconfig. Maybe
it should, but I suspect it's not all that uncommon for people to
assume that simple syntactical change of adding an extra parameter to
a function signature (for example) can be addressed using a global
search and replace, and not necesarily tested on every single
filesystem. Maybe it *should* in the ideal world, but I'm guessing
that sometimes that doesn't happen...
In the case of architecture code where compile-testing on every single
architecture would require keeping very large number of
cross-compilers, and a non-trivial amount of time, it's much less
reasonable. Doing a full test on all architectures before pushing to
Linus (as opposed to publication in a -tip git branch) may be the best
that can be expected.
- Ted
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 21:33 ` Theodore Tso
@ 2009-08-25 22:03 ` Ingo Molnar
2009-08-26 0:26 ` Paul Mackerras
2009-08-26 0:22 ` Paul Mackerras
1 sibling, 1 reply; 78+ messages in thread
From: Ingo Molnar @ 2009-08-25 22:03 UTC (permalink / raw)
To: Theodore Tso, Paul Mackerras, Martin Schwidefsky, dwalker, mingo,
hpa, linux-kernel, johnstul, tglx, linux-tip-commits
* Theodore Tso <tytso@mit.edu> wrote:
> On Tue, Aug 25, 2009 at 03:50:17PM +0200, Ingo Molnar wrote:
> > > [...] It's like making changes inside #ifdef CONFIG_FOO but never
> > > testing with CONFIG_FOO turned on. You'd complain, and rightly,
> > > if someone did that.
> >
> > You again seem to ignore the very valid case i pointed out: if i
> > change generic code (or an include, an inline function or a
> > define) which somehow affects an architecture, by your logic i'd
> > be compelled to test it on that architecture - because it
> > affects it. That's not reasonable overhead.
>
> Paul, Ingo, it seems like the two of you are talking past each
> other. He's said he's OK with generic code which somehow affects
> an architecture only being tested on one architecture, so what
> you're proposing is a straw man. What he has requested it would
> be nice that each line of code be compile-tested on at least *one*
> architecture. If it's generic code, then by definition when you
> compile on x86, it's met the criterion he has proposed.
>
> On the other hand, your claim that it would slow down development
> too much is based on the assumption that if you make a change in
> generic code that breaks architecture-specific code, it's good
> manners to at least *attempt* to fix up the architecture-specific
> code, as opposed to leaving it broken. [...]
That's (of course!) what happened here.
In fact, more than just an attempt happened, the thread started by
_me_ finding this build breakage to begin with:
> > > FYI, -tip arch-testing found that this commit broke the PowerPC
> > > build:
> > >
> > > /home/mingo/tip/arch/powerpc/kernel/time.c: In function 'read_persistent_clock':
> > > /home/mingo/tip/arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void
and i applied the fix from Martin very quickly as well.
So i think this is much ado about nothing. Testing was done, the fix
was applied immediately and no kitten was hurt in the process.
Ingo
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 13:50 ` Ingo Molnar
2009-08-25 21:33 ` Theodore Tso
@ 2009-08-25 23:48 ` Paul Mackerras
2009-08-26 9:44 ` Benjamin Herrenschmidt
2 siblings, 0 replies; 78+ messages in thread
From: Paul Mackerras @ 2009-08-25 23:48 UTC (permalink / raw)
To: Ingo Molnar
Cc: Martin Schwidefsky, dwalker, mingo, hpa, linux-kernel, johnstul,
tglx, linux-tip-commits
Ingo Molnar writes:
> * Paul Mackerras <paulus@samba.org> wrote:
>
> > Ingo Molnar writes:
> >
> > > * Paul Mackerras <paulus@samba.org> wrote:
> > >
> > > > Ingo Molnar writes:
> > > >
> > > > > If you suggest that each and every subsystem maintainer who
> > > > > touches code that can be built on non-x86 architectures has to
> > > > > cross-build to 20+ architectures to be able to push out a tree,
> > > > > all the time, and has to rebase if this ever gets omitted, you
> > > > > are really defying reality and are hurting Linux.
> > > >
> > > > Nice straw man, but I never said or even suggested anything like
> > > > that. :)
> > >
> > > ... but what you say in essence amounts to that. Every change to a
> > > file that is built on an architecture 'affects' that architecture so
> > > your arguments can be repeated for that one. It's a slippery slope
> > > built on a wrong premise.
> >
> > Not at all. I'm saying that committing code, some of which has
> > never ever been compiled on any architecture, is just sloppy.
>
> But this is not what happened. We committed it because it was a good
> patch and this _enabled_ the wider testing of it, even in areas that
> developers dont normally use.
One of the points that I have been trying to make all along is that
it helps to make a distinction between "committing for testing" and
"committing to the permanent record", particularly for subsystem and
architecture maintainers (i.e. people who aren't Linus).
> In other words while i do a lot of cross-testing and applied your
> fix immediately i'm not willing to whitewash the "PowerPC is rarely
> used" fact out of Git trees via ugly rebasing - especially if the
> distance between the original commit and the fix is just 4 hops.
Well, I disagree with the word "rarely", but let's not get into a
great long discussion about that.
> Nor am i going to require people/developers to test on a dozen of
> architectures or more before we can commit something - it's not
> reasonable.
>
> ( Nor is there any real upside to rebasing for this reason alone,
> and there's a lot of downsides to it, many of which i already
> mentioned in my prior replies. )
>
> > It's basic good engineering practice to have at least compiled the
> > code you're committing - at least once on at least one
> > architecture. [...]
>
> And i very much do that before i push such changes to Linus.
>
> It's a push show-stopper but not a commit show-stopper.
>
> You chose to see the intermediate steps by checking the development
> stage, why are you surprised that less used and less tested areas of
> the code breaks?
I'm not surprised it breaks, I'm surprised you set it in stone before
you discover it breaks. Or at least I was surprised - your workflow
is pretty unique, and I think I have come to understand it better
through this discussion. If I understand correctly, you don't have a
specific, defined point where a commit gets "frozen", rather, commits
start out fairly liquid and turn to slush and then ice (to change the
metaphor :) within a few days. Is that a reasonable description?
> Everything that happens rarely, such as big pushes to Linus, can be
> (and does get) tested widely like that. For for the most critical
> part of the workflow, the commit latency, we dont want extra
> buerocracy that buys us nothing.
>
> Let the platforms do their own testing and _provide developers_ who
> will make it damn sure new bits work on their architecture out of
> box. Or if they dont (or cannot) and just sit there expecting the
> upstream kernel to do development for them, let them deal with the
> consequences.
OK. I assume you have a branch in the tip tree that pulls together
all the work in progress - what is that branch called? I'll try to
organize some regular build-testing on powerpc of that branch.
> > [...] It's like making changes inside #ifdef CONFIG_FOO but never
> > testing with CONFIG_FOO turned on. You'd complain, and rightly,
> > if someone did that.
>
> You again seem to ignore the very valid case i pointed out: if i
> change generic code (or an include, an inline function or a define)
> which somehow affects an architecture, by your logic i'd be
> compelled to test it on that architecture - because it affects it.
> That's not reasonable overhead.
Well, the "by your logic I'd be compelled" part just doesn't follow.
Certainly, if you make a change that obviously affects somebody's
code, it would be good manners to inform them, but that's quite a
different thing from what I was saying.
> > > I can only repeat what i said because i did not see you really
> > > counter the core of my argument (you snipped out much of my mail
> > > that details this and only replied to the last paragraph):
> >
> > Well, though much of what you said is true, in the end it seems to
> > boil down to saying that non-x86 architectures don't have any
> > right to expect any degree of care or attention from you, because
> > only x86 is important. And of course you have a perfect right to
> > pay attention to whatever you find interesting and ignore anything
> > else, including difficulties that you cause along the way for
> > other kernel developers.
> >
> > There doesn't seem to be any useful response to that.
>
> You paraphrased my opinion into something i did not say.
>
> Exactly which bit of "i cross-build test every architecture that
> builds fine upstream before i push out to linux-next" do you
> understand as me not caring?
I didn't say you didn't care. I paraphrased your statement as
"non-x86 architectures don't have a right to expect me to care", which
is a different thing. Perhaps that is a slight exaggeration, but
"non-x86 architectures don't have a right to expect more than a very
limited degree of care from me" is certainly the message that has been
coming through loud and strong from you on many occasions.
> > The "should" in what I said is just good manners, not bureaucracy.
> >
> > The stuff about kisskb was an offer to help, not bureaucracy.
> > No-one's forcing you to do anything.
>
> Well, me pointing out that such measures slow down the critical path
> of patch submission is a valid concern - and "you are not forced to
> do that" pretty much defeats you having suggested it, doesnt it? (i
> hope i'm not misprepresenting your words)
You're saying that making a suggestion that someone isn't forced to
follow is pointless? Huh?
As for the latency of patch submission - that's an interesting
question, and I don't believe that the optimum latency is zero,
because then there's no chance for review. But certainly we don't
want it to be unnecessarily long either. Maybe the optimum patch
latency would be an interesting topic to discuss at kernel summit.
Anyway, I am inclined to think that something in the range from a day
or two up to a week would be about right, depending on the nature of
the patch (bug fix, enhancement, new feature) and the width of its
impact across the tree (number of subsystems/architectures affected,
etc.).
Finally, I do think that putting changes to some architecture's code
into your tree without even cc'ing the maintainer for that
architecture, let alone getting their ack, is just plain rude. And,
correct me if I'm wrong, but that does appear to be what happened
here, and it does seem to be happening more and more often in the tip
tree, unfortunately.
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 21:33 ` Theodore Tso
2009-08-25 22:03 ` Ingo Molnar
@ 2009-08-26 0:22 ` Paul Mackerras
1 sibling, 0 replies; 78+ messages in thread
From: Paul Mackerras @ 2009-08-26 0:22 UTC (permalink / raw)
To: Theodore Tso
Cc: Ingo Molnar, Martin Schwidefsky, dwalker, mingo, hpa,
linux-kernel, johnstul, tglx, linux-tip-commits
Theodore Tso writes:
> Paul, Ingo, it seems like the two of you are talking past each other.
> He's said he's OK with generic code which somehow affects an
> architecture only being tested on one architecture, so what you're
> proposing is a straw man. What he has requested it would be nice that
> each line of code be compile-tested on at least *one* architecture.
> If it's generic code, then by definition when you compile on x86, it's
> met the criterion he has proposed.
>
> On the other hand, your claim that it would slow down development too
> much is based on the assumption that if you make a change in generic
> code that breaks architecture-specific code, it's good manners to at
> least *attempt* to fix up the architecture-specific code, as opposed
> to leaving it broken. So you could meet Paul's request of "not
> committing code that hasn't been compile-tested" by simply leaving
> that particular architecture broken when you change generic code.
>
> Personally, I think that would be worse, since that exchanges the risk
> that a generic change might break the PowerPC architecture, with the
> *certainty* that the PowerPC architecture would be broken by said
> change. :-) So it may very well be that you are doing the right
> thing.
Upon reflection, I think that a large part of the problem in this
particular instance is that while an attempt was made to fix up the
powerpc architecture code, it was never cc'd to any powerpc developer
or mailing list, and as far as I can tell it wasn't sent to linux-arch
either.
> I will note, by the way, that in the file system space, where we have
> almost 70 filesystems, I doubt very much that every single generic
> change in the core VM or FS code that might have a potential to affect
> every single filesystem gets compile-tested using allyesconfig. Maybe
I think Stephen Rothwell does an x86 allyesconfig build of the
linux-next tree every day, so if the generic changes are in linux-next
they will in fact get tested against every filesystem.
> In the case of architecture code where compile-testing on every single
> architecture would require keeping very large number of
> cross-compilers, and a non-trivial amount of time, it's much less
> reasonable. Doing a full test on all architectures before pushing to
> Linus (as opposed to publication in a -tip git branch) may be the best
> that can be expected.
Well, it used to be that if you had a patch that affected several
architectures, you'd post it to Andrew Morton and linux-arch, and
collect acks from as many architecture maintainers as you could in a
reasonable time. And if you could cross-compile your patch yourself,
that was a good thing to do as well.
Ingo seems to be bypassing that step in order to speed up development
on x86. Now, I can imagine a value system where that is a logical
thing to do, but it is not my value system. :) I think this is why
several architecture maintainers have got unhappy with Ingo recently.
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 22:03 ` Ingo Molnar
@ 2009-08-26 0:26 ` Paul Mackerras
0 siblings, 0 replies; 78+ messages in thread
From: Paul Mackerras @ 2009-08-26 0:26 UTC (permalink / raw)
To: Ingo Molnar
Cc: Theodore Tso, Martin Schwidefsky, dwalker, mingo, hpa,
linux-kernel, johnstul, tglx, linux-tip-commits
Ingo Molnar writes:
> So i think this is much ado about nothing. Testing was done, the fix
> was applied immediately and no kitten was hurt in the process.
I agree.
I have a question though: I notice that you add cc's to patches that
get committed to the tip tree. Do you do that manually, or is it
automated?
And I have a request: when a patch touches architecture-specific code,
could you add a cc to the maintainer of that architecture?
Paul.
^ permalink raw reply [flat|nested] 78+ messages in thread
* Re: [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock()
2009-08-25 13:50 ` Ingo Molnar
2009-08-25 21:33 ` Theodore Tso
2009-08-25 23:48 ` Paul Mackerras
@ 2009-08-26 9:44 ` Benjamin Herrenschmidt
2 siblings, 0 replies; 78+ messages in thread
From: Benjamin Herrenschmidt @ 2009-08-26 9:44 UTC (permalink / raw)
To: Ingo Molnar
Cc: Paul Mackerras, Martin Schwidefsky, dwalker, mingo, hpa,
linux-kernel, johnstul, tglx, linux-tip-commits
On Tue, 2009-08-25 at 15:50 +0200, Ingo Molnar wrote:
>
> Well, me pointing out that such measures slow down the critical path
> of patch submission is a valid concern - and "you are not forced to
> do that" pretty much defeats you having suggested it, doesnt it? (i
> hope i'm not misprepresenting your words)
>
My problem with you is precisely there.
"The critical path of patch submission"
You seem to consider it a holy objective to shove as much stuff into
Linux as can be produced and as fast as possible. Your previous comment
about not slowing down the process is in the similar vein.
That's something that I would hear out of a corporate executive, not a
Linux kernel hacker and especially not one who is a maintainer.
Changes at all cost is not a panacea, nor are we in some kind of "race"
to get the must stuff in as you can manage. We should take the time to
make sure things are done right, and if a patch has a problem, then fix
the patch and rebase before it hits upstream.
This is good and sane process, nothing else.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 78+ messages in thread
end of thread, other threads:[~2009-08-26 9:45 UTC | newest]
Thread overview: 78+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-14 13:47 [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Martin Schwidefsky
2009-08-14 13:47 ` [patch 01/15] introduce timekeeping_leap_insert Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Introduce timekeeping_leap_insert tip-bot for John Stultz
2009-08-14 13:47 ` [patch 02/15] remove clocksource inline functions Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Remove " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 03/15] reset of cycle_last for tsc clocksource Martin Schwidefsky
2009-08-15 9:01 ` [tip:timers/core] timekeeping: Move reset of cycle_last for tsc clocksource to tsc tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 04/15] cleanup clocksource selection Martin Schwidefsky
2009-08-15 1:42 ` john stultz
2009-08-15 1:43 ` john stultz
2009-08-17 7:34 ` Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Cleanup " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 05/15] clocksource watchdog highres enablement Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Delay " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 06/15] clocksource watchdog resume logic Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Simplify " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 07/15] clocksource watchdog refactoring Martin Schwidefsky
2009-08-15 9:02 ` [tip:timers/core] clocksource: Refactor clocksource watchdog tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 08/15] clocksource watchdog work Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] clocksource: Move watchdog downgrade to a work queue thread tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 09/15] introduce struct timekeeper Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Introduce " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 10/15] add xtime_shift and ntp_error_shift to " Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Add " tip-bot for Martin Schwidefsky
2009-08-15 9:04 ` [patch 10/15] add " Thomas Gleixner
2009-08-14 13:47 ` [patch 11/15] move NTP adjusted clock multiplier " Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Move " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 12/15] timekeeper read clock helper functions Martin Schwidefsky
2009-08-15 9:03 ` [tip:timers/core] timekeeping: Add timekeeper read_clock " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 13/15] update clocksource with stop_machine Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Update " tip-bot for Martin Schwidefsky
2009-08-14 13:47 ` [patch 14/15] read_persistent_clock should return a timespec Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() tip-bot for Martin Schwidefsky
2009-08-22 10:32 ` Ingo Molnar
2009-08-22 15:15 ` Martin Schwidefsky
2009-08-22 15:33 ` Ingo Molnar
2009-08-22 20:23 ` Martin Schwidefsky
2009-08-23 8:53 ` Ingo Molnar
2009-08-23 9:03 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock(), build fix tip-bot for Martin Schwidefsky
2009-08-23 3:33 ` [tip:timers/core] timekeeping: Increase granularity of read_persistent_clock() Paul Mackerras
2009-08-23 8:47 ` Ingo Molnar
2009-08-24 3:20 ` Paul Mackerras
2009-08-24 8:23 ` Ingo Molnar
2009-08-25 3:49 ` Paul Mackerras
2009-08-25 8:26 ` Ingo Molnar
2009-08-25 9:57 ` Paul Mackerras
2009-08-25 10:17 ` Ingo Molnar
2009-08-25 11:33 ` Paul Mackerras
2009-08-25 13:50 ` Ingo Molnar
2009-08-25 21:33 ` Theodore Tso
2009-08-25 22:03 ` Ingo Molnar
2009-08-26 0:26 ` Paul Mackerras
2009-08-26 0:22 ` Paul Mackerras
2009-08-25 23:48 ` Paul Mackerras
2009-08-26 9:44 ` Benjamin Herrenschmidt
2009-08-14 13:47 ` [patch 15/15] introduce read_boot_clock Martin Schwidefsky
2009-08-15 9:04 ` [tip:timers/core] timekeeping: Introduce read_boot_clock tip-bot for Martin Schwidefsky
2009-08-14 14:08 ` [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Thomas Gleixner
2009-08-14 14:22 ` Martin Schwidefsky
2009-08-14 22:56 ` john stultz
2009-08-15 1:46 ` john stultz
2009-08-15 9:01 ` Thomas Gleixner
2009-08-15 9:52 ` Ingo Molnar
2009-08-15 10:08 ` Thomas Gleixner
2009-08-17 7:40 ` Martin Schwidefsky
2009-08-17 8:45 ` Thomas Gleixner
2009-08-17 9:28 ` [circular locking bug] " Ingo Molnar
2009-08-17 17:53 ` Martin Schwidefsky
2009-08-18 15:09 ` Martin Schwidefsky
2009-08-19 10:06 ` [tip:timers/core] clocksource: Avoid clocksource watchdog circular locking dependency tip-bot for Martin Schwidefsky
2009-08-19 20:25 ` [circular locking bug] Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 + bug fix) Ingo Molnar
2009-08-20 9:28 ` Martin Schwidefsky
2009-08-20 9:58 ` Ingo Molnar
2009-08-20 10:35 ` Martin Schwidefsky
2009-08-20 16:14 ` Thomas Gleixner
2009-08-20 16:53 ` Martin Schwidefsky
2009-08-20 19:08 ` Thomas Gleixner
2009-08-19 9:46 ` [tip:timers/core] clocksource: Protect the watchdog rating changes with clocksource_mutex tip-bot for Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).