Re: Integration of SCST in the mainstream Linux kernel

Bart Van Assche
2008-01-30T17:03:29Z

On Jan 30, 2008 5:22 PM, James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
> ...
> Deciding what lives in userspace and what should be in the kernel lies
> at the very heart of architectural decisions. However, the argument
> that "it should be in the kernel because that would make it faster" is
> pretty much a discredited one. To prevail on that argument, you have to
> demonstrate that there's no way to enable user space to do the same
> thing at the same speed. Further, it was the same argument used the
> last time around when the STGT vs SCST investigation was done. Your own
> results on non-IB networks show that both architectures perform at the
> same speed. That tends to support the conclusion that there's something
> specific about IB that needs to be tweaked or improved for STGT to get
> it to perform correctly.

You should know that given two different implementations in software of the
same communication protocol, differences in latency and throughput become
more visible as the network latency gets lower and the throughput gets higher.
That's why conclusions can only be drawn from the InfiniBand numbers, and
not from the 1 Gbit/s Ethernet numbers. Assuming that there is something
specific in STGT with regard to InfiniBand is speculation.

> Furthermore, if you have already decided before testing that SCST is
> right and that STGT is wrong based on the architectures, it isn't
> exactly going to increase my confidence in your measurement methodology
> claiming to show this, now is it?

I did not draw any conclusions from the architecture -- the only data I based my
conclusions on were my own performance measurements.

> ...
> These are both features being independently worked on, are they not?
> Even if they weren't, the combination of the size of SCST in kernel plus
> the problem of having to find a migration path for the current STGT
> users still looks to me to involve the greater amount of work.

My proposal was to have both the SCST kernel code and the STGT kernel
code in the mainstream Linux kernel. This would make it easier for current
STGT users to evaluate SCST. It's too early to choose one of the two
projects -- this choice can be made later on.

Bart.