public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* benchmarks of O_STREAMING in 2.5
@ 2002-10-17  2:53 Robert Love
  2002-10-17  7:33 ` Giuliano Pochini
  2002-10-21 14:38 ` Alan Cox
  0 siblings, 2 replies; 8+ messages in thread
From: Robert Love @ 2002-10-17  2:53 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel

I gave the O_STREAMING in Andrew's 2.5-mm tree the treatment..

Short summary: It works.

The streaming read test in the following benchmarks is simply a read()
in 64KB byte chunks of an 800MB file.

First test.  Show the cache effects are indeed as we intend and the
overhead is negligible.  Here, mem=2G.

	O_STREAMING?	Wall time	Cache Delta
	Yes		21.827s		0
	No		21.734s		+800MB

Second test.  Same deal, but mem=8M.  There was slight swapping, so I
suspect the reduced VM pressure is why the O_STREAMING run is faster.

	O_STREAMING?	Wall time	Cache Delta
	Yes		22.303s		0
	No		28.812s		+1MB

Third and final test. Kernel compile (make -j2) with a couple streaming
reads in the background.  Again, mem=2G.  This shows that actually
saving the pagecache from the horrid waste is useful.

	O_STREAMING	Wall time to complete Kernel compile
	Yes		5m30.494s
	No		4m59.661s

So, uh, Andrew's 2.5 code works ;-)

Someone buy me a dual Xeon,

	Robert Love


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: benchmarks of O_STREAMING in 2.5
  2002-10-17  2:53 benchmarks of O_STREAMING in 2.5 Robert Love
@ 2002-10-17  7:33 ` Giuliano Pochini
  2002-10-17  7:40   ` Robert Love
  2002-10-21 14:38 ` Alan Cox
  1 sibling, 1 reply; 8+ messages in thread
From: Giuliano Pochini @ 2002-10-17  7:33 UTC (permalink / raw)
  To: Robert Love; +Cc: linux-kernel, akpm


> I gave the O_STREAMING in Andrew's 2.5-mm tree the treatment..
>       O_STREAMING     Wall time to complete Kernel compile
>       Yes             5m30.494s
>       No              4m59.661s
>
> So, uh, Andrew's 2.5 code works ;-)

?? O_STREAMING makes it slower or is it a typo ?


Bye.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: benchmarks of O_STREAMING in 2.5
  2002-10-17  7:33 ` Giuliano Pochini
@ 2002-10-17  7:40   ` Robert Love
  0 siblings, 0 replies; 8+ messages in thread
From: Robert Love @ 2002-10-17  7:40 UTC (permalink / raw)
  To: Giuliano Pochini; +Cc: linux-kernel, akpm

On Thu, 2002-10-17 at 03:33, Giuliano Pochini wrote:
> 
> > I gave the O_STREAMING in Andrew's 2.5-mm tree the treatment..
> >       O_STREAMING     Wall time to complete Kernel compile
> >       Yes             5m30.494s
> >       No              4m59.661s
> >
> > So, uh, Andrew's 2.5 code works ;-)
> 
> ?? O_STREAMING makes it slower or is it a typo ?

Yes, typo, those should be switched.

	Robert Love


^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: benchmarks of O_STREAMING in 2.5
@ 2002-10-17 22:59 Dieter Nützel
  0 siblings, 0 replies; 8+ messages in thread
From: Dieter Nützel @ 2002-10-17 22:59 UTC (permalink / raw)
  To: Robert Love; +Cc: Linux Kernel List

> Third and final test. Kernel compile (make -j2) with a couple streaming
> reads in the background.  Again, mem=2G.  This shows that actually
> saving the pagecache from the horrid waste is useful.
>
>        O_STREAMING     Wall time to complete Kernel compile
>        Yes             4m59.661s
>        No              5m30.494s
>
> So, uh, Andrew's 2.5 code works ;-)

Corrected version.

> Someone buy me a dual Xeon,
>
>        Robert Love

It's "Hammer time"...;-)

Greetings,
	Dieter
-- 
Dieter Nützel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
@home: Dieter.Nuetzel at hamburg.de (replace at with @)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: benchmarks of O_STREAMING in 2.5
  2002-10-21 14:38 ` Alan Cox
