On 07/09/2011 03:11 AM, Christoph Hellwig wrote: > On Fri, Jul 08, 2011 at 06:18:49PM -0700, Andy Grover wrote: >> The transports really don't need the entire struct se_cmd to allocate >> the memory for the se_task. If it wasn't for pscsi, they wouldn't even >> need the *cdb. >> >> Modify pscsi to allocate space for cdb at the end of pscsi_plugin_task, >> instead of a separate allocation. > > Nice one! Note that except for pscsi we really don't need se_tasks > to start with. I'm not sure how easy it is to move the whole task > logic into it, but just allowing the other transports to allocate a > single se_task + se_cmd + private data in one go should avoid one > more memory allocation. We can assume each se_cmd only needs 1 se_task??? I couldn't see where the max sectors per se_cmd was limited, therefore we needed to support cmds being broken up into se_sub_dev.max_sectors-size chunks, and therefore being >1 se_task per se_cmd, for all backstores not just pscsi? Regards -- Andy -- 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