On Wed, 07 May 2008 13:57:40 +0300 Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote: > Let me please explain a bit on my sense_buffer patchset and where I was going > with these: > > Currently every ULD/Initiator that pushes request to block devices puts a sense > buffer of SCSI_SENSE_BUFFERSIZE size onto request->sense pointer. scsi-midlayer > shadows that buffer, for what it thought as a DMAable buffer for drivers, and at > completion of request copies the shadow buffer back into ULD's buffer. > > I have observed three uses of sense_buffer handling in scsi drivers: I just had a quick look at only some of patches, but where do you allocate rq->sense for fs requests? Here are some comments: scsi_eh: Define API for driver private sense allocation +struct scsi_sense_elem { + union { + struct scsi_sense_elem *next; + u8 sense_data[SCSI_SENSE_BUFFERSIZE] ____cacheline_aligned; + }; +} ____cacheline_aligned; I think that this is wrong since all the architecutures don't have such dma restriction. ARCH_KMALLOC_MINALIGN? There is the same code in The libata patch at least. I guess there are more. -- 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