All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <bharrosh@panasas.com>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: open-iscsi@googlegroups.com, Karen Xie <kxie@chelsio.com>,
	linux-scsi@vger.kernel.org,
	James.Bottomley@HansenPartnership.com
Subject: Re: [PATCH 2/2 2.6.29] cxgb3i - accelerating open-iscsi initiator
Date: Tue, 09 Dec 2008 20:42:05 +0200	[thread overview]
Message-ID: <493EBBFD.4040607@panasas.com> (raw)
In-Reply-To: <493EA68B.9090902@cs.wisc.edu>

Mike Christie wrote:
> Boaz Harrosh wrote:
> 
>>> +	if (!ddp) {
>>> +		ddp_log_warn("%s unable to alloc ddp 0x%d, ddp disabled.\n",
>>> +			     tdev->name, ppmax);
>>> +		return 0;
>>> +	}
>>> +	ddp->gl_map = (struct cxgb3i_gather_list **)(ddp + 1);
>>> +	ddp->gl_skb = (struct sk_buff **)(((char *)ddp->gl_map) +
>>> +					  ppmax *
>>> +					  sizeof(struct cxgb3i_gather_list *));
>>> +	spin_lock_init(&ddp->map_lock);
>>> +
>>> +	ddp->tdev = tdev;
>>> +	ddp->pdev = uinfo.pdev;
>>> +	ddp->max_txsz = min_t(unsigned int, uinfo.max_txsz, ULP2_MAX_PKT_SIZE);
>>> +	ddp->max_rxsz = min_t(unsigned int, uinfo.max_rxsz, ULP2_MAX_PKT_SIZE);
>> Please note that from what I understand, only the out-going headers can be
>> big, like iscsi_cmd header. But the in-coming headers are always size_of(struct iscsi_hdr).
>> So there is no symmetry here. Actually only iscsi_cmd can get big, the other out-going 
>> data packets are with small headers, but I guess that is an open-iscsi limitation.
>>
>> Mike correct me if I'm wrong?
> 
> Yeah, correct. Other iscsi pdus like tmfs and scsi data out could have 
> ahs but we do not support it. You did the code, so I assumed you only 
> did what you needed and could test.
> 
> On the recv side, I thought scsi cmd response or scsi data-in could have 
> ahses, but libiscsi_tcp/libiscsi just reads as much as it can in and 
> does not process it (actually it only reads in as much buffer space as 
> it has then fails if we overflow). I believe Olaf did this code to be 
> complete as he could with the existing code for the future, and to make 
> sure his abstraction would work for ahs if we needed it.

Yes you are right. I guess none of the targets send AHSs since otherwise
our initiator would fail on that particular packet.

It's time for me to go and look at why would a target send one.
It might be better to make a small enhancement and jump over
iscsi_hdr->hlength just throwing the data away, as a matter of error handling.
Better then failing the command completely.
That is if the AHS is just optional information.

I'll look into it.

Thanks
Boaz

  reply	other threads:[~2008-12-09 18:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-08 20:30 [PATCH 2/2 2.6.29] cxgb3i - accelerating open-iscsi initiator Karen Xie
2008-12-08 21:21 ` Mike Christie
2008-12-09 14:37 ` Boaz Harrosh
2008-12-09 17:10   ` Mike Christie
2008-12-09 18:42     ` Boaz Harrosh [this message]
2008-12-09 18:42   ` Karen Xie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=493EBBFD.4040607@panasas.com \
    --to=bharrosh@panasas.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=kxie@chelsio.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=open-iscsi@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.