From: Rick Sherm <rick.sherm@yahoo.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Jens Axboe <jens.axboe@oracle.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org
Subject: Re: [patch] pipe: add support for shrinking and growing pipes
Date: Fri, 21 May 2010 10:13:28 -0700 (PDT) [thread overview]
Message-ID: <604382.53147.qm@web114319.mail.gq1.yahoo.com> (raw)
In-Reply-To: <20100520174855.GV25951@kernel.dk>
--- On Thu, 5/20/10, Jens Axboe <jens.axboe@oracle.com> wrote:
> Yeah, I'd say his 4x results pretty much speak for
> themselves. I've
> observed splice being slower as well here for high
> bandwidth testing,
> the 64kb max buffer size ends up hurting there. So I'm very
> convinced
> that this is a good idea. I have been for a while, was just
> waiting for
> someone else to pop up with an independent need and results
> to help
> shove it in :-)
>
I see a very minor reduction in CPU usage(used same code referenced in this < http://marc.info/?l=linux-kernel&m=127143736527459&w=2 > thread but with new fcntl args):
I'm attempting a 1G file-to-file copy:
Case1) O_DIRECT copy
time ./pcap_file_to_file direct 2048
0.000u 0.200s 0:01.93 10.3% 0+0k 2097176+2097152io 0pf+0w
==========================
iostat -d /dev/sdb1 -x 1
==========================
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 7.00 0.00 4096.00 0.00 585.14 0.13 17.71 3.86 2.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 1947.00 1949.00 1137816.00 1139072.00 584.42 5.18 1.33 0.25 96.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 1633.00 1641.00 955264.00 958848.00 584.64 4.87 1.49 0.26 86.50
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Case2) with new fcntl-splice calls:
2.1) splice: 64 pipe buffers
tcsh# time ./pcap_splice_2_splice direct 2048 64
0.008u 3.137s 0:07.38 42.4% 0+0k 2097176+2097152io 0pf+0w
==========================
iostat -d /dev/sdb1 -x 1
==========================
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 3397.00 257.00 1141.00 65048.00 129024.00 138.82 0.38 0.27 0.19 25.90
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15733.00 1153.00 5027.00 295168.00 590464.00 143.31 0.96 0.16 0.13 81.30
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15123.00 1093.00 4552.00 279808.00 559744.00 148.72 0.88 0.16 0.14 76.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14163.00 1025.00 4296.00 262400.00 525056.00 147.99 0.93 0.18 0.15 80.40
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14866.00 1074.00 4464.00 274944.00 549632.00 148.89 0.91 0.16 0.14 79.40
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15169.00 1098.00 4596.00 281088.00 562304.00 148.12 0.93 0.16 0.14 79.50
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 16299.00 1216.00 5581.00 311296.00 622464.00 137.38 0.93 0.14 0.11 77.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15505.00 1162.00 5418.00 297472.00 594944.00 135.63 0.92 0.14 0.12 77.10
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 1596.00 117.00 530.00 29952.00 60672.00 140.07 0.08 0.13 0.11 7.10
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2.2) splice: 256 pipe buffers
tcsh# time ./pcap_splice_2_splice direct 2048 256
0.002u 3.149s 0:07.52 41.7% 0+0k 2097176+2097152io 0pf+0w
==========================
iostat -d /dev/sdb1 -x 1
==========================
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 8022.00 606.00 2817.00 154392.00 308224.00 135.15 0.66 0.19 0.14 47.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15958.00 1201.00 5662.00 307456.00 614938.00 134.40 1.02 0.15 0.12 83.40
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15877.00 1170.00 5173.00 299520.00 598656.00 141.60 0.93 0.15 0.12 78.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14945.00 1075.00 4415.00 275200.00 550784.00 150.45 0.97 0.18 0.15 84.30
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14796.00 1066.00 4399.00 272896.00 545792.00 149.81 0.93 0.17 0.15 80.10
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 13767.00 993.00 4090.00 254208.00 508032.00 149.96 0.95 0.17 0.17 84.40
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14830.00 1068.00 4404.00 273408.00 547200.00 149.96 0.94 0.18 0.15 82.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 14113.00 1016.00 4193.00 260096.00 520704.00 149.89 0.93 0.18 0.16 81.70
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2.3) 512 pipe-buffers
tcsh# time ./pcap_splice_2_splice direct 2048 512
0.005u 3.222s 0:06.91 46.5% 0+0k 2097176+2097152io 0pf+0w
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 1.00 0.00 16.00 16.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 4687.00 352.00 1576.00 89368.00 178048.00 138.70 0.40 0.21 0.15 28.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15265.00 1133.00 5124.00 290048.00 579985.00 139.05 0.91 0.15 0.11 71.60
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 15080.00 1094.00 4621.00 280064.00 560384.00 147.06 0.70 0.12 0.12 66.10
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 16200.00 1189.00 5201.00 304384.00 608640.00 142.88 0.78 0.12 0.11 72.50
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 17009.00 1246.00 5419.00 318976.00 637952.00 143.58 0.75 0.11 0.10 69.10
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 16014.00 1170.00 5038.00 299520.00 598912.00 144.72 0.75 0.12 0.11 70.20
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 17363.00 1268.00 5470.00 324608.00 649472.00 144.57 0.74 0.11 0.10 66.90
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 10231.00 743.00 3161.00 190208.00 380928.00 146.30 0.44 0.11 0.10 40.50
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
next prev parent reply other threads:[~2010-05-21 17:13 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 16:45 Miklos Szeredi
2010-05-19 16:49 ` Linus Torvalds
2010-05-19 18:05 ` Jens Axboe
2010-05-19 19:05 ` Jens Axboe
2010-05-20 8:33 ` Miklos Szeredi
2010-05-20 8:37 ` Jens Axboe
2010-05-20 17:42 ` Linus Torvalds
2010-05-20 17:48 ` Jens Axboe
2010-05-21 17:13 ` Rick Sherm [this message]
2010-05-23 5:30 ` Michael Kerrisk
2010-05-23 2:38 ` Andrew Morton
2010-05-23 5:52 ` Michael Kerrisk
2010-05-23 7:09 ` Jens Axboe
2010-05-23 9:24 ` Michael Kerrisk
2010-05-23 17:47 ` Jens Axboe
2010-05-24 1:43 ` OGAWA Hirofumi
2010-05-24 4:43 ` Michael Kerrisk
2010-05-24 7:05 ` Jens Axboe
2010-05-24 7:27 ` Michael Kerrisk
2010-05-24 17:35 ` Jens Axboe
2010-05-24 17:52 ` Michael Kerrisk
2010-05-24 17:56 ` Jens Axboe
2010-05-25 4:01 ` Michael Kerrisk
2010-06-01 7:48 ` Jens Axboe
2010-06-01 15:22 ` Linus Torvalds
2010-06-01 16:36 ` Loke, Chetan
2010-05-27 6:49 ` Michael Kerrisk
2010-06-01 7:45 ` Jens Axboe
2010-06-02 19:25 ` Michael Kerrisk
2010-06-03 6:10 ` Jens Axboe
2010-06-03 6:46 ` Michael Kerrisk
2010-06-03 7:01 ` Jens Axboe
2010-06-03 7:05 ` Michael Kerrisk
2010-06-03 7:48 ` Michael Kerrisk
2010-06-03 7:58 ` Michael Kerrisk
2010-06-03 8:29 ` Michael Kerrisk
2010-06-03 8:53 ` Michael Kerrisk
[not found] ` <4C07862D.4090709@fusionio.com>
[not found] ` <AANLkTincO5thcP-yASUtIV41TtY3ZmG9YSU-J5nT2sFg@mail.gmail.com>
2010-06-03 11:11 ` Jens Axboe
[not found] ` <4C078610.6020901@fusionio.com>
[not found] ` <AANLkTinhO5oRDPXyXaeAOZU3i55eBKsx4iFMOzwm98na@mail.gmail.com>
[not found] ` <AANLkTin_8MU3AbJ_KeXr2uTxtRFJ5ABmBAyigU6m-C6u@mail.gmail.com>
2010-06-03 11:12 ` Jens Axboe
2010-06-03 11:32 ` Miklos Szeredi
2010-06-03 11:37 ` Jens Axboe
2010-06-03 12:45 ` Miklos Szeredi
2010-06-03 12:50 ` Jens Axboe
2010-06-19 5:45 ` Michael Kerrisk
2010-06-19 18:13 ` Jens Axboe
2010-06-20 5:37 ` Michael Kerrisk
2010-06-03 16:06 ` Miklos Szeredi
2010-05-24 7:04 ` Jens Axboe
2010-05-24 7:28 ` Michael Kerrisk
2010-05-24 7:49 ` OGAWA Hirofumi
2010-05-24 14:51 ` Brian Bloniarz
2010-05-24 15:43 ` Michael Kerrisk
2010-05-24 7:46 ` OGAWA Hirofumi
2010-05-24 17:15 ` Jens Axboe
2010-05-24 18:12 ` OGAWA Hirofumi
2010-05-24 18:16 ` Michael Kerrisk
2010-05-20 12:52 ` Andi Kleen
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=604382.53147.qm@web114319.mail.gq1.yahoo.com \
--to=rick.sherm@yahoo.com \
--cc=akpm@linux-foundation.org \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--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®