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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html