Messages in this thread | | | From | Michael Buesch <> | Subject | Re: use of preempt_count instead of in_atomic() at leds-gpio.c | Date | Fri, 21 Mar 2008 21:20:58 +0100 |
| |
On Friday 21 March 2008 21:16:48 Michael Buesch wrote: > On Friday 21 March 2008 20:59:50 Andrew Morton wrote: > > They could of course be switched to using > > kmalloc(GFP_ATOMIC)+memcpy()+schedule_task(). That's rather slow, but this > > is not a performance-sensitive area. But more seriously, this could lead > > to messages getting lost from a dying machine. > > Well, IMO drivers that need to sleep to transmit some data (to whatever, > the screen or something) are not useful for debugging a crashing kernel anyway. > Or how high is the possibility that it'd survive the actual sleep in the > memory allocation? I'd say almost zero. > So that schedule_task() is not that bad.
and
transmit_data_func() { if (!oops_in_progress) { schedule_transmission_for_later(); } else { /* We crash anyway, so we don't care about * possible deadlocks from memory alloc sleeps * or whatever. */ close_eyes_and_transmit_it_now(); } }
-- Greetings Michael.
| |