[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3ae3aa420901031201h3af1f03ct3f9d13db4a793e77@mail.gmail.com>
Date: Sat, 3 Jan 2009 14:01:20 -0600
From: "Linas Vepstas" <linasvepstas@...il.com>
To: "Chris Adams" <cmadams@...aay.net>
Cc: "Duane Griffin" <duaneg@...da.com>, linux-kernel@...r.kernel.org,
"Thomas Gleixner" <tglx@...utronix.de>,
"Paul Gortmaker" <p_gortmaker@...oo.com>,
"Alessandro Zummo" <a.zummo@...ertech.it>,
rtc-linux@...glegroups.com
Subject: Re: [PATCH] v2 Re: Bug: Status/Summary of slashdot leap-second crash on new years 2008-2009
2009/1/3 Chris Adams <cmadams@...aay.net>:
>
> From: Chris Adams <cmadams@...aay.net>
>
> The code to handle leap seconds printks an information message when the
> second is inserted or deleted. It does this while holding xtime_lock.
> However, printk wakes up klogd, and in some cases, the scheduler tries
> to get the current kernel time, trying to get xtime_lock (which results
> in a deadlock). This moved the printks outside of the lock. It also
> adds a comment to not use printk while holding xtime_lock.
>
> Signed-off-by: Chris Adams <cmadams@...aay.net>
Acked-by: Linas Vepstas <linasvepstas@...il.com>
BTW, I audited the other code in kernel/time/*.c and it looks like there
are no other printk's under the lock. Not surprising -- if there were,
they'd have been found by now. Indeed, in timekeeping.c line 198,
it seems that someone else had indeed tripped over this :-P
--linas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists