Re: [PATCH 0/5] ftrace: to kill a daemon

From: Steven Rostedt
Date: Mon Aug 11 2008 - 08:33:23 EST



On Mon, 11 Aug 2008, Rusty Russell wrote:

> On Saturday 09 August 2008 04:41:06 Steven Rostedt wrote:
> > On Fri, 8 Aug 2008, Mathieu Desnoyers wrote:
> > > kstop_machine does not guarantee that you won't have _any_ thread
> > > preempted with IP pointing exactly in the middle of your instructions
> > > _before_ the modification scheduled back in _after_ the modification and
> > > thus causing an illegal instruction.
> > >
> > > Still buggy. :/
> >
> > Hmm, good point. Unless...
>
> You can walk the task list and fix them up, if you have to. Of course, this
> could be extremely slow with a million threads. Maybe just walking the
> runqueues would be sufficient?

True, we could do the run queues too. But we are only looping once
through the tasks and checking a single pointer on it, which would only be
set if the task was preempted while in the kernel.

As for being slow, this only happens when we enable the function tracer,
which is slow anyway. It does not need to happen on disabling the tracer.

Note, this is enabling the calls to the tracer function. The tracer itself
can enable and disable quickly by turning on or off a variable. This is
just the "setup" part. Not something that happens often.

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/