lkml.org 
[lkml]   [2012]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] clocksource, prevent overflow in clocksource_cyc2ns
On Thu, 19 Apr 2012, Thomas Gleixner wrote:

> On Wed, 18 Apr 2012, John Stultz wrote:
> > On 04/18/2012 04:59 PM, Prarit Bhargava wrote:
> > >
> > > Hey John,
> > >
> > > Thanks for continuing to work on this. Coincidentally that exact patch was
> > > my
> > > first attempt at resolving the problem as well. The problem is that even
> > > after
> > > touching the clocksource watchdog and restoring irqs the printk buffer can
> > > take
> > > a LONG time to flush -- and that still will cause an overflow comparison.
> > > So
> > > fixing it with just a touch_clocksource_watchdog() isn't the right thing to
> > > do
> > > IMO. Maybe a combination of the printk() patch you suggested earlier and
> > > the
> > > touch_clocksource_watchdog() is the right way to go but I'll leave that up
> > > to
> > > tglx and yourself to decide on a correct fix.
> > :( That's a bummer. Something similar may be useful on the printk side as
> > well.
>
> No. The show_state() part prints into the buffer. But it's not
> guaranteed that the buffer is flushed right away. It could be flushed
> later as well in a different context. And of course the flush code
> runs with interrupts disabled and dumping out a gazillion of lines
> over serial will cause the same hickup. Just planting random
> touch_watchdog() calls into the code is not the right approach,
> really.
>
> We should think about the reasons why we have interrupts disabled for
> so much time. Is that really, really necessary ?

I'm not against making the clocksource code more robust, but I don't
want to add crap there just to cope with complete madness elsewhere.

Thanks,

tglx


\
 
 \ /
  Last update: 2012-04-19 14:55    [from the cache]
©2003-2011 Jasper Spaans