On Wed, Jan 16, 2008 at 01:32:17PM +0900, FUJITA Tomonori wrote: > This removes static array sense_buffer in scsi_cmnd and uses > dynamically allocated sense_buffer (with GFP_DMA). > > The reason for doing this is that some architectures need cacheline > aligned buffer for DMA: > > http://lkml.org/lkml/2007/11/19/2 > > The problems are that scsi_eh_prep_cmnd puts scsi_cmnd::sense_buffer > to sglist and some LLDs directly DMA to scsi_cmnd::sense_buffer. It's > necessary to DMA to scsi_cmnd::sense_buffer safely. This patch solves > these issues. > > __scsi_get_command allocates sense_buffer via kmem_cache_alloc and > attaches it to a scsi_cmnd so everything just work as before. I think this is fine for the moment. Longer-term, I want to allow low-level drivers to allocate the sense_buffer themselves so they can DMA directly into it (ie grown-up dma mapping, rather than this quaint x86 __GFP_DMA). This patch doesn't get us any closer to that, but it doesn't get us further away from it either. -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." - 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