Re: [PATCH] kexec: yield to scheduler when loading kimage segments

From: Eric W. Biederman
Date: Mon Jun 11 2018 - 20:45:28 EST


"Farnitano, Jarrett" <jmf@xxxxxxxxxx> writes:

>> ïOn 6/11/18, 4:00 PM, "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> wrote:
>>
>> Is there a practical problem with unresponsiveness? You are talking
>> an embedded machine and rarely are there people in front of embedded
>> computers these days.
>
> I did run into a practical problem. Hardware watchdogs on embedded
> systems can have short timers on the order of seconds. If the system
> is locked up for a few seconds with only a single core available, the
> watchdog may not be pet in a timely fashion. If this happens, the
> hardware watchdog will fire and reset the system.
>
> This really only becomes a problem when you are working with a single
> core, a decently sized initrd, and have a constrained hardware
> watchdog.

That would do it.

My foggy memory says this was not included back in the days where
cond_resched was spelled "if (need_resched) schedule();" There were
concerns with spreading that too thin. cond_resched in this path seems
as reasonable as anything.

Eric