From: Hubertus Franke <frankeh@watson.ibm.com>
To: Manfred Spraul <manfred@colorfullife.com>
Cc: lse-tech@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [Lse-tech] Re: Patch and Performance of larger pipes
Date: Mon, 5 Nov 2001 09:11:06 -0500 [thread overview]
Message-ID: <20011105091106.B19533@watson.ibm.com> (raw)
In-Reply-To: <OF2428DABF.B9AD95A4-ON86256AEA.005A4949@raleigh.ibm.com> <20011024153930.A12944@watson.ibm.com> <20011030133124.A16257@watson.ibm.com> <3BE42BB5.7AF5F56F@colorfullife.com>
In-Reply-To: <3BE42BB5.7AF5F56F@colorfullife.com>; from Manfred Spraul on Sat, Nov 03, 2001 at 06:39:01PM +0100
* Manfred Spraul <manfred@colorfullife.com> [20011103 12;39]:"
> Hubertus Franke wrote:
> > 32k 512 500 0 1.09 -78.3
>
> I understand the slowdown, but 78% are too large.
> With my patch applied, the read syscall probably returns after 4608
> bytes instead of all 32 kB. Could you check that you don't delay after
> every syscall, but only after 32 kB are read?
You are right on the money. 4608 every read call.....
Now we ran also our patch terms out we also don't return right
on 32KB, but dependent on the pipe-size return more than 4608.
Even on vanilla, it seems the blocking read semantics are
wait for at least 1 byte and then return as much as you can.
We are running somemore experiments now to see what exactly is going on.
>
> >
> > Whereas Manfred's patch is doing 12% degradation on 2-way and 78%
> > degradation on UP.
> >
> I found the problem:
> The current code does syscall coalescing.
>
> On UP, I get
> <<<<<<<<
> $dd if=/dev/zero bs=4096 count=20000 | dd bs=1M of=/dev/null
> 20000+0 records in
> 20000+0 records out
> 78+1 records in
> 78+1 records out
> $dd if=/dev/zero bs=4096 count=20000 | dd bs=1M of=/dev/null
> 20000+0 records in
> 20000+0 records out
> 77+2 records in
> 77+2 records out
> <<<<<<<< [ok, it it SMP, but the 2nd cpu executes 'for(;;);']
> Only 80 read syscalls are needed. With my patch applied, I'd get around
> 10000 syscalls.
>
> I haven't found a simple way to fix it yet, probably I must wait until
> the cache flushing functions are cleaned up.
> --
> Manfred
Let's first agree exactly on the read semantics that we want to see ?
Than let's keep comparing where things are heading to see what
makes the most sense.
>
> _______________________________________________
> Lse-tech mailing list
> Lse-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lse-tech
prev parent reply other threads:[~2001-11-05 16:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <OF2428DABF.B9AD95A4-ON86256AEA.005A4949@raleigh.ibm.com>
2001-10-24 19:39 ` [Lse-tech] Re: Patch and Performance of larger pipes Hubertus Franke
2001-10-30 18:31 ` Hubertus Franke
2001-10-30 20:48 ` Manfred Spraul
2001-11-03 17:39 ` Manfred Spraul
2001-11-05 14:11 ` Hubertus Franke [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=20011105091106.B19533@watson.ibm.com \
--to=frankeh@watson.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=manfred@colorfullife.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox