From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: James Bottomley <jejb@steeleye.com>
Cc: Mel Gorman <mel@csn.ul.ie>,
William Lee Irwin III <wli@holomorphy.com>,
Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Grant Grundler <grundler@parisc-linux.org>
Subject: Re: [PATCH] Avoiding fragmentation through different allocator
Date: Mon, 24 Jan 2005 13:49:27 -0200 [thread overview]
Message-ID: <20050124154927.GJ5925@logos.cnet> (raw)
In-Reply-To: <1106585052.5513.26.camel@mulgrave>
On Mon, Jan 24, 2005 at 10:44:12AM -0600, James Bottomley wrote:
> On Mon, 2005-01-24 at 10:29 -0200, Marcelo Tosatti wrote:
> > Since the pages which compose IO operations are most likely sparse (not physically contiguous),
> > the driver+device has to perform scatter-gather IO on the pages.
> >
> > The idea is that if we can have larger memory blocks scatter-gather IO can use less SG list
> > elements (decreased CPU overhead, decreased device overhead, faster).
> >
> > Best scenario is where only one sg element is required (ie one huge physically contiguous block).
> >
> > Old devices/unprepared drivers which are not able to perform SG/IO
> > suffer with sequential small sized operations.
> >
> > I'm far away from being a SCSI/ATA knowledgeable person, the storage people can
> > help with expertise here.
> >
> > Grant Grundler and James Bottomley have been working on this area, they might want to
> > add some comments to this discussion.
> >
> > It seems HP (Grant et all) has pursued using big pages on IA64 (64K) for this purpose.
>
> Well, the basic advice would be not to worry too much about
> fragmentation from the point of view of I/O devices. They mostly all do
> scatter gather (SG) onboard as an intelligent processing operation and
> they're very good at it.
So is it valid to affirm that on average an operation with one SG element pointing to a 1MB
region is similar in speed to an operation with 16 SG elements each pointing to a 64K
region due to the efficient onboard SG processing?
> No one has ever really measured an effect we can say "This is due to the
> card's SG engine". So, the rule we tend to follow is that if SG element
> reduction comes for free, we take it. The issue that actually causes
> problems isn't the reduction in processing overhead, it's that the
> device's SG list is usually finite in size and so it's worth conserving
> if we can; however it's mostly not worth conserving at the expense of
> processor cycles.
>
> The bottom line is that the I/O (block) subsystem is very efficient at
> coalescing (both in block space and in physical memory space) and we've
> got it to the point where it's about as efficient as it can be. If
> you're going to give us better physical contiguity properties, we'll
> take them, but if you spend extra cycles doing it, the chances are
> you'll slow down the I/O throughput path.
OK! thanks.
WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: James Bottomley <jejb@steeleye.com>
Cc: Mel Gorman <mel@csn.ul.ie>,
William Lee Irwin III <wli@holomorphy.com>,
Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Grant Grundler <grundler@parisc-linux.org>
Subject: Re: [PATCH] Avoiding fragmentation through different allocator
Date: Mon, 24 Jan 2005 13:49:27 -0200 [thread overview]
Message-ID: <20050124154927.GJ5925@logos.cnet> (raw)
In-Reply-To: <1106585052.5513.26.camel@mulgrave>
On Mon, Jan 24, 2005 at 10:44:12AM -0600, James Bottomley wrote:
> On Mon, 2005-01-24 at 10:29 -0200, Marcelo Tosatti wrote:
> > Since the pages which compose IO operations are most likely sparse (not physically contiguous),
> > the driver+device has to perform scatter-gather IO on the pages.
> >
> > The idea is that if we can have larger memory blocks scatter-gather IO can use less SG list
> > elements (decreased CPU overhead, decreased device overhead, faster).
> >
> > Best scenario is where only one sg element is required (ie one huge physically contiguous block).
> >
> > Old devices/unprepared drivers which are not able to perform SG/IO
> > suffer with sequential small sized operations.
> >
> > I'm far away from being a SCSI/ATA knowledgeable person, the storage people can
> > help with expertise here.
> >
> > Grant Grundler and James Bottomley have been working on this area, they might want to
> > add some comments to this discussion.
> >
> > It seems HP (Grant et all) has pursued using big pages on IA64 (64K) for this purpose.
>
> Well, the basic advice would be not to worry too much about
> fragmentation from the point of view of I/O devices. They mostly all do
> scatter gather (SG) onboard as an intelligent processing operation and
> they're very good at it.
So is it valid to affirm that on average an operation with one SG element pointing to a 1MB
region is similar in speed to an operation with 16 SG elements each pointing to a 64K
region due to the efficient onboard SG processing?
> No one has ever really measured an effect we can say "This is due to the
> card's SG engine". So, the rule we tend to follow is that if SG element
> reduction comes for free, we take it. The issue that actually causes
> problems isn't the reduction in processing overhead, it's that the
> device's SG list is usually finite in size and so it's worth conserving
> if we can; however it's mostly not worth conserving at the expense of
> processor cycles.
>
> The bottom line is that the I/O (block) subsystem is very efficient at
> coalescing (both in block space and in physical memory space) and we've
> got it to the point where it's about as efficient as it can be. If
> you're going to give us better physical contiguity properties, we'll
> take them, but if you spend extra cycles doing it, the chances are
> you'll slow down the I/O throughput path.
OK! thanks.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2005-01-24 19:32 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-20 10:13 [PATCH] Avoiding fragmentation through different allocator Mel Gorman
2005-01-20 10:13 ` Mel Gorman
2005-01-21 14:28 ` Marcelo Tosatti
2005-01-21 14:28 ` Marcelo Tosatti
2005-01-22 21:48 ` Mel Gorman
2005-01-22 21:48 ` Mel Gorman
2005-01-22 21:59 ` Marcelo Tosatti
2005-01-22 21:59 ` Marcelo Tosatti
2005-01-23 13:28 ` Marcelo Tosatti
2005-01-23 13:28 ` Marcelo Tosatti
2005-01-24 13:28 ` Mel Gorman
2005-01-24 13:28 ` Mel Gorman
2005-01-24 12:29 ` Marcelo Tosatti
2005-01-24 12:29 ` Marcelo Tosatti
2005-01-24 16:44 ` James Bottomley
2005-01-24 16:44 ` James Bottomley
2005-01-24 15:49 ` Marcelo Tosatti [this message]
2005-01-24 15:49 ` Marcelo Tosatti
2005-01-24 20:36 ` James Bottomley
2005-01-24 20:36 ` James Bottomley
2005-01-24 20:47 ` Steve Lord
2005-01-24 20:47 ` Steve Lord
2005-01-25 7:39 ` Andi Kleen
2005-01-25 7:39 ` Andi Kleen
2005-01-24 19:55 ` Grant Grundler
2005-01-24 19:55 ` Grant Grundler
-- strict thread matches above, loose matches on Subject: below --
2005-01-25 14:02 Mukker, Atul
2005-01-25 14:02 ` Mukker, Atul
2005-01-25 14:17 ` Steve Lord
2005-01-25 14:17 ` Steve Lord
2005-01-25 14:27 ` Christoph Hellwig
2005-01-25 14:27 ` Christoph Hellwig
2005-01-25 14:49 ` Andi Kleen
2005-01-25 14:49 ` Andi Kleen
2005-01-25 14:56 ` Andi Kleen
2005-01-25 14:56 ` Andi Kleen
2005-01-25 16:12 ` Mel Gorman
2005-01-25 16:12 ` Mel Gorman
2005-01-25 18:50 ` Grant Grundler
2005-01-25 18:50 ` Grant Grundler
2005-01-20 10:12 Mel Gorman
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=20050124154927.GJ5925@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=grundler@parisc-linux.org \
--cc=jejb@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=wli@holomorphy.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.