Hi Mike,

Thank you for being so helpful!

> What are you working on btw?

I observed a throughput degradation of open-iscsi over long RTT links.
I'm trying to understand the nature of this performance degradation
and possibly come up with some solution.

Thanks again,

On Feb 3, 2:36 am, Mike Christie <micha...@cs.wisc.edu> wrote:
> On 02/02/2010 09:57 PM, Jack Z wrote:
> > Hi all,
> > In the source code of ver 2.0.871 there's a struct
> > struct iscsi_segment {
> >    unsigned char           *data;
> >    unsigned int            size;
> >    unsigned int            copied;
> >    unsigned int            total_size;
> >    unsigned int            total_copied;
> >    ......
> >    iscsi_segment_done_fn_t *done;
> > };
> > My understanding is that "copied" is how many bytes are sent out in
> > the last round and "total_copied" is an accumulative value of how many
> > bytes have been sent out. Is that correct?
> > And what do "size" and "total_size" mean respectively?
> The segment represents the header or data segment that needs to be sent.
> That segment has a total_size which is all the bytes that need to be
> sent/recvd for it to be completely sent. The segment->size is what we
> are currently trying to send/recv for that segment. So we could have a
> data segment of 128K (so we want to send/recv 128K bytes), but we end up
> sending that down a page at a time to the net layer. So
> segment->totoal_size would be 128K and segment->size would be 4K (page
> size on x86 would be 4K).
> > Thank you very much! Any help would be highly appreciated.

You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-is...@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to