Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Peter Zijlstra
On Thu, Apr 10, 2014 at 09:15:25PM +0200, Oleg Nesterov wrote: > So far I can see only 2 users, __exit_signal() and complete_signal(). If that's it we could just open-code them and be done. > May be next_tid(), but in fact it needs next_thread_or_zero(). And this > connects to check_hung_task().

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Oleg Nesterov
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_

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Peter Zijlstra
On Thu, Apr 10, 2014 at 06:19:55PM +0200, Peter Zijlstra wrote: > On Wed, Apr 09, 2014 at 09:49:57PM +0200, Peter Zijlstra wrote: > > Anyway, I'll look over the stuff tomorrow. > > That patch was missing useful clues.. > > Also, I shot __for_each_thread in the head, it seemed useless. Hmm, do we

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Peter Zijlstra
On Thu, Apr 10, 2014 at 07:29:38PM +0200, Oleg Nesterov wrote: > > #define do_each_thread(g, t) \ > > for (g = t = &init_task ; (g = t = next_task(g)) != &init_task ; ) do > > @@ -2384,11 +2387,8 @@ extern bool current_is_single_threaded(void); > > #define while_each_thread(g, t) \ > > wh

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Peter Zijlstra
On Thu, Apr 10, 2014 at 07:36:10PM +0200, Peter Zijlstra wrote: > > > +static inline __deprecated > > > +struct task_struct *next_thread(const struct task_struct *p) > > > { > > > > Not sure... But probably fine too. Also, since its used in while_each_thread() each usage of that will also genera

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Oleg Nesterov
On 04/10, Peter Zijlstra wrote: > > On Wed, Apr 09, 2014 at 09:49:57PM +0200, Peter Zijlstra wrote: > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -2377,6 +2377,9 @@ extern bool current_is_single_threaded(void); > /* > * Careful: do_each_thread/while_each_thread is a double loo

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Peter Zijlstra
On Wed, Apr 09, 2014 at 09:49:57PM +0200, Peter Zijlstra wrote: > Anyway, I'll look over the stuff tomorrow. That patch was missing useful clues.. Also, I shot __for_each_thread in the head, it seemed useless. --- include/linux/sched.h | 11 ++- 1 file changed, 6 insertions(+), 5 deleti

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-10 Thread Ingo Molnar
* Oleg Nesterov wrote: > On 04/09, Peter Zijlstra wrote: > > > > Cute,.. and all that lives in sched.h and I wasn't even Cc'ed :-( > > Sorry ;) I didn't think you can be interested. I'll cc you in future, > this still needs more work. Please generally Cc: the folks listed in: scripts/get_ma

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Peter Zijlstra
On Wed, Apr 09, 2014 at 09:46:03PM +0200, Oleg Nesterov wrote: > On 04/09, Peter Zijlstra wrote: > > > > Cute,.. and all that lives in sched.h and I wasn't even Cc'ed :-( > > Sorry ;) I didn't think you can be interested. I'll cc you in future, > this still needs more work. In general anything lo

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Oleg Nesterov
On 04/09, Peter Zijlstra wrote: > > Cute,.. and all that lives in sched.h and I wasn't even Cc'ed :-( Sorry ;) I didn't think you can be interested. I'll cc you in future, this still needs more work. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Peter Zijlstra
On Wed, Apr 09, 2014 at 07:32:34PM +0200, Oleg Nesterov wrote: > On 04/09, Peter Zijlstra wrote: > > > > On Wed, Apr 09, 2014 at 06:11:18PM +0200, Frederic Weisbecker wrote: > > > do_each_thread/while_each_thread iterators are deprecated by > > > for_each_thread/for_each_process_thread() APIs. > >

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Oleg Nesterov
On 04/09, Peter Zijlstra wrote: > > On Wed, Apr 09, 2014 at 06:11:18PM +0200, Frederic Weisbecker wrote: > > do_each_thread/while_each_thread iterators are deprecated by > > for_each_thread/for_each_process_thread() APIs. > > > > Lets convert the callers in the cputime code accounting. The ultimate

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Peter Zijlstra
On Wed, Apr 09, 2014 at 06:11:18PM +0200, Frederic Weisbecker wrote: > do_each_thread/while_each_thread iterators are deprecated by > for_each_thread/for_each_process_thread() APIs. > > Lets convert the callers in the cputime code accounting. The ultimate > goal is to remove the struct task_struct

Re: [PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Oleg Nesterov
On 04/09, Frederic Weisbecker wrote: > > @@ -295,16 +295,15 @@ void thread_group_cputime(struct task_struct *tsk, > struct task_cputime *times) > > rcu_read_lock(); > /* make sure we can trust tsk->thread_group list */ > - if (!likely(pid_alive(tsk))) > + if (!likely(pid_aliv

[PATCH 1/5] sched: Convert thread_group_cputime() to use for_each_thread()

2014-04-09 Thread Frederic Weisbecker
do_each_thread/while_each_thread iterators are deprecated by for_each_thread/for_each_process_thread() APIs. Lets convert the callers in the cputime code accounting. The ultimate goal is to remove the struct task_struct::thread_group field and the corresponding do_each_thread/while_each_thread ite