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

Vladislav Bolkhovitin
2004-06-17T12:15:12Z

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