mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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



      


  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®