From: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
To: balbir@linux.vnet.ibm.com
Cc: Shailabh Nagar <nagar1234@in.ibm.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Optimize struct task_delay_info
Date: Mon, 23 Jul 2007 09:08:34 +0800 [thread overview]
Message-ID: <1185152914.4688.50.camel@ymzhang> (raw)
In-Reply-To: <1184733015.4688.46.camel@ymzhang>
On Wed, 2007-07-18 at 12:30 +0800, Zhang, Yanmin wrote:
> On Wed, 2007-07-11 at 17:16 +0530, Balbir Singh wrote:
> > Zhang, Yanmin wrote:
> > > struct task_delay_info is used by per process block I/O delay statistics
> > > feature which is useful in kernel. This struct is not optimized.
> > >
> > > My patch against kernel 2.6.22 shrinks it a half.
> > >
> > > 1) Delete blkio_start and blkio_end. As the collection happens in
> > > io_schedule and io_schedule_timeout, we use local variables to
> > > replace them;
> > > 2) Delete lock. The change to the protected data has no nested cases.
> > > In addition, the result is for performance data collection, so it’s
> > > unnecessary to add such lock.
> > > 3) Delete flags. It just has one value. Use the most significant bit of
> > > blkio_delay (64 bits) to mark it..
> > >
> > >
> > > Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
> >
> > Hi, Yanmin,
> >
> > Did you see any particular performance issues with the delay accounting
> > patches? Is the patch tested; could you please provide test results?
> It's hard to find an appropriate benchmark to test it. Anyway, I used sysbench
> to test it on my x86_64 machine. My machine has 16 logical cpu, dual-core+hyperThread.
> memory is 8GB and disk is one SATA.
>
> I tested both sequence and rand.
> 1) seq read/write:use command line:
> echo "3">/proc/sys/vm/drop_caches; sysbench --test=fileio --file-test-mode=seqrewr
> --num-threads=32 --file-total-size=1500M --max-requests=150000 --max-time=3000 run;
>
> Run the command for 20 times and get average result:
> Without patch: 49.7511Mb/sec
> With patch: 51.6557Mb/sec
> Improvement: 3.8%
>
>
> 2) Rand read/write:use command line:
> echo "3">/proc/sys/vm/drop_caches; sysbench --test=fileio --file-test-mode=rndrw
> --num-threads=32 --file-total-size=800M --max-requests=15000 --max-time=3000 run;
>
> Run the command for 10 times and get average result:
> Without patch: 7.25657Mb/sec
> With patch: 7.35052Mb/sec
> Improvement: 1.3%
>
>
> I didn't use application to read the delay accounting info. If I did, I guess the improvement
> is better.
>
> >
> > Meanwhile, I'll review these patches and I am correcting Shailabh's id
> > to his new email id.
Man,
What's your comment about the patch?
Thanks,
Yanmin
next prev parent reply other threads:[~2007-07-23 1:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-11 7:13 [PATCH] Optimize struct task_delay_info Zhang, Yanmin
2007-07-11 11:46 ` Balbir Singh
2007-07-18 4:30 ` Zhang, Yanmin
2007-07-23 1:08 ` Zhang, Yanmin [this message]
2007-07-11 12:27 ` Andi Kleen
2007-07-12 8:37 ` Zhang, Yanmin
2007-07-12 18:21 ` Frank Ch. Eigler
2007-07-13 1:52 ` Zhang, Yanmin
2007-07-23 5:14 ` Balbir Singh
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=1185152914.4688.50.camel@ymzhang \
--to=yanmin_zhang@linux.intel.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nagar1234@in.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.