linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Markus Trippelsdorf <markus@trippelsdorf.de>
To: Mike Galbraith <efault@gmx.de>
Cc: Oleg Nesterov <oleg@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC/RFT PATCH v3] sched: automated per tty task groups
Date: Sun, 14 Nov 2010 18:49:21 +0100	[thread overview]
Message-ID: <20101114174921.GA1569@arch.trippelsdorf.de> (raw)
In-Reply-To: <1289755150.3228.44.camel@maggy.simson.net>

On 2010.11.14 at 10:19 -0700, Mike Galbraith wrote:
> On Sat, 2010-11-13 at 04:42 -0700, Mike Galbraith wrote:
> > On Fri, 2010-11-12 at 19:12 +0100, Oleg Nesterov wrote:
> > > On 11/11, Mike Galbraith wrote:
> > > >
> > > > On Thu, 2010-11-11 at 21:27 +0100, Oleg Nesterov wrote:
> > > >
> > > > > But the real problem is that copy_process() can fail after that,
> > > > > and in this case we have the unbalanced kref_get().
> > > >
> > > > Memory leak, will fix.
> > > >
> > > > > > +++ linux-2.6.36.git/kernel/exit.c
> > > > > > @@ -174,6 +174,7 @@ repeat:
> > > > > >  	write_lock_irq(&tasklist_lock);
> > > > > >  	tracehook_finish_release_task(p);
> > > > > >  	__exit_signal(p);
> > > > > > +	sched_autogroup_exit(p);
> > > > >
> > > > > This doesn't look right. Note that "p" can run/sleep after that
> > > > > (or in parallel), set_task_rq() can use the freed ->autogroup.
> > > >
> > > > So avoiding refcounting rcu released task_group backfired.  Crud.
> > > 
> > > Just in case, the lock order may be wrong. sched_autogroup_exit()
> > > takes task_group_lock under write_lock(tasklist), while
> > > sched_autogroup_handler() takes them in reverse order.
> > 
> > Bug self destructs when global classifier goes away.
> 
> I didn't nuke the handler, but did hide it under a debug option since it
> is useful for testing.  If the user enables it, and turns autogroup off,
> imho off should means off NOW, so I stuck with it as is.  I coded up a
> lazy (tick time check) move to handle pinned tasks not otherwise being
> moved, but that was too much for even my (lack of) taste to handle.
> 
> The locking should be fine as it was now, since autogroup_exit() isn't
> under the tasklist lock any more.  (surprising i didn't hit any problems
> with this or use after free in rt kernel given how hard i beat on it)
> 
> Pondering adding some debug bits to identify autogroup tasks, maybe
> in /proc/N/cgroup or such.
> 
> > > I am not sure, but perhaps this can be simpler?
> > > wake_up_new_task() does autogroup_fork(), and do_exit() does
> > > sched_autogroup_exit() before the last schedule. Possible?
> > 
> > That's what I was going to do.  That said, I couldn't have had the
> > problem if I'd tied final put directly to life of container, and am
> > thinking I should do that instead when I go back to p->signal.
> 
> I ended up tying it directly to p->signal's life, and beat on it with
> CONFIG_PREEMPT.  I wanted to give it a thrashing in PREEMPT_RT, but
> when I snagged your signal patches, I apparently didn't snag quite
> enough, as the rt kernel with those patches is early boot doorstop.
> 
> > > Very basic question. Currently sched_autogroup_create_attach()
> > > has the only caller, __proc_set_tty(). It is a bit strange that
> > > signal->tty change is process-wide, but sched_autogroup_create_attach()
> > > move the single thread, the caller. What about other threads in
> > > this thread group? The same for proc_clear_tty().
> > 
> > Yeah, I really should (will) move all on the spot...
> 
> Did that, and the rest.  This patch will apply to tip or .git.

Unfortunately it won't. There's a missing "+" at line 507:

markus@arch linux % patch -p1 --dry-run < /home/markus/tty_autogroup2.patch
patching file include/linux/sched.h
Hunk #3 succeeded at 1935 (offset -1 lines).
patching file kernel/sched.c
Hunk #2 succeeded at 607 (offset 1 line).
Hunk #3 succeeded at 2011 with fuzz 2 (offset 1 line).
Hunk #4 succeeded at 7959 (offset -25 lines).
Hunk #5 succeeded at 8489 (offset -25 lines).
Hunk #6 succeeded at 8514 (offset -25 lines).
patching file kernel/fork.c
patching file drivers/tty/tty_io.c
patching file kernel/sched_autogroup.h
patching file kernel/sched_autogroup.c
patch: **** malformed patch at line 507: Index: linux-2.6/kernel/sysctl.c
-- 
Markus

  reply	other threads:[~2010-11-14 17:49 UTC|newest]

