lkml.org 
[lkml]   [2014]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()
    On 04/10, Peter Zijlstra wrote:
    >
    > On Thu, Apr 10, 2014 at 07:29:38PM +0200, Oleg Nesterov wrote:
    >
    > > > +static inline __deprecated
    > > > +struct task_struct *next_thread(const struct task_struct *p)
    > > > {
    > >
    > > Not sure... But probably fine too.
    > >
    > > I already killed some users of next_thread(). This reminds me about
    > > next_tid(), probably it should be converted too.
    > >
    > > As for, say, __exit_signal() it really needs next_thread(). We can fix
    > > it instead of deprecating, or we can add another one with another name.
    >
    > Well, your Changelog said that next_thread() was faulty too;

    If lockless. Sure.

    > if
    > __exit_signal() is the only site where it is correct we can open-code it
    > there. If there's more we should probably create a new function and
    > audit all current sites.

    So far I can see only 2 users, __exit_signal() and complete_signal().

    May be next_tid(), but in fact it needs next_thread_or_zero(). And this
    connects to check_hung_task(). What they actually (OK, perhaps) need is
    for_each_thread_continue, like list_for_each_entry_continue_rcu.

    We will see. I didn't finish this all because I was distracted (and lazy
    of course ;).

    My plan (== TODO) was:

    - check all current users, carefully convert those who need
    a special attention (because the semantics differs a bit)

    - the same for thread_group_empty()

    - reimplement next_thread/while_each_thread via ->thread_head

    - kill task_struct->thread_group

    - all other users can be converted later

    Oleg.



    \
     
     \ /
      Last update: 2014-04-10 21:21    [W:4.484 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site