Re: [PATCH RFC] new iser code

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

 



Pete Wyckoff wrote:
> 
> Why did you duplicate so many shared iscsi functions?
> iser_scsi_cmd_done etc. should not know about the particulars of the
> transport.  You got rid of the whole transport abstraction?

There are few reasons. First, my initial motivation was to escape 
the api of iscsi sub-transports, because it did not suit well for iser. 
Then, the login and text code was not generic and became unusable
outside the above-mentioned api.
So i circumvented iscsi transport abstraction for iser, and duplicated
some other code, but if we formulate a new transport api 
suitable for both iscsi/tcp and iser then it can be brought back.
Actually this is one possibility for a new design, and i'd be happy 
to discuss it.

Perhaps you missed my explanations, posted previously on the list:
http://lists.wpkg.org/pipermail/stgt/2010-June/003842.html

>> This code seems to fix an occasional data corruption that happens
>> with the current version.
> 
> This would be interesting.  How about isolating the changes, and
> describing them one at a time?

If you mean the changes that fix the data corruption, then i can't 
isolate them. A large portion of the code was rewritten and then the bug
just did not seem to be there. I suspect it was related to the handling of
POLLIN/POLLOUT events, and getting rid of them was roughly the first things
that i strove to do.

>> The code implies RDMA-only mode of work. This means the first burst
>> incl. immediate data should be disabled, so that the entire data transfer
>> is performed using RDMA. It introduces some preparations for handling
>> other (general) scenarios, but as tgt has no framework for multi-buffer
>> commands, these extra code segments are either commented or conditioned
>> upon events that should never take place. All such places have a ToDo
>> comment over them.
> 
> Immediate data is a nice optimization for short writes.  I'd like to
> support it if possible.

Sure, i'm all in for it. But if we are going to get rid of mem.copies, then
the ability to submit scatter-gather lists as cmd data is necessary.
As I mentioned, in the new iser code, most of the preparations are in place.
It only lacks the "last-step", the actual translation of the buffer list 
into the SG vector, yet to be defined.

> I'm excited that you're starting to work on this, and contributing
> it back.  But it's hard to evaluate what you're doing in a big patch
> like this.

I've been thinking how to submit this work for quite a long time, 
given its "non-incremental" nature. Then I decided just to start somehow.
I've suggested to begin with the text functions first, and discuss 
the iscsi/iser "core" in the background.
I sent this big "as is" patch upon Tomo's request - it was intended as 
an illustration and RFC only.

Anyway, I will be happy to answer your specific questions about the code.

Alexander


--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux