From: Frank Blaschka <blaschka@linux.vnet.ibm.com>
To: Bastian Blank <bastian@waldi.eu.org>,
davem@davemloft.net, netdev@vger.kernel.org,
linux-s390@vger.kernel.org,
Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Subject: Re: [patch 1/5] [PATCH] qeth: HiperSockets SIGA retry support on CC=2.
Date: Thu, 27 Aug 2009 10:05:34 +0200 [thread overview]
Message-ID: <4A963E4E.4020405@linux.vnet.ibm.com> (raw)
In-Reply-To: <20090827070547.GA32106@wavehammer.waldi.eu.org>
Bastian Blank schrieb:
> On Wed, Aug 26, 2009 at 02:01:06PM +0200, frank.blaschka@de.ibm.com wrote:
>> Qeth HiperSockets support now retries sending of packets when the
>> IBM System z signals a temporary resource shortage (e.g. target
>> buffer full). The packet is enqueued into the device queue.
>> After 3 times of unsuccessful send the packet is dropped.
>
> What is the reason for that? How large is the timeout for each retry?
> Usually the upper layers should already handle dropped packages fine and
> adding another retry below can produce retry multiplication.
>
HiperSocket is very different from usual network hardware. Microcode can
notify the driver the target of an xmit can not receive the packet because of
a target buffer full condition (this is the queue->sync_iqdio_error == 2 error
code). The buffer full condition is only for the target of the xmit not the
senders hardware. There is no timeout for the retry. The retry is more or less
immediately. If the target buffer full is only a temporary(short) condition we
can stay at a higher throughput level because TCP congestion does not kick in.
>> @@ -3178,6 +3203,25 @@ int qeth_do_send_packet_fast(struct qeth
>> atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED);
>> qeth_fill_buffer(queue, buffer, skb, hdr, offset, hd_len);
>> qeth_flush_buffers(queue, index, 1);
>> + if (queue->sync_iqdio_error == 2) {
>
> Is this a magic constant?
>
> Bastian
>
next prev parent reply other threads:[~2009-08-27 8:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-26 12:01 [patch 0/5] s390: qeth patches for 2.6.32 frank.blaschka
2009-08-26 12:01 ` [patch 1/5] [PATCH] qeth: HiperSockets SIGA retry support on CC=2 frank.blaschka
2009-08-27 7:05 ` Bastian Blank
2009-08-27 8:05 ` Frank Blaschka [this message]
2009-08-26 12:01 ` [patch 2/5] [PATCH] qeth: scheduling while atomic during ifconfig online sequence frank.blaschka
2009-08-26 12:01 ` [patch 3/5] [PATCH] qeth: Cleanup for cast-type determination frank.blaschka
2009-08-26 12:01 ` [patch 4/5] [PATCH] qeth: display service_level info only when valid frank.blaschka
2009-08-26 12:01 ` [patch 5/5] [PATCH] qeth: display "undefined" value of sysfs-attribute "layer2" frank.blaschka
2009-08-27 0:35 ` [patch 0/5] s390: qeth patches for 2.6.32 David Miller
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=4A963E4E.4020405@linux.vnet.ibm.com \
--to=blaschka@linux.vnet.ibm.com \
--cc=bastian@waldi.eu.org \
--cc=davem@davemloft.net \
--cc=kdwacker@de.ibm.com \
--cc=linux-s390@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).