Re: [RFC PATCH 0/6] Convert all tasklets to workqueues

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Steven Rostedt
Date: Monday, June 25, 2007 - 12:11 pm

On Mon, 2007-06-25 at 14:48 -0400, Kristian Høgsberg wrote:


Thanks for speaking up!


The gross wrappers were a perfect way to shed light on something that is
overused, and should most likely be replaced.

Does your system need to have these functions that are in tasklets need
to be non-reentrant?  I wonder how many "irq critical" functions used
tasklets just because adding a softirq requires too much (no generic
softirq code).  A tasklet is constrained to run on one CPU at a time,
and it is not guaranteed to run on the CPU it was scheduled on.

Perhaps it's time to add a new functionality while removing tasklets.
Things that are ok to bounce around CPUs (like tasklets do) can most
likely be replaced by a work queue. But these highly critical tasks
probably would benefit from being a softirq.

Maybe we should be looking at something like GENERIC_SOFTIRQ to run
functions that a driver could add. But they would run only on the CPU
that scheduled them, and do not guarantee non-reentrant as tasklets do
today.

I think I even found a bug in a driver that was trying to get around the
non-reentrancy of a tasklet (will post this soon).

It's looking like only a few tasklets have this critical requirement,
and are the candidates to move to a more generic softirq.  The rest of
the tasklets would be switched to work queues, and this gross wrapper of
mine can do that in the meantime so we can find those that should be
converted to a generic softirq.

-- Steve


-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 21, 9:00 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Christoph Hellwig, (Fri Jun 22, 12:09 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 12:51 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Christoph Hellwig, (Fri Jun 22, 12:53 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 4:23 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 5:32 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 5:38 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 5:58 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 6:12 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Andrew Morton, (Fri Jun 22, 6:13 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 6:26 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 6:35 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Andrew Morton, (Fri Jun 22, 6:41 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 7:00 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Arjan van de Ven, (Fri Jun 22, 7:25 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 7:27 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 7:42 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Arjan van de Ven, (Fri Jun 22, 7:43 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Linus Torvalds, (Fri Jun 22, 10:16 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 10:31 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Christoph Hellwig, (Fri Jun 22, 11:32 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 1:40 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Christoph Hellwig, (Fri Jun 22, 2:00 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 2:10 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Thomas Gleixner, (Fri Jun 22, 2:13 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Linus Torvalds, (Fri Jun 22, 2:37 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Daniel Walker, (Fri Jun 22, 2:53 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 2:59 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 3:09 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 3:15 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Daniel Walker, (Fri Jun 22, 3:15 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Roland Dreier, (Fri Jun 22, 3:43 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 22, 3:44 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 22, 3:58 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Daniel Walker, (Fri Jun 22, 4:28 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Stephen Hemminger, (Fri Jun 22, 10:14 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dave Airlie, (Fri Jun 22, 11:23 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues , Jonathan Corbet, (Sun Jun 24, 8:16 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues , Steven Rostedt, (Sun Jun 24, 8:52 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Tilman Schmidt, (Mon Jun 25, 9:50 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 10:06 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 12:11 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Stephen Hemminger, (Mon Jun 25, 12:52 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 1:31 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Tilman Schmidt, (Mon Jun 25, 1:50 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 2:03 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Mon Jun 25, 2:15 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Stefan Richter, (Mon Jun 25, 4:36 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues , Jonathan Corbet, (Mon Jun 25, 5:00 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 5:46 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 5:52 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dan Williams, (Mon Jun 25, 6:46 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Mon Jun 25, 7:01 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dan Williams, (Mon Jun 25, 7:12 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Wed Jun 27, 10:48 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Thu Jun 28, 2:23 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 28, 5:37 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Thu Jun 28, 7:38 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Thu Jun 28, 8:17 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Thu Jun 28, 8:23 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 28, 8:54 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Thu Jun 28, 9:00 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Thu Jun 28, 9:37 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Thu Jun 28, 10:26 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Thu Jun 28, 10:44 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dan Williams, (Thu Jun 28, 11:02 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Andrew Morton, (Thu Jun 28, 11:19 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Thu Jun 28, 1:07 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 28, 1:46 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dan Williams, (Thu Jun 28, 2:23 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Dan Williams, (Thu Jun 28, 2:40 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 28, 3:00 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Thu Jun 28, 3:01 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 4:34 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Duncan Sands, (Fri Jun 29, 4:48 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 29, 5:29 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 6:25 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 6:36 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Steven Rostedt, (Fri Jun 29, 6:41 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Ingo Molnar, (Fri Jun 29, 6:43 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Duncan Sands, (Fri Jun 29, 7:01 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Jeff Garzik, (Fri Jun 29, 7:24 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Fri Jun 29, 7:26 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 7:27 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 8:23 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Fri Jun 29, 8:51 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 9:21 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 9:34 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Fri Jun 29, 9:52 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Fri Jun 29, 10:09 am)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Alexey Kuznetsov, (Fri Jun 29, 12:04 pm)
Re: [RFC PATCH 0/6] Convert all tasklets to workqueues, Oleg Nesterov, (Sat Jun 30, 4:25 am)