From: "Dan Williams" <dan.j.williams@intel.com>
To: "Steven Rostedt" <rostedt@goodmis.org>
Cc: "Ingo Molnar" <mingo@elte.hu>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Christoph Hellwig" <hch@infradead.org>,
"john stultz" <johnstul@us.ibm.com>,
"Oleg Nesterov" <oleg@tv-sign.ru>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
"Dipankar Sarma" <dipankar@in.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
kuznet@ms2.inr.ac.ru, "Jeff Garzik" <jeff@garzik.org>
Subject: Re: [RFC PATCH 0/6] Convert all tasklets to workqueues
Date: Thu, 28 Jun 2007 11:02:53 -0700 [thread overview]
Message-ID: <e9c3a7c20706281102l5db2e91alf465e7983d68f284@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0706280823020.19012@gandalf.stny.rr.com>
On 6/28/07, Steven Rostedt <rostedt@goodmis.org> wrote:
>
> Hi Dan,
>
> On Mon, 25 Jun 2007, Dan Williams wrote:
>
> > Yes you are right, ARM does not flush L1 when prev==next in switch_mm.
> >
> > > Perhaps something else is at fault here.
> > >
> > I'll try and dig a bit deeper...
>
> BTW:
>
> static int __init iop_adma_init (void)
> {
> + iop_adma_workqueue = create_workqueue("iop-adma");
> + if (!iop_adma_workqueue)
> + return -ENODEV;
> +
>
> Could you also try upping the prio of all the "iop-adma" threads?
>
Unfortunately setting the thread to real time priority makes
throughput slightly worse. Instead of floating around 35MB/s the
resync speed is stuck around 30MB/s:
[ iop-adma: hi-prio workqueue based callbacks ]
iq81340mc:~# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sdc[2] sdb[1] sda[0]
468872448 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
[>....................] recovery = 3.9% (6107424/156290816)
finish=84.9min speed=29448K/sec
The iop-adma tasklet cleans up any completed descriptors and in the
process calls any attached callbacks. For the raid5 resync case the
callback is simply:
static void ops_complete_check(void *stripe_head_ref)
{
struct stripe_head *sh = stripe_head_ref;
int pd_idx = sh->pd_idx;
pr_debug("%s: stripe %llu\n", __FUNCTION__,
(unsigned long long)sh->sector);
if (test_and_clear_bit(STRIPE_OP_MOD_DMA_CHECK, &sh->ops.pending) &&
sh->ops.zero_sum_result == 0)
set_bit(R5_UPTODATE, &sh->dev[pd_idx].flags);
set_bit(STRIPE_OP_CHECK, &sh->ops.complete);
set_bit(STRIPE_HANDLE, &sh->state);
release_stripe(sh);
}
[ iop-adma: tasklet based callbacks ]
iq81340mc:~# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sdc[2] sdb[1] sda[0]
468872448 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
[=>...................] recovery = 5.1% (8024248/156290816)
finish=47.9min speed=51486K/sec
--
Dan
next prev parent reply other threads:[~2007-06-28 18:03 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-22 4:00 Steven Rostedt
2007-06-22 4:00 ` [RFC PATCH 1/6] Convert the RCU tasklet into a softirq Steven Rostedt
2007-06-22 7:10 ` Christoph Hellwig
2007-06-22 7:43 ` Ingo Molnar
2007-06-22 12:35 ` Steven Rostedt
2007-06-22 12:55 ` Ingo Molnar
2007-06-22 4:00 ` [RFC PATCH 2/6] Split out tasklets from softirq.c Steven Rostedt
2007-06-22 7:11 ` Christoph Hellwig
2007-06-22 12:40 ` Steven Rostedt
2007-06-22 13:45 ` Akinobu Mita
2007-06-22 13:58 ` Steven Rostedt
2007-06-22 4:00 ` [RFC PATCH 3/6] Add a tasklet is-scheduled API Steven Rostedt
2007-06-22 4:00 ` [RFC PATCH 4/6] Make DRM use the tasklet is-sched API Steven Rostedt
2007-06-22 6:36 ` Daniel Walker
2007-06-22 6:49 ` Thomas Gleixner
2007-06-22 7:08 ` Daniel Walker
2007-06-22 12:15 ` Steven Rostedt
2007-06-22 15:36 ` Daniel Walker
2007-06-22 22:38 ` Ingo Molnar
2007-06-22 23:28 ` Daniel Walker
2007-06-22 16:10 ` Arnd Bergmann
2007-06-22 16:56 ` Steven Rostedt
2007-06-22 18:24 ` Christoph Hellwig
2007-06-22 23:38 ` Dave Airlie
2007-06-22 4:00 ` [RFC PATCH 5/6] Move tasklet.h to tasklet_softirq.h Steven Rostedt
2007-06-22 4:00 ` [RFC PATCH 6/6] Convert tasklets to work queues Steven Rostedt
2007-06-22 7:06 ` Daniel Walker
2007-06-22 13:29 ` Steven Rostedt
2007-06-22 15:52 ` Oleg Nesterov
2007-06-22 16:35 ` Steven Rostedt
2007-06-23 11:15 ` Arnd Bergmann
2007-06-22 7:09 ` [RFC PATCH 0/6] Convert all tasklets to workqueues Christoph Hellwig
2007-06-22 7:51 ` Ingo Molnar
2007-06-22 7:53 ` Christoph Hellwig
2007-06-22 11:23 ` Ingo Molnar
2007-06-22 12:32 ` Steven Rostedt
2007-06-22 12:38 ` Ingo Molnar
2007-06-22 12:58 ` Steven Rostedt
2007-06-22 13:12 ` Ingo Molnar
2007-06-22 14:27 ` Steven Rostedt
2007-06-22 13:13 ` Andrew Morton
2007-06-22 13:26 ` Ingo Molnar
2007-06-22 13:41 ` Andrew Morton
2007-06-22 14:00 ` Ingo Molnar
2007-06-22 13:35 ` Steven Rostedt
2007-06-22 14:25 ` Arjan van de Ven
2007-06-22 14:42 ` Steven Rostedt
2007-06-22 14:43 ` Arjan van de Ven
2007-06-22 17:16 ` Linus Torvalds
2007-06-22 17:31 ` Steven Rostedt
2007-06-22 18:32 ` Christoph Hellwig
2007-06-22 20:40 ` Ingo Molnar
2007-06-22 21:00 ` Christoph Hellwig
2007-06-22 21:10 ` Ingo Molnar
2007-06-22 21:13 ` Thomas Gleixner
2007-06-22 21:37 ` Linus Torvalds
2007-06-22 21:59 ` Ingo Molnar
2007-06-22 22:09 ` Ingo Molnar
2007-06-22 22:43 ` Roland Dreier
2007-06-22 22:57 ` Alan Cox
2007-06-22 22:58 ` Steven Rostedt
2007-06-23 6:23 ` Dave Airlie
2007-06-24 15:16 ` Jonathan Corbet
2007-06-24 15:52 ` Steven Rostedt
2007-06-25 16:50 ` Tilman Schmidt
2007-06-25 17:06 ` Steven Rostedt
2007-06-25 20:50 ` Tilman Schmidt
2007-06-25 21:03 ` Steven Rostedt
2007-06-25 19:52 ` Stephen Hemminger
2007-06-26 0:00 ` Jonathan Corbet
2007-06-26 0:52 ` Steven Rostedt
2007-06-25 18:48 ` Kristian Høgsberg
2007-06-25 19:11 ` Steven Rostedt
2007-06-25 20:07 ` Kristian Høgsberg
2007-06-25 20:31 ` Steven Rostedt
2007-06-25 21:08 ` Kristian Høgsberg
2007-06-25 21:15 ` Ingo Molnar
2007-06-25 23:36 ` Stefan Richter
2007-06-26 0:46 ` Steven Rostedt
2007-06-26 1:46 ` Dan Williams
2007-06-26 2:01 ` Steven Rostedt
2007-06-26 2:12 ` Dan Williams
2007-06-28 12:37 ` Steven Rostedt
2007-06-28 16:37 ` Oleg Nesterov
2007-06-28 18:02 ` Dan Williams [this message]
2007-06-28 20:46 ` Steven Rostedt
2007-06-28 21:23 ` Dan Williams
2007-06-28 21:40 ` Dan Williams
2007-06-28 22:01 ` Steven Rostedt
2007-06-28 22:00 ` Steven Rostedt
2007-06-28 5:48 ` Jeff Garzik
2007-06-28 9:23 ` Ingo Molnar
2007-06-28 14:38 ` Alexey Kuznetsov
2007-06-28 15:23 ` Jeff Garzik
2007-06-28 15:54 ` Steven Rostedt
2007-06-28 16:00 ` Ingo Molnar
2007-06-28 17:26 ` Jeff Garzik
2007-06-28 17:44 ` Jeff Garzik
2007-06-28 18:19 ` Andrew Morton
2007-06-28 20:07 ` Ingo Molnar
2007-06-29 11:34 ` Alexey Kuznetsov
2007-06-29 11:48 ` Duncan Sands
2007-06-29 13:36 ` Alexey Kuznetsov
2007-06-29 14:01 ` Duncan Sands
2007-06-29 16:34 ` Alexey Kuznetsov
2007-06-29 12:29 ` Ingo Molnar
2007-06-29 13:25 ` Alexey Kuznetsov
2007-06-29 13:43 ` Ingo Molnar
2007-06-29 15:23 ` Alexey Kuznetsov
2007-06-29 13:41 ` Steven Rostedt
2007-06-29 14:24 ` Jeff Garzik
2007-06-29 14:26 ` Oleg Nesterov
2007-06-29 19:04 ` Alexey Kuznetsov
2007-06-29 14:27 ` Alexey Kuznetsov
2007-06-29 15:51 ` Oleg Nesterov
2007-06-29 16:21 ` Alexey Kuznetsov
2007-06-29 16:52 ` Oleg Nesterov
2007-06-29 17:09 ` Oleg Nesterov
2007-06-30 11:25 ` Oleg Nesterov
2007-06-28 15:17 ` Jeff Garzik
2007-06-22 21:53 ` Daniel Walker
2007-06-22 22:09 ` david
2007-06-22 22:15 ` Daniel Walker
2007-06-22 22:44 ` Ingo Molnar
2007-06-22 23:28 ` Daniel Walker
2007-06-22 22:15 ` Ingo Molnar
2007-06-23 5:14 ` Stephen Hemminger
2007-06-26 13:03 Clemens Ladisch
2007-06-26 13:15 ` Takashi Iwai
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=e9c3a7c20706281102l5db2e91alf465e7983d68f284@mail.gmail.com \
--to=dan.j.williams@intel.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=dipankar@in.ibm.com \
--cc=hch@infradead.org \
--cc=jeff@garzik.org \
--cc=johnstul@us.ibm.com \
--cc=kuznet@ms2.inr.ac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=oleg@tv-sign.ru \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--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
all inboxes | Powered by JetHome®