From: Ed L Cashin <ecashin@coraid.com>
To: Andi Kleen <ak@muc.de>
Cc: Jens Axboe <axboe@suse.de>,
Linux Kernel List <linux-kernel@vger.kernel.org>,
jgarzik@pobox.com
Subject: Re: [BUG] ATA over Ethernet __init calling __exit
Date: Thu, 13 Jan 2005 17:12:21 -0500 [thread overview]
Message-ID: <87ekgp567u.fsf@coraid.com> (raw)
In-Reply-To: 20050113215346.GB1504@muc.de
Andi Kleen <ak@muc.de> writes:
> On Thu, Jan 13, 2005 at 03:52:05PM -0500, Ed L Cashin wrote:
>> Andi Kleen <ak@muc.de> writes:
>>
>> ...
>> > In general I think it was a bad idea to merge this driver at all.
>> > The protocol is obviously broken by design - they use a 16 bit sequence
>> > number space which has been proven for many years (in ip fragmentation)
>> > to be far too small for modern network performance.
>>
>> While that experience may apply well to IP, this is a non-IP protocol
>> for a single LAN. For any given AoE device, there are only a few
>> outstanding packets at any given time.
>>
>> For existing AoE devices that number of outstanding packets is only
>> three! So, with only three packets on the wire at any time for a
>> given device, 16 bits is overkill. In fact, the AoE protocol allows
>> the AoE device to specify how many outstanding packets it supports.
>> That number is only 16 bits wide.
>>
>> If it ever did become desirable, we could use a couple more bits for
>
> It likely will if someone ever adds significant write cache to such
> devices.
>
>> the sequence number by borrowing from the low bits of jiffies that we
>> use to estimate the RTT, but it doesn't seem likely to ever be
>> desirable.
>
> Can this be done now?
It seems rash to make the change now, because there is no need for it.
>> > Also the memory allocation without preallocation in the block write
>> > out path looks quite broken too and will most likely will lead to deadlocks
>> > under high load.
>> >
>> > (I wrote a detailed review when it was posted but apparently it
>> > disappeared or I never got any answer at least)
>>
>> I think you're talking about your suggestion that the skb allocation
>> could lead to a deadlock. If I'm correct, this issue is similar to
>> the one that led us to create a mempool for the buf structs we use.
>
> For the skbuffs? I don't think it's possible to preallocate them
> because the network stack (intentionally) misses hooks to give
> them back to you.
For the skbuffs, we could use a mempool with GFP_NOIO allocation and
then skb_get them before the network layer ever sees them. We already
keep track of the packets that we've sent out, so we'll just keep a
pointer to the skbuffs.
> BTW iirc your submit patch did too much allocations anyways because
> in modern Linux skbs you can just stick a pointer to the page
> into the skb when the device announces NETIF_F_SG.
I thought there was some shared information at the end of the data,
but that's interesting, thanks. I'll look into it.
--
Ed L Cashin <ecashin@coraid.com>
next prev parent reply other threads:[~2005-01-13 22:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-13 0:09 [BUG] ATA over Ethernet __init calling __exit Russell King
2005-01-13 8:50 ` Jens Axboe
2005-01-13 19:36 ` Andi Kleen
2005-01-13 20:52 ` Ed L Cashin
2005-01-13 21:53 ` Andi Kleen
2005-01-13 22:09 ` Alan Cox
2005-01-13 22:12 ` Ed L Cashin [this message]
2005-01-13 22:48 ` Andi Kleen
2005-01-13 22:59 ` Ed L Cashin
2005-01-13 17:35 ` [PATCH] " Ed L Cashin
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=87ekgp567u.fsf@coraid.com \
--to=ecashin@coraid.com \
--cc=ak@muc.de \
--cc=axboe@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@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