RE: Why yield in coredump_wait? [was: Re: Resent: BUG in RT 45-01whenRT program dumps core]

From: Steven Rostedt
Date: Thu May 19 2005 - 09:39:32 EST


On Thu, 2005-05-19 at 16:23 +0200, kus Kusche Klaus wrote:
> Does that mean that the core dump is written
> with the rt prio of the task which dumps?
>

Yes, since the process itself that crashed is what is writing the core.
So if a RT process crashes, it writes the core as whatever it was.

> I'm not sure if this is a good idea:
> Dumping a big core might take *ages* (at least w.r.t. realtime),
> especially because it usually goes to flash memory, a CF card,
> or some other really slow device.
>

This is interesting, since if a RT task is dumping core, that usually
means that it crashed, and therefore there's a bug in the system. Also,
unless the processes is writing to something that requires a busy wait
(which the serial might do, and probably some flashes), this shouldn't
effect the system.

> Doing that on a high rt prio is not nice; in an rt kernel,
> it may even keep interrupt handlers from responding...
> Is there any way to do it in the background / at low prio?
>

What can easily be done is switch the task to a non RT priority on the
core dump, after it sends the kill signal to the other tasks sharing the
mm. This way it would not affect the other tasks (and interrupt threads)
so badly.

Ingo, What do you think? Should the dumping of a RT task switch its
priority to a non-rt priority?

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/