All of lore.kernel.org
 help / color / mirror / Atom feed
* SG_ALL definition
@ 2010-08-20  7:18 Bernd Schubert
  2010-08-23 17:57 ` Boaz Harrosh
  0 siblings, 1 reply; 2+ messages in thread
From: Bernd Schubert @ 2010-08-20  7:18 UTC (permalink / raw)
  To: linux-scsi

>From ancient times SG_ALL was defined as 0xff = 255. Rather likely for that 
reason we see lots of IO requests of size 1020 from drivers that do not 
support sg-chaining yet. And IO sizes of 1020 are a nightmare for DDN 
hardware. Is there a chance to increase that to 256 by default? 
Lustre includes a kernel patch to that for RHEL5 kernel and it greatly helps 
to get correct IO sizes. 


Thanks,
Bernd

-- 
Bernd Schubert
DataDirect Networks

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

* Re: SG_ALL definition
  2010-08-20  7:18 SG_ALL definition Bernd Schubert
@ 2010-08-23 17:57 ` Boaz Harrosh
  0 siblings, 0 replies; 2+ messages in thread
From: Boaz Harrosh @ 2010-08-23 17:57 UTC (permalink / raw)
  To: Bernd Schubert; +Cc: linux-scsi

On 08/20/2010 10:18 AM, Bernd Schubert wrote:
> From ancient times SG_ALL was defined as 0xff = 255. Rather likely for that 
> reason we see lots of IO requests of size 1020 from drivers that do not 
> support sg-chaining yet. 

No, it's not chaining related. For example on 64 bit the max before chaining is
128. A 255 will give you two chain segments. (The last one max-1 entries).
At the time there was an host bit to say no_chaining, once all drivers where
converted it was dropped.

I have an ancient tree that removes the definition of SG_ALL. Each driver
has a specific use of it. From easy to hard dependency these are the rough
groups.

a. infinity, these where converted to ~0
b. There is other limiting number like max_sectors so this indicates an,
   at the time, infinity.
c. Resources are dynamically allocated up to that size
d. Resources statically allocated before hand to this size.
e. Some random crazy code

> And IO sizes of 1020 are a nightmare for DDN 
> hardware. Is there a chance to increase that to 256 by default? 
> Lustre includes a kernel patch to that for RHEL5 kernel and it greatly helps 
> to get correct IO sizes. 
> 

Do you mean on the Lustre user-mode target machine? The surgery must be per
LLD driver. Most of the ones people care about where fixed.

(You might be able to inspect it here:
   git://git.bhalevy.com/linux-open-osd boaz-scsi/z__OLD_SG_ALL
 Tell me if you want something more public.)

Have you checked out the block layer nubs for setting maximum request sizes?

> 
> Thanks,
> Bernd
> 

Boaz

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

end of thread, other threads:[~2010-08-23 17:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-20  7:18 SG_ALL definition Bernd Schubert
2010-08-23 17:57 ` Boaz Harrosh

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.