Thread overview: 264+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-19  9:16 [RFC/RFT PATCH] sched: automated per tty task groups Mike Galbraith
2010-10-19  9:26 ` Peter Zijlstra
2010-10-19  9:39   ` Mike Galbraith
2010-10-19  9:43     ` Peter Zijlstra
2010-10-19  9:46       ` Mike Galbraith
2010-10-21  7:55       ` Mike Galbraith
2010-10-21 10:28         ` Peter Zijlstra
2010-10-19  9:29 ` Peter Zijlstra
2010-10-19  9:42   ` Mike Galbraith
2010-10-19 11:29 ` Mike Galbraith
2010-10-19 11:56   ` Ingo Molnar
2010-10-19 13:12     ` Mike Galbraith
2010-10-19 15:28   ` Linus Torvalds
2010-10-19 18:13     ` Mike Galbraith
2010-10-19 18:53       ` Mike Galbraith
2010-10-20  2:56         ` Ingo Molnar
2010-10-21  8:11           ` Mike Galbraith
2010-10-21  8:31             ` Ingo Molnar
2010-10-21  8:39               ` Mike Galbraith
2010-10-21  8:48             ` Markus Trippelsdorf
2010-10-21  8:52               ` Mike Galbraith
     [not found]                 ` <20101021115723.GA1587@arch.trippelsdorf.de>
2010-10-21 16:22                   ` Mathieu Desnoyers
2010-10-21 10:51             ` Mathieu Desnoyers
2010-10-21 11:25               ` Peter Zijlstra
2010-10-21 16:29                 ` Oleg Nesterov
2010-10-21 19:11                   ` Mike Galbraith
2010-10-26  7:07                   ` [RFC/RFT PATCH v3] " Mike Galbraith
2010-10-26  7:29                     ` Mike Galbraith
2010-10-26 15:47                       ` Linus Torvalds
2010-10-27  1:58                         ` Mike Galbraith
2010-11-11 15:26                         ` Mike Galbraith
2010-11-11 18:04                           ` Ingo Molnar
2010-11-11 18:34                           ` Linus Torvalds
2010-11-11 19:08                             ` Mike Galbraith
2010-11-11 19:37                               ` Linus Torvalds
2010-11-11 20:29                                 ` Oleg Nesterov
2010-11-11 19:15                           ` Markus Trippelsdorf
2010-11-11 19:35                             ` Mike Galbraith
2010-11-11 19:38                               ` Markus Trippelsdorf
2010-11-11 19:58                                 ` Mike Galbraith
2010-11-11 20:27                           ` Oleg Nesterov
2010-11-11 22:20                             ` Mike Galbraith
2010-11-12 18:12                               ` Oleg Nesterov
2010-11-13 11:42                                 ` Mike Galbraith
2010-11-14 17:19                                   ` Mike Galbraith
2010-11-14 17:49                                     ` Markus Trippelsdorf [this message]
2010-11-14 18:10                                       ` Mike Galbraith
2010-11-14 19:28                                         ` Linus Torvalds
2010-11-14 20:20                                           ` Linus Torvalds
2010-11-14 20:27                                             ` Markus Trippelsdorf
2010-11-14 20:48                                               ` Linus Torvalds
2010-11-14 23:43                                                 ` Mike Galbraith
2010-11-15  0:15                                                   ` Linus Torvalds
2010-11-15  0:26                                                     ` Linus Torvalds
2010-11-15  1:13                                                       ` Mike Galbraith
2010-11-15  3:12                                                         ` Linus Torvalds
2010-11-15 14:00                                                           ` Mike Galbraith
2010-11-15  8:57                                                         ` Peter Zijlstra
2010-11-15 11:32                                                           ` Mike Galbraith
2010-11-15 11:46                                                             ` Mike Galbraith
2010-11-15 12:57                                                               ` Oleg Nesterov
2010-11-15 21:25                                                                 ` Mike Galbraith
2010-11-15 22:48                                                                   ` Peter Zijlstra
2010-11-16  1:56                                                                   ` Vivek Goyal
2010-11-16  2:18                                                                     ` Linus Torvalds
2010-11-17  8:06                                                                       ` Balbir Singh
2010-11-16 14:02                                                                     ` Mike Galbraith
2010-11-16 14:11                                                                       ` Peter Zijlstra
2010-11-16 14:47                                                                         ` Dhaval Giani
2010-11-16 17:03                                                                           ` Lennart Poettering
2010-11-16 17:11                                                                             ` Linus Torvalds
2010-11-16 18:16                                                                               ` Lennart Poettering
2010-11-16 18:21                                                                                 ` Peter Zijlstra
2010-11-16 18:33                                                                                   ` Paul Menage
2010-11-16 18:55                                                                                     ` david
2010-11-16 18:59                                                                                       ` Peter Zijlstra
2010-11-16 19:09                                                                                         ` Vivek Goyal
2010-11-16 19:13                                                                                           ` Peter Zijlstra
2010-11-16 19:22                                                                                             ` Vivek Goyal
2010-11-16 19:25                                                                                               ` Peter Zijlstra
2010-11-16 19:40                                                                                                 ` Vivek Goyal
2010-11-16 19:43                                                                                                   ` Peter Zijlstra
2010-11-16 19:49                                                                                                   ` Linus Torvalds
2010-11-16 19:35                                                                                             ` Linus Torvalds
2010-11-16 20:03                                                                                   ` Lennart Poettering
2010-11-16 20:12                                                                                     ` Peter Zijlstra
2010-11-16 18:49                                                                                 ` Linus Torvalds
2010-11-16 19:03                                                                                   ` Pekka Enberg
2010-11-16 20:21                                                                                     ` Kay Sievers
2010-11-16 20:35                                                                                       ` Linus Torvalds
2010-11-16 20:31                                                                                     ` Lennart Poettering
2010-11-17 13:21                                                                                       ` Stephen Clark
2010-11-16 19:08                                                                                   ` david
2010-11-16 20:33                                                                                     ` Lennart Poettering
2010-11-16 20:38                                                                                       ` Linus Torvalds
2010-11-16 21:14                                                                                         ` Lennart Poettering
2010-11-17 13:23                                                                                           ` Stephen Clark
2010-11-18 22:33                                                                                           ` Hans-Peter Jansen
2010-11-18 23:12                                                                                             ` Samuel Thibault
2010-11-18 23:35                                                                                               ` Mike Galbraith
2010-11-18 23:43                                                                                                 ` Samuel Thibault
2010-11-18 23:51                                                                                                   ` Linus Torvalds
2010-11-19  0:02                                                                                                     ` Samuel Thibault
2010-11-19  0:07                                                                                                       ` Samuel Thibault
2010-11-19 11:57                                                                                                         ` Peter Zijlstra
2010-11-19 14:24                                                                                                           ` Samuel Thibault
2010-11-19 14:43                                                                                                             ` Peter Zijlstra
2010-11-19 14:55                                                                                                               ` Samuel Thibault
2010-11-19  0:42                                                                                                       ` Linus Torvalds
2010-11-19  0:59                                                                                                         ` Samuel Thibault
2010-11-19  1:11                                                                                                           ` Linus Torvalds
2010-11-19  1:12                                                                                                           ` Mike Galbraith
2010-11-19  1:23                                                                                                             ` Samuel Thibault
2010-11-19  2:28                                                                                                               ` Mike Galbraith
2010-11-19  9:02                                                                                                                 ` Samuel Thibault
2010-11-19 11:49                                                                                                   ` Peter Zijlstra
2010-11-19 12:19                                                                                                     ` Peter Zijlstra
2010-11-19 12:55                                                                                                       ` Mathieu Desnoyers
2010-11-19 13:00                                                                                                         ` Peter Zijlstra
2010-11-19 13:20                                                                                                           ` Mathieu Desnoyers
2010-11-19 12:31                                                                                                     ` Paul Menage
2010-11-19 12:51                                                                                                       ` Peter Zijlstra
2010-11-19 13:03                                                                                                         ` Mike Galbraith
2010-11-19 12:38                                                                                                     ` Mike Galbraith
2010-11-22  6:22                                                                                                     ` Balbir Singh
2010-11-18 23:29                                                                                             ` Mike Galbraith
2010-11-16 20:44                                                                                       ` Pekka Enberg
2010-11-16 19:27                                                                                   ` Dhaval Giani
2010-11-16 19:42                                                                                     ` Diego Calleja
2010-11-16 19:45                                                                                     ` Linus Torvalds
2010-11-16 19:56                                                                                       ` Paul Menage
2010-11-16 20:17                                                                                         ` Vivek Goyal
2010-11-16 20:50                                                                                       ` Lennart Poettering
2010-11-20 22:16                                                                                         ` Mika Laitio
2010-11-21  0:19                                                                                           ` Mike Galbraith
2010-11-16 20:28                                                                                   ` Lennart Poettering
2010-11-16 20:46                                                                                     ` David Miller
2010-11-16 21:08                                                                                       ` Lennart Poettering
2010-11-16 21:14                                                                                         ` David Miller
2010-11-16 20:52                                                                                     ` Alan Cox
2010-11-16 21:08                                                                                       ` Linus Torvalds
2010-11-16 21:19                                                                                         ` Lennart Poettering
2010-11-16 23:39                                                                                           ` Ted Ts'o
2010-11-17  0:21                                                                                             ` Lennart Poettering
2010-11-17  2:06                                                                                               ` Ted Ts'o
2010-11-17 14:57                                                                                                 ` Vivek Goyal
2010-11-17 15:01                                                                                                   ` Lennart Poettering
2010-11-17 17:16                                                                                                     ` John Stoffel
2010-11-19  5:20                                                                                                 ` Andev
2010-11-19 11:59                                                                                                   ` Peter Zijlstra
2010-11-19 13:03                                                                                                     ` Ben Gamari
2010-11-19 13:07                                                                                                       ` Theodore Tso
2010-11-19 16:29                                                                                                         ` David Miller
2010-11-19 16:34                                                                                                           ` Lennart Poettering
2010-11-19 16:43                                                                                                             ` David Miller
2010-11-19 17:51                                                                                                               ` Linus Torvalds
2010-11-19 19:12                                                                                                                 ` Ben Gamari
2010-11-19 19:48                                                                                                                   ` Linus Torvalds
2010-11-20  1:33                                                                                                                     ` Lennart Poettering
2010-11-19 20:38                                                                                                                   ` Paul Menage
2010-11-20  1:13                                                                                                                   ` Lennart Poettering
2010-11-20  4:25                                                                                                                     ` Balbir Singh
2010-11-20 15:41                                                                                                                       ` Lennart Poettering
2010-11-22  6:24                                                                                                                         ` Balbir Singh
2010-11-22 19:21                                                                                                                           ` Lennart Poettering
2010-11-19 19:31                                                                                                                 ` Mike Galbraith
2010-11-19 13:21                                                                                                       ` Peter Zijlstra
2010-11-17 22:34                                                                                         ` Lennart Poettering
2010-11-17 22:37                                                                                           ` Peter Zijlstra
2010-11-17 22:45                                                                                             ` Lennart Poettering
2010-11-17 22:52                                                                                               ` Peter Zijlstra
2010-11-18 15:00                                                                                                 ` Stephen Clark
2010-11-17 23:49                                                                                               ` Lennart Poettering
2010-11-16 21:17                                                                                       ` Lennart Poettering
2010-11-17 20:59                                                                                     ` James Cloos
2010-11-22  6:16                                                                                   ` Balbir Singh
2010-11-16 18:57                                                                                 ` Stephen Clark
2010-11-16 19:12                                                                                   ` Vivek Goyal
2010-11-16 19:57                                                                                     ` Mike Galbraith
2010-11-16 20:36                                                                                   ` Lennart Poettering
2010-11-16 19:42                                                                                 ` Markus Trippelsdorf
2010-11-16 18:08                                                                             ` Peter Zijlstra
2010-11-16 18:56                                                                               ` Stephen Clark
2010-11-16 20:05                                                                               ` Lennart Poettering
2010-11-16 20:15                                                                                 ` Peter Zijlstra
2010-11-19  0:35                                                                                 ` H. Peter Anvin
2010-11-19  0:42                                                                                   ` Samuel Thibault
2010-11-19  3:15                                                                                     ` Mathieu Desnoyers
     [not found]                                                                       ` <20101120090955.GB12043@balbir.in.ibm.com>
2010-11-20 19:47                                                                         ` Mike Galbraith
2010-11-16 13:04                                                                   ` Oleg Nesterov
2010-11-16 14:18                                                                     ` Mike Galbraith
2010-11-16 15:03                                                                       ` Oleg Nesterov
2010-11-16 15:41                                                                         ` Mike Galbraith
2010-11-16 17:28                                                                           ` Ingo Molnar
2010-11-16 17:42                                                                             ` Mike Galbraith
2010-11-20 19:35                                                                             ` [PATCH v4] sched: automated per session " Mike Galbraith
2010-11-30 15:39                                                                               ` [tip:sched/core] sched: Add 'autogroup' scheduling feature: " tip-bot for Mike Galbraith
2010-12-15 17:50                                                                                 ` Oleg Nesterov
2010-12-16  7:53                                                                                   ` Mike Galbraith
2010-12-16 14:09                                                                                     ` Mike Galbraith
2010-12-16 15:07                                                                                       ` Oleg Nesterov
2011-01-04 14:18                                                                                       ` [tip:sched/core] sched, autogroup: Fix potential access to freed memory tip-bot for Mike Galbraith
2010-12-20 13:08                                                                                 ` [tip:sched/core] sched: Add 'autogroup' scheduling feature: automated per session task groups Bharata B Rao
2010-12-20 13:19                                                                                   ` Peter Zijlstra
2010-12-20 15:46                                                                                     ` Bharata B Rao
2010-12-20 15:53                                                                                       ` Bharata B Rao
2010-12-21  8:33                                                                                         ` Peter Zijlstra
2010-12-20 16:39                                                                                       ` Mike Galbraith
2010-12-21  5:04                                                                                         ` Bharata B Rao
2010-12-21  5:50                                                                                           ` Mike Galbraith
2010-12-04 17:39                                                                               ` [PATCH v4] sched: " Colin Walters
2010-12-04 18:33                                                                                 ` Linus Torvalds
2010-12-04 20:01                                                                                   ` Colin Walters
2010-12-04 22:39                                                                                     ` Linus Torvalds
2010-12-04 23:43                                                                                       ` Colin Walters
2010-12-05  0:31                                                                                         ` Linus Torvalds
2010-12-05  7:47                                                                                         ` Ray Lee
2010-12-05 19:22                                                                                           ` Colin Walters
2010-12-05 20:47                                                                                             ` Linus Torvalds
2010-12-05 22:47                                                                                               ` Colin Walters
2010-12-05 22:58                                                                                                 ` Jesper Juhl
2010-12-05 23:05                                                                                                   ` Jesper Juhl
2010-12-07 18:51                                                                                               ` Peter Zijlstra
2010-12-05 10:18                                                                                         ` Con Kolivas
2010-12-05 11:36                                                                                           ` Mike Galbraith
2010-12-05 20:58                                                                                           ` Ingo Molnar
2010-12-04 23:31                                                                                     ` david
2010-12-05 11:11                                                                                     ` Nikos Chantziaras
2010-12-05 15:12                                                                                       ` [PATCH v4] Regression: " Alan Cox
2010-12-05 16:16                                                                                         ` Florian Mickler
2010-12-05 19:48                                                                                           ` Alan Cox
2010-12-06 16:03                                                                                             ` Florian Mickler
2010-12-05 16:59                                                                                         ` Mike Galbraith
2010-12-05 17:09                                                                                           ` Mike Galbraith
2010-12-05 17:15                                                                                             ` Mike Galbraith
2010-12-06  0:28                                                                                     ` [PATCH v4] " Valdis.Kletnieks
2010-11-16 14:01                                                                   ` [RFC/RFT PATCH v3] sched: automated per tty " Peter Zijlstra
2010-11-16 14:19                                                                     ` Mike Galbraith
2010-11-17  1:31                                                                   ` Kyle McMartin
2010-11-17  1:50                                                                     ` Linus Torvalds
2010-11-17  1:56                                                                       ` Kyle McMartin
2010-11-17  2:14                                                                     ` Mike Galbraith
2010-11-15  0:02                                             ` Mike Galbraith
2010-11-15 22:41                           ` Valdis.Kletnieks
2010-11-15 23:25                             ` Linus Torvalds
2010-11-20 19:33                               ` Jesper Juhl
2010-11-20 19:51                                 ` Mike Galbraith
2010-11-20 20:37                                   ` Jesper Juhl
2010-11-20 22:02                                   ` Konstantin Svist
2010-11-20 22:15                                     ` Samuel Thibault
2010-11-20 22:18                                     ` Thomas Fjellstrom
2010-11-20 20:25                                 ` Samuel Thibault
2010-11-15 23:46                             ` Mike Galbraith
2010-11-15 23:50                               ` Linus Torvalds
2010-11-16  0:04                                 ` Mike Galbraith
2010-11-16  1:18                                   ` Linus Torvalds
2010-11-16  1:55                                     ` Paul Menage
2010-11-16 12:58                                       ` Mike Galbraith
2010-11-16 18:25                                         ` Paul Menage
2010-11-16 13:59                                       ` Peter Zijlstra
2010-11-16 14:26                                         ` Mike Galbraith
2010-10-21 11:27               ` [RFC/RFT PATCH] " Mike Galbraith
2010-10-20 13:55 ` Markus Trippelsdorf
2010-10-20 14:41   ` Mike Galbraith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101114174921.GA1569@arch.trippelsdorf.de \
    --to=markus@trippelsdorf.de \
    --cc=a.p.zijlstra@chello.nl \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@elte.hu \
    --cc=oleg@redhat.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).