Re: [PATCH RFC 1/3] SCSI Userspace Target: scsi-ml changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James Bottomley wrote:
On Mon, 2006-02-06 at 11:54 -0600, Mike Christie wrote:

We actually need ths shost pointer becuase we do not represent the LU in the kernel. So we go from:

scsi_host -> host's uspace request_queue (used to pass commands and messages from the target LLD interrup handler to our netlink code/userspace -> in userspace we represent the target, device/LU, and host.

Tomo did you add a virtual scsi_device somewhere?


OK, well, the problem is that struct scsi_cmnd is allocated in the
critical I/O path.  The more elements it has, the more time it takes to
set up and tear down.  Kenneth Chen of intel has already produced
figures showing that you can get measurable I/O improvement simply by
dropping fields from it, so I'm very, very reluctant to increase its
size.


I understand. To make this worse, for the target code since we are mapping data like SG_IO block layer code (we used their functions) we need process context for the unmap. To handle this we added a work struct on the scsi_cmnd and the work struct is pretty large and only used for targets. We can move all the target specific to a:

scsi_tgt_cmnd {
	work;
	host;
};

And store out scsi_tgt_cmnd in the scsi_cmnd->host_scribble or somewhere on the SCp. Is that too hacky?
-
: 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux