Re: Experiencing freezes with kernel 4.16.3 on a desktop with E5500 CPU (bisect included)

From: Diego Viola
Date: Mon Apr 23 2018 - 12:12:20 EST


On Mon, Apr 23, 2018 at 12:10 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Mon, Apr 23, 2018 at 04:00:52PM +0200, Peter Zijlstra wrote:
>> On Mon, Apr 23, 2018 at 02:38:47PM +0200, Peter Zijlstra wrote:
>> > @@ -834,8 +857,12 @@ static int clocksource_unbind(struct clocksource *cs)
>> > if (curr_clocksource == cs)
>> > return -EBUSY;
>> > }
>> > +
>> > + clocksource_watchdog_lock(&flags);
>> > clocksource_dequeue_watchdog(cs);
>> > list_del_init(&cs->list);
>> > + clocksource_watchdog_lock(&flags);
>>
>> It works a lot better when this is _unlock();
>>
>> > +
>> > return 0;
>> > }
>> >
>>
>> With that, and intel_idle.c modified to always issue the "halts in
>> idle" thing, my IVB comes up in hpet mode. Let me dig up a Core2 era
>> machine and see if that works too.
>
> OK, that was fairly painful, but the box managed to boot a modified
> kernel and seems to function correctly, lemme try suspend/resume.
>
>

I can confirm that applying Peter's patch to the 4.17-rc2 kernel and
changing kernel/time/clocksource.c:864 to _unlock solves my problem.

Peter, thank you so much, I appreciate your help a lot.

Diego