lkml.org 
[lkml]   [2009]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 1/1] PM: Thaws refrigerated and to be exited kernel threads
Date
On Monday 09 November 2009, Dasgupta, Romit wrote:
> > Really? I believe the "ktrhead_should_stop" is new rule, and code does
> > not seem to follow it. Actually, for example audit does not seem to
> > use kthread_should_stop() at all...
> >
> > ./kernel/rtmutex-tester.c-
> > ./kernel/rtmutex-tester.c- /* Wait for the next
> > command to be executed */
> > ./kernel/rtmutex-tester.c- schedule();
> > ./kernel/rtmutex-tester.c: try_to_freeze();
> > ./kernel/rtmutex-tester.c-
> > ./kernel/rtmutex-tester.c- if (signal_pending(current))
> > ./kernel/rtmutex-tester.c- flush_signals(current);
> > --
> Not a new rule. For these threads you listed no one stops them by sending
> 'kthread_stop' so the problem does not arise! But for the threads that are
> stopped by invoking kthread_stop they do check kthread_should_stop.

At the moment we don't have the rule that kernel threads should exit
immediately after kthread_stop() is called for them, which your patch implies
for freezable kernel threads.

Now, I think we might require the freezable kernel threads to exit as soon as
ktrhead_should_stop() is true for them, but (a) that needs to be documented
(please note it also applies to freezable workqueues) and (b) the existing
freezable kernel threads need to be audited, so we're sure they follow this
rule. Also, it might lead to subtle problems if someone overlooks this
rule in the future.

So, I'd rather not introduce such a rule if there's no other way to fix the
problem at hand.

BTW, in future please describe the motivation for a change in the changelog
or people will wonder what the change is for. In particular, if it fixes a
problem, please describe the problem and why you think your approach is
appropriate for fixing it.

Thanks,
Rafael


\
 
 \ /
  Last update: 2009-11-09 13:07    [from the cache]
©2003-2011 Jasper Spaans