From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Dan Williams <dan.j.williams@gmail.com>
Cc: Neil Brown <neilb@suse.de>,
Dan Williams <dan.j.williams@intel.com>,
linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org,
Chris Leech <christopher.leech@intel.com>,
"Grover, Andrew" <andrew.grover@intel.com>,
Deepak Saxena <dsaxena@plexity.net>
Subject: Re: [RFC][PATCH 000 of 3] MD Acceleration and the ADMA interface: Introduction
Date: Tue, 7 Feb 2006 10:23:54 +0300 [thread overview]
Message-ID: <20060207072354.GB11041@2ka.mipt.ru> (raw)
In-Reply-To: <e9c3a7c20602061125j4a1fb48agd23cd600b0cdf6d0@mail.gmail.com>
On Mon, Feb 06, 2006 at 12:25:22PM -0700, Dan Williams (dan.j.williams@gmail.com) wrote:
> On 2/5/06, Neil Brown <neilb@suse.de> wrote:
> > I've looked through the patches - not exhaustively, but hopefully
> > enough to get a general idea of what is happening.
> > There are some things I'm not clear on and some things that I could
> > suggest alternates too...
>
> I have a few questions to check that I understand your suggestions.
>
> > - Each ADMA client (e.g. a raid5 array) gets a dedicated adma thread
> > to handle all its requests. And it handles them all in series. I
> > wonder if this is really optimal. If there are multiple adma
> > engines, then a single client could only make use of one of them
> > reliably.
> > It would seem to make more sense to have just one thread - or maybe
> > one per processor or one per adma engine - and have any ordering
> > between requests made explicit in the interface.
> >
> > Actually as each processor could be seen as an ADMA engine, maybe
> > you want one thread per processor AND one per engine. If there are
> > no engines, the per-processor threads run with high priority, else
> > with low.
>
> ...so the engine thread would handle explicit client requested
> ordering constraints and then hand the operations off to per processor
> worker threads in the "pio" case or queue directly to hardware in the
> presence of such an engine. In md_thread you talk about priority
> inversion deadlocks, do those same concerns apply here?
Just for reference: the more threads you have, the less stable your
system is. Ping-ponging work between several completely independent
entities is always a bad idea. Even completion of the request postponed
to workqueue from current execution unit introduces noticeble latencies.
System should be able to process as much as possible of it's work in one
flow.
> Dan
--
Evgeniy Polyakov
next prev parent reply other threads:[~2006-02-07 7:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-03 1:46 [RFC][PATCH 000 of 3] MD Acceleration and the ADMA interface: Introduction Dan Williams
2006-02-03 2:01 ` Jeff Garzik
2006-02-03 18:21 ` Pierre Ossman
2006-02-03 18:25 ` Randy.Dunlap
2006-02-03 18:58 ` Jeff Garzik
2006-02-06 3:30 ` Neil Brown
2006-02-06 19:25 ` Dan Williams
2006-02-07 7:23 ` Evgeniy Polyakov [this message]
2006-02-14 3:29 ` Neil Brown
-- strict thread matches above, loose matches on Subject: below --
2006-02-03 1:12 Dan Williams
2006-02-03 1:25 ` Neil Brown
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=20060207072354.GB11041@2ka.mipt.ru \
--to=johnpol@2ka.mipt.ru \
--cc=andrew.grover@intel.com \
--cc=christopher.leech@intel.com \
--cc=dan.j.williams@gmail.com \
--cc=dan.j.williams@intel.com \
--cc=dsaxena@plexity.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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;
as well as URLs for NNTP newsgroup(s).