Re: [ANNOUNCE] Generic SCSI Target Middle Level for Linux (SCST)with target drivers

From: Vladislav Bolkhovitin
Date: Thu Jun 17 2004 - 07:18:22 EST


Matthew Wilcox wrote:
On Wed, Jun 16, 2004 at 08:31:22PM +0400, Vladislav Bolkhovitin wrote:

Any comments would be appreciated.


The first obvious question is: Why does this need to be done in kernel
space? My impression was that an iSCSI target would best be done in
userspace.

The answer is quite obvious as well. There is not only iSCSI target (i.e. software one) in the world. For hardware targets if you were switch on each command (IRQ) to user space and back, it would be huge performance penalty, especially for commands that request small data transfers. Take a look on the Qlogic target: all job is done in the tasklet, without ever context switch. The same is for upcoming iSCSI hardware, like Qlogic QLA4010, which also supports target mode.

BTW, the processing is simple enough, the main SCST module is only about 60Kb long. The main point is that this processing must be done in _each_ SCSI target driver. So, consider SCSI target mid-level like a library (framework) for such drivers, exectly as the regular SCSI mid-level for regular SCSI drivers.

Thanks,
Vlad
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/