lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090815095221.GA15831@elte.hu>
Date:	Sat, 15 Aug 2009 11:52:21 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Thomas Gleixner <tglx@...utronix.de>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc:	john stultz <johnstul@...ibm.com>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [patch 00/15] clocksource / timekeeping rework V4 (resend V3 +
	bug fix)


* Thomas Gleixner <tglx@...utronix.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@...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 


View attachment "config" of type "text/plain" (62552 bytes)

View attachment "boot.log" of type "text/plain" (382437 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