Re: Disable aggregation of requests

2009-02-19 Thread Erez Zilber

On Wed, Feb 18, 2009 at 10:09 PM, Boaz Harrosh bharr...@panasas.com wrote:

 Mike Christie wrote:
 Erez Zilber wrote:
 On Tue, Feb 17, 2009 at 11:35 PM, Mike Christie micha...@cs.wisc.edu 
 wrote:
 Erez Zilber wrote:
 Hi,

 I'm running a setup of open-iscsi connected to a target. When I run
 I/O from the initiator (e.g using dd) with transaction size of 128kB,
 I sometimes see that 2 128kB requests are aggregated to a single 256kB
 request. This is rare, but it happens from time to time. Can I disable
 this feature? Who is responsible for that? Is it scsi-ml?

 block layer.

 /sys/block/sdX/queue/max_sectors_kb
 Thanks, but this will limit the I/O size for all I/Os. What I forgot
 to mention is that sometimes I also send larger I/Os (e.g. 512kB).
 With the proposed solution, these large I/Os will be sent as multiple
 128kB I/Os (and affect the performance). Isn't there a way to simply
 avoid this aggregation?


 Not that I know of when going through the block layer. I think you will
 have to ask lkml.

 I think the only way to control it is the  bsg/sg/passthrough route
 since that does not do merging. The other alternative is to just hack
 the code to do what you want :)


 You can select the no-op I/O elevator and you can also use direct IO
 like with sg_dd from the sg_utils package


I'm using noop already, but that didn't help. I'll try to ask in lkml.

Thanks,
Erez

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-19 Thread Boaz Harrosh

Erez Zilber wrote:

 You can select the no-op I/O elevator and you can also use direct IO
 like with sg_dd from the sg_utils package

 
 I'm using noop already, but that didn't help. I'll try to ask in lkml.
 
 Thanks,
 Erez
 

Using the sg3-utils package sg_dd command you can issue individual
scsi_command reads/writes with exactly the size you want.

(Tell me if you need example script)

Cheers
Boaz


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-19 Thread Boaz Harrosh

Or Gerlitz wrote:
 Boaz Harrosh wrote:
 You can select the no-op I/O elevator and you can also use direct IO
 like with sg_dd from the sg_utils package
   
 Does anyone know why noop is not the default I/O scheduler?
 

It is a very bad idea in case of using a filesystem which is usually
the point.

 Or.
 
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-19 Thread Konrad Rzeszutek

On Thu, Feb 19, 2009 at 09:13:10PM +0200, Boaz Harrosh wrote:
 
 Or Gerlitz wrote:
  Boaz Harrosh wrote:
  You can select the no-op I/O elevator and you can also use direct IO
  like with sg_dd from the sg_utils package

  Does anyone know why noop is not the default I/O scheduler?
.. snip..
 It is a very bad idea in case of using a filesystem which is usually
 the point.

Could you elaborate a bit more please?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-19 Thread Mark van Walraven

On Thu, Feb 19, 2009 at 09:28:31PM +0200, Or Gerlitz wrote:
 Sorry, but why file system over block device whose scheduler being
 noop is a bad idea?

The noop scheduler doesn't re-order requests, so concurrent accesses to
multiple files will cause lots of extra seeking and throughput collapses.

The cfq and anticipatory schedulers will delay some I/O requests in
order to increase the physical locality of sequences of requests.
Deadline also does this to a lesser extent.

Which is best really depends on your access patterns.  If you mostly
just do long sequences of reads or writes, noop generally wins because
of its lower latency and minimal overhead.  Even if there are multiple
users of the filesystem, noop often isn't too bad because a lot of drives
and HBAs do their own re-ordering behind the scenes.

In my experience, noop works well on the initiator.  On the target,
deadline is slightly better than noop on the target for the workloads
I see, on my equipment, YMMV.

Regards,

Mark.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-19 Thread Or Gerlitz

On Thu, Feb 19, 2009 at 9:53 PM, Mark van Walraven ma...@netvalue.net.nz 

 In my experience, noop works well on the initiator.  On the target,
 deadline is slightly better than noop on the target for the workloads
 I see, on my equipment, YMMV.

