Messages in this thread | | | Date | Fri, 11 Jul 2008 09:12:21 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH 2/3] stop_machine: simplify |
| |
* Rusty Russell (rusty@rustcorp.com.au) wrote: > On Thursday 10 July 2008 10:30:37 Max Krasnyansky wrote: > > Rusty Russell wrote: > > > stop_machine creates a kthread which creates kernel threads. We can > > > create those threads directly and simplify things a little. Some care > > > must be taken with CPU hotunplug, which has special needs, but that code > > > seems more robust than it was in the past. > > > > > > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> > > > > Rusty, > > > > You mentioned (in private conversation) that you were going to add some > > logic that checks whether CPU is running user-space code and not holding > > any locks to avoid scheduling stop_machine thread on it. Was it supposed > > to be part of this patch ? > > > > Max > > No... I tried it, and it killed my machine. I didn't chase it for the moment, > but it's on the "experimental" end of my patch queue. > > Will play with it again and report, > Rusty. >
Hrm, I must be missing something, but using the fact that other CPUs are running in userspace as a guarantee that they are not running within critical kernel sections seems kind of.. racy ? I'd like to have a look at this experimental patch : does it inhibit interrupts somehow and/or does it take control of userspace processes doing system calls at that precise moment ?
Mathieu
> > >
-- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
| |