linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* I/O Request [Elevator; Clustering; Scatter-Gather]
@ 2003-03-04 13:32 David Anderson
  2003-03-04 13:50 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: David Anderson @ 2003-03-04 13:32 UTC (permalink / raw)
  To: linux-scsi; +Cc: linux-kernel


Hi,
I have been going through some documentation that talks of clustering, scatter-gather and elevator being used to improve performance. I am confused between these :

This is what I have understood :
Elevator
The job of the elevator is to sort I/O requests to disk drives in such a way that the disk head moving in the same direction for maximum performance. Have been able to locate the code for the same.

Clustering
Combines multiple requests to adjecent blocks into a single request. Have not been able to find the code which carries this out. Any clue on where this is done in the linux source code ??

Do Clustering of request and scatter-gather mean the same ?? Confused to the core... Kindly help me ...

Thanks and Regards,
David Anderson
-- 
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


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

* Re: I/O Request [Elevator; Clustering; Scatter-Gather]
  2003-03-04 13:32 I/O Request [Elevator; Clustering; Scatter-Gather] David Anderson
@ 2003-03-04 13:50 ` Jens Axboe
  2003-03-04 21:10   ` Daniel Phillips
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2003-03-04 13:50 UTC (permalink / raw)
  To: David Anderson; +Cc: linux-scsi, linux-kernel

On Tue, Mar 04 2003, David Anderson wrote:
> 
> Hi, I have been going through some documentation that talks of
> clustering, scatter-gather and elevator being used to improve
> performance. I am confused between these :
> 
> This is what I have understood : Elevator The job of the elevator is
> to sort I/O requests to disk drives in such a way that the disk head
> moving in the same direction for maximum performance. Have been able
> to locate the code for the same.
> 
> Clustering Combines multiple requests to adjecent blocks into a single
> request. Have not been able to find the code which carries this out.
> Any clue on where this is done in the linux source code ??

Both actions are performed by the elevator in Linux. You did not mention
which kernel you are looking at, for 2.4 you need to read
drivers/block/ll_rw_blk.c and drivers/block/elevator.c. For 2.5, read
the same files and drivers/block/deadline-iosched.c in addition.

> Do Clustering of request and scatter-gather mean the same ?? Confused
> to the core... Kindly help me ...

No, the elevator clustering refers to clustering request that are
contigious on disk. Scatter-gather may cluster sg entries that are
contigious in memory.

-- 
Jens Axboe


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

* Re: I/O Request [Elevator; Clustering; Scatter-Gather]
  2003-03-04 21:10   ` Daniel Phillips
@ 2003-03-04 14:20     ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2003-03-04 14:20 UTC (permalink / raw)
  To: Daniel Phillips; +Cc: David Anderson, linux-scsi, linux-kernel

On Tue, Mar 04 2003, Daniel Phillips wrote:
> On Tuesday 04 March 2003 14:50, Jens Axboe wrote:
> > > Do Clustering of request and scatter-gather mean the same ?? Confused
> > > to the core... Kindly help me ...
> >
> > No, the elevator clustering refers to clustering request that are
> > contigious on disk. Scatter-gather may cluster sg entries that are
> > contigious in memory.
> 
> Hi Jens,
> 
> I think you meant to write *non*contiguous in memory (but contiguous on the 
> device).

No I didn't. Well actually both may happen, depending on your hardware.
What I wrote covers basic x86 hardware.

-- 
Jens Axboe


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

* Re: I/O Request [Elevator; Clustering; Scatter-Gather]
  2003-03-04 13:50 ` Jens Axboe
@ 2003-03-04 21:10   ` Daniel Phillips
  2003-03-04 14:20     ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Phillips @ 2003-03-04 21:10 UTC (permalink / raw)
  To: Jens Axboe, David Anderson; +Cc: linux-scsi, linux-kernel

On Tuesday 04 March 2003 14:50, Jens Axboe wrote:
> > Do Clustering of request and scatter-gather mean the same ?? Confused
> > to the core... Kindly help me ...
>
> No, the elevator clustering refers to clustering request that are
> contigious on disk. Scatter-gather may cluster sg entries that are
> contigious in memory.

Hi Jens,

I think you meant to write *non*contiguous in memory (but contiguous on the 
device).

Regards,

Daniel

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

* Re: I/O Request [Elevator; Clustering; Scatter-Gather]
@ 2003-03-04 14:11 David Anderson
  0 siblings, 0 replies; 5+ messages in thread
From: David Anderson @ 2003-03-04 14:11 UTC (permalink / raw)
  To: axboe, david-anderson2003; +Cc: linux-scsi, linux-kernel

Hi,

Thanks a lot for the reply...
I am using linux 2.4.

Got mislead with the statement in "Linux Device Drivers"  

"Most high-performance disk controllers can do “scatter/gather” I/O as well, leading to
large performance gains."

Thanks and Regards,
David Anderson

----- Original Message -----
From: Jens Axboe <axboe@suse.de>
Date: Tue, 4 Mar 2003 14:50:00 +0100
To: David Anderson <david-anderson2003@mail.com>
Subject: Re: I/O Request [Elevator; Clustering; Scatter-Gather]

> On Tue, Mar 04 2003, David Anderson wrote:
> > 
> > Hi, I have been going through some documentation that talks of
> > clustering, scatter-gather and elevator being used to improve
> > performance. I am confused between these :
> > 
> > This is what I have understood : Elevator The job of the elevator is
> > to sort I/O requests to disk drives in such a way that the disk head
> > moving in the same direction for maximum performance. Have been able
> > to locate the code for the same.
> > 
> > Clustering Combines multiple requests to adjecent blocks into a single
> > request. Have not been able to find the code which carries this out.
> > Any clue on where this is done in the linux source code ??
> 
> Both actions are performed by the elevator in Linux. You did not mention
> which kernel you are looking at, for 2.4 you need to read
> drivers/block/ll_rw_blk.c and drivers/block/elevator.c. For 2.5, read
> the same files and drivers/block/deadline-iosched.c in addition.
> 
> > Do Clustering of request and scatter-gather mean the same ?? Confused
> > to the core... Kindly help me ...
> 
> No, the elevator clustering refers to clustering request that are
> contigious on disk. Scatter-gather may cluster sg entries that are
> contigious in memory.
> 
> -- 
> Jens Axboe
> 

-- 
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


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

end of thread, other threads:[~2003-03-04 14:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-04 13:32 I/O Request [Elevator; Clustering; Scatter-Gather] David Anderson
2003-03-04 13:50 ` Jens Axboe
2003-03-04 21:10   ` Daniel Phillips
2003-03-04 14:20     ` Jens Axboe
2003-03-04 14:11 David Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).