Thanks a lot for sharing your experience and thoughts, any good
article/paper (e.g OLS) you can recommend on this matter?

Or.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-18 Thread Ulrich Windl

On 18 Feb 2009 at 8:44, Erez Zilber wrote:

 
 On Tue, Feb 17, 2009 at 11:35 PM, Mike Christie micha...@cs.wisc.edu wrote:
 
  Erez Zilber wrote:
  Hi,
 
  I'm running a setup of open-iscsi connected to a target. When I run
  I/O from the initiator (e.g using dd) with transaction size of 128kB,
  I sometimes see that 2 128kB requests are aggregated to a single 256kB
  request. This is rare, but it happens from time to time. Can I disable
  this feature? Who is responsible for that? Is it scsi-ml?
 
 
  block layer.
 
  /sys/block/sdX/queue/max_sectors_kb
 
 Thanks, but this will limit the I/O size for all I/Os. What I forgot
 to mention is that sometimes I also send larger I/Os (e.g. 512kB).
 With the proposed solution, these large I/Os will be sent as multiple
 128kB I/Os (and affect the performance). Isn't there a way to simply
 avoid this aggregation?

Hi!

May I curiously ask why you would want that at all? In my experience, the 
larger 
the requests, and the more requests are packed into one packet, the better the 
performance.

Regards,
Ulrich


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-18 Thread Erez Zilber

On Wed, Feb 18, 2009 at 10:36 AM, Ulrich Windl
ulrich.wi...@rz.uni-regensburg.de wrote:

 On 18 Feb 2009 at 8:44, Erez Zilber wrote:


 On Tue, Feb 17, 2009 at 11:35 PM, Mike Christie micha...@cs.wisc.edu wrote:
 
  Erez Zilber wrote:
  Hi,
 
  I'm running a setup of open-iscsi connected to a target. When I run
  I/O from the initiator (e.g using dd) with transaction size of 128kB,
  I sometimes see that 2 128kB requests are aggregated to a single 256kB
  request. This is rare, but it happens from time to time. Can I disable
  this feature? Who is responsible for that? Is it scsi-ml?
 
 
  block layer.
 
  /sys/block/sdX/queue/max_sectors_kb

 Thanks, but this will limit the I/O size for all I/Os. What I forgot
 to mention is that sometimes I also send larger I/Os (e.g. 512kB).
 With the proposed solution, these large I/Os will be sent as multiple
 128kB I/Os (and affect the performance). Isn't there a way to simply
 avoid this aggregation?

 Hi!

 May I curiously ask why you would want that at all? In my experience, the 
 larger
 the requests, and the more requests are packed into one packet, the better the
 performance.


That is correct, but sometimes you allocate resources according to
some assumptions (e.g. commmand size not bigger than X). If the
assumptions breaks, bad things happen...

Erez

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-17 Thread Mike Christie

Erez Zilber wrote:
 Hi,
 
 I'm running a setup of open-iscsi connected to a target. When I run
 I/O from the initiator (e.g using dd) with transaction size of 128kB,
 I sometimes see that 2 128kB requests are aggregated to a single 256kB
 request. This is rare, but it happens from time to time. Can I disable
 this feature? Who is responsible for that? Is it scsi-ml?
 

block layer.

/sys/block/sdX/queue/max_sectors_kb

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Disable aggregation of requests

2009-02-17 Thread Erez Zilber

On Tue, Feb 17, 2009 at 11:35 PM, Mike Christie micha...@cs.wisc.edu wrote:

 Erez Zilber wrote:
 Hi,

 I'm running a setup of open-iscsi connected to a target. When I run
 I/O from the initiator (e.g using dd) with transaction size of 128kB,
 I sometimes see that 2 128kB requests are aggregated to a single 256kB
 request. This is rare, but it happens from time to time. Can I disable
 this feature? Who is responsible for that? Is it scsi-ml?


 block layer.

 /sys/block/sdX/queue/max_sectors_kb

Thanks, but this will limit the I/O size for all I/Os. What I forgot
to mention is that sometimes I also send larger I/Os (e.g. 512kB).
With the proposed solution, these large I/Os will be sent as multiple
128kB I/Os (and affect the performance). Isn't there a way to simply
avoid this aggregation?

Thanks,
Erez

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---