@ 2002-10-21 14:32   ` Padraig Brady
  2002-10-21 16:14     ` Alan Cox
  0 siblings, 1 reply; 8+ messages in thread
From: Padraig Brady @ 2002-10-21 14:32 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert Love, akpm, Linux Kernel Mailing List

Alan Cox wrote:
> On Thu, 2002-10-17 at 03:53, Robert Love wrote:
> 
>>I gave the O_STREAMING in Andrew's 2.5-mm tree the treatment..
>>
>>Short summary: It works.
>>
>>The streaming read test in the following benchmarks is simply a read()
>>in 64KB byte chunks of an 800MB file.
> 
> All you now need to do is make it work with an API thats usable by the
> other 99% of real world apps, is extensible and sensible ways and
> therefore can be used.

I'm confused. Isn't this just an O_STREAM flag on open/fcntl ?
How could it be simpler? I suppose the VM could do better than
it currently does automatically but there is no harm in the app
giving a hint like this thus allowing stuff to be dropped from
the cache more aggresively?

Pádraig.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: benchmarks of O_STREAMING in 2.5
       [not found] ` <1035211132.27309.131.camel@irongate.swansea.linux.org.uk.suse.lists.linux.kernel>
@ 2002-10-21 14:35   ` Andi Kleen
  0 siblings, 0 replies; 8+ messages in thread
From: Andi Kleen @ 2002-10-21 14:35 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel, rml, akpm

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> All you now need to do is make it work with an API thats usable by the
> other 99% of real world apps, is extensible and sensible ways and
> therefore can be used.

An streaming hint as chattr would be quite nice.

-Andi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: benchmarks of O_STREAMING in 2.5
  2002-10-17  2:53 benchmarks of O_STREAMING in 2.5 Robert Love
  2002-10-17  7:33 ` Giuliano Pochini
@ 2002-10-21 14:38 ` Alan Cox
  2002-10-21 14:32   ` Padraig Brady
  1 sibling, 1 reply; 8+ messages in thread
From: Alan Cox @ 2002-10-21 14:38 UTC (permalink / raw)
  To: Robert Love; +Cc: akpm, Linux Kernel Mailing List

On Thu, 2002-10-17 at 03:53, Robert Love wrote:
> I gave the O_STREAMING in Andrew's 2.5-mm tree the treatment..
> 
> Short summary: It works.
> 
> The streaming read test in the following benchmarks is simply a read()
> in 64KB byte chunks of an 800MB file.

All you now need to do is make it work with an API thats usable by the
other 99% of real world apps, is extensible and sensible ways and
therefore can be used.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: benchmarks of O_STREAMING in 2.5
  2002-10-21 14:32   ` Padraig Brady
@ 2002-10-21 16:14     ` Alan Cox
  0 siblings, 0 replies; 8+ messages in thread
From: Alan Cox @ 2002-10-21 16:14 UTC (permalink / raw)
  To: Padraig Brady; +Cc: Robert Love, akpm, Linux Kernel Mailing List

On Mon, 2002-10-21 at 15:32, Padraig Brady wrote:
> I'm confused. Isn't this just an O_STREAM flag on open/fcntl ?
> How could it be simpler? I suppose the VM could do better than
> it currently does automatically but there is no harm in the app
> giving a hint like this thus allowing stuff to be dropped from
> the cache more aggresively?

Which bit are you streaming, what kind of things are you doing with the
data ?

Take a database table are you - accessing it sequentially with caching,
accessing it randomly without readahead or streaming it and discarding
data. All three are valid answers, for the same data, and potentially on
a per table basis in the same file.

See the fadvise proposal. O_STREAMING is basically a subset of what is
needed


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-10-21 15:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-17  2:53 benchmarks of O_STREAMING in 2.5 Robert Love
2002-10-17  7:33 ` Giuliano Pochini
2002-10-17  7:40   ` Robert Love
2002-10-21 14:38 ` Alan Cox
2002-10-21 14:32   ` Padraig Brady
2002-10-21 16:14     ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2002-10-17 22:59 Dieter Nützel
     [not found] <1034823201.722.429.camel@phantasy.suse.lists.linux.kernel>
     [not found] ` <1035211132.27309.131.camel@irongate.swansea.linux.org.uk.suse.lists.linux.kernel>
2002-10-21 14:35   ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox