From: Jens Axboe <jens.axboe@oracle.com>
To: linux-btrace@vger.kernel.org
Subject: Re: [RFC] blktrace 2.0
Date: Thu, 29 Jan 2009 10:59:36 +0000 [thread overview]
Message-ID: <20090129105936.GV30821@kernel.dk> (raw)
In-Reply-To: <497F844F.4010402@hp.com>
On Tue, Jan 27 2009, Alan D. Brunelle wrote:
> I've been having some issues with blktrace on large(-ish) systems that
> are primarily due to the N(devs) X N(cpus) nature of blktrace: we fire
> off 1 thread for each device on each CPU. With (say) 32 cores and (say)
> 100 devices, we're seeing 3,200 threads competing for cores just to
> handle the data transfer from the relay interface out to long-term storage.
>
> Today I whipped up a prototype new implementation of blktrace (only
> handles the "standard" read-from-relay and write-to-file mode, *not*
> network or piped modes). This implementation fires off a single thread
> per CPU only - each thread than manages all the relay files for its CPU
> (opens them all, and uses poll() to determine which ones need
> processing). This cuts down a lot on the scheduling issue, and hopefully
> will cause less of an impact on the overall system.
>
> I've down some testing on a small-ish machine - using valgrind to ensure
> proper handling of all memory, as well as a 16-way w/ >100 disks and
> things are working as expected. (At least blkrawverify, blkparse, btt,
> ... are all working fine for some test cases.)
>
> I've attached the current sources - a lot of this is just ripped out of
> blktrace.c in the tree currently, some of it is reformatted... Comments?
I think this is the right direction to go, as long as the thread never
blocks waiting for IO. So please, feel free to completel this
implementation and I'll be happy to switch it over.
--
Jens Axboe
prev parent reply other threads:[~2009-01-29 10:59 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-27 22:01 [RFC] blktrace 2.0 Alan D. Brunelle
2009-01-28 5:25 ` M. Edward (Ed) Borasky
2009-01-29 10:59 ` Jens Axboe [this message]
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=20090129105936.GV30821@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=linux-btrace@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).