Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-23 Thread Arnd Bergmann
On Friday 22 June 2007, Steven Rostedt wrote: > This patch creates an alternative for drivers from using tasklets. > It creates a "work_tasklet". When configured to use work_tasklets > instead of tasklets, instead of creating tasklets, a work queue > is made in its place. The API is still the

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-23 Thread Arnd Bergmann
On Friday 22 June 2007, Steven Rostedt wrote: This patch creates an alternative for drivers from using tasklets. It creates a work_tasklet. When configured to use work_tasklets instead of tasklets, instead of creating tasklets, a work queue is made in its place. The API is still the same, and

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Steven Rostedt
On Fri, 2007-06-22 at 19:52 +0400, Oleg Nesterov wrote: > On 06/22, Steven Rostedt wrote: > > > > > truct tasklet_struct, work); > > > > + > > > > + if (unlikely(atomic_read(>count))) { > > > > + pr_debug("tasklet disabled %s %p\n", t->n, t); > > > > +

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Oleg Nesterov
On 06/22, Steven Rostedt wrote: > > > truct tasklet_struct, work); > > > + > > > + if (unlikely(atomic_read(>count))) { > > > + pr_debug("tasklet disabled %s %p\n", t->n, t); > > > + set_bit(TASKLET_STATE_PENDING, >state); > > > + smp_mb(); > > > + /* make sure we

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Steven Rostedt
On Fri, 2007-06-22 at 00:06 -0700, Daniel Walker wrote: > > +void tasklet_schedule(struct tasklet_struct *t) > > +{ > > + BUG_ON(!ktaskletd_wq); > > + pr_debug("scheduling tasklet %s %p\n", t->n, t); > > I'd change these pr_debug lines to "tasklet : scheduling %s %p\n" for > readability ..

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Daniel Walker
On Fri, 2007-06-22 at 00:00 -0400, Steven Rostedt wrote: > plain text document attachment (tasklets-to-workqueues.patch) > This patch creates an alternative for drivers from using tasklets. > It creates a "work_tasklet". When configured to use work_tasklets > instead of tasklets, instead of

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Daniel Walker
On Fri, 2007-06-22 at 00:00 -0400, Steven Rostedt wrote: plain text document attachment (tasklets-to-workqueues.patch) This patch creates an alternative for drivers from using tasklets. It creates a work_tasklet. When configured to use work_tasklets instead of tasklets, instead of creating

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Steven Rostedt
On Fri, 2007-06-22 at 00:06 -0700, Daniel Walker wrote: +void tasklet_schedule(struct tasklet_struct *t) +{ + BUG_ON(!ktaskletd_wq); + pr_debug(scheduling tasklet %s %p\n, t-n, t); I'd change these pr_debug lines to tasklet : scheduling %s %p\n for readability .. As Ingo

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Oleg Nesterov
On 06/22, Steven Rostedt wrote: truct tasklet_struct, work); + + if (unlikely(atomic_read(t-count))) { + pr_debug(tasklet disabled %s %p\n, t-n, t); + set_bit(TASKLET_STATE_PENDING, t-state); + smp_mb(); + /* make sure we were not just enabled

Re: [RFC PATCH 6/6] Convert tasklets to work queues

2007-06-22 Thread Steven Rostedt
On Fri, 2007-06-22 at 19:52 +0400, Oleg Nesterov wrote: On 06/22, Steven Rostedt wrote: truct tasklet_struct, work); + + if (unlikely(atomic_read(t-count))) { + pr_debug(tasklet disabled %s %p\n, t-n, t); + set_bit(TASKLET_STATE_PENDING,

[RFC PATCH 6/6] Convert tasklets to work queues

2007-06-21 Thread Steven Rostedt
This patch creates an alternative for drivers from using tasklets. It creates a "work_tasklet". When configured to use work_tasklets instead of tasklets, instead of creating tasklets, a work queue is made in its place. The API is still the same, and the drivers don't know that a work queue is

[RFC PATCH 6/6] Convert tasklets to work queues

2007-06-21 Thread Steven Rostedt
This patch creates an alternative for drivers from using tasklets. It creates a work_tasklet. When configured to use work_tasklets instead of tasklets, instead of creating tasklets, a work queue is made in its place. The API is still the same, and the drivers don't know that a work queue is being