* jumbo frames and memory fragmentation
@ 2006-06-29 18:54 Chris Friesen
2006-06-30 13:01 ` Herbert Xu
0 siblings, 1 reply; 9+ messages in thread
From: Chris Friesen @ 2006-06-29 18:54 UTC (permalink / raw)
To: netdev
I'm running a system with multiple e1000 devices, using 9KB jumbo
frames. I'm running a modified 2.6.10 with e1000 driver 5.5.4-k2.
I'm a bit concerned about the behaviour of this driver with jumbo
frames. We ask for 9KB. The driver then bumps that up to a
power-of-two, so it calls dev_alloc_skb(16384). That then bumps it up a
bit to allow for its own overhead, so it appears that we end up asking
for 32KB of physically contiguous memory for every packet coming in. Ouch.
Add to that the fact that this version of the driver doesn't do
copybreak, and it means that after we're up for a few days it starts
complaining about not being able to allocate buffers.
Anyone have any suggestions on how to improve this? Upgrading kernels
isn't an option. I could port back the copybreak stuff fairly easily.
Back in 2.4 some of the drivers used to retry buffer allocations using
GFP_KERNEL once interrupts were reenabled. I don't see many of them
doing that anymore--would there be any benefit to that?
Thanks,
Chris
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-29 18:54 jumbo frames and memory fragmentation Chris Friesen
@ 2006-06-30 13:01 ` Herbert Xu
2006-06-30 17:53 ` Chris Friesen
0 siblings, 1 reply; 9+ messages in thread
From: Herbert Xu @ 2006-06-30 13:01 UTC (permalink / raw)
To: Chris Friesen; +Cc: netdev
Chris Friesen <cfriesen@nortel.com> wrote:
>
> Anyone have any suggestions on how to improve this? Upgrading kernels
> isn't an option. I could port back the copybreak stuff fairly easily.
Either upgrade your kernel or backport the page-splitting code in the
current tree. That's really the only sane solution for jumbo packets.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 13:01 ` Herbert Xu
@ 2006-06-30 17:53 ` Chris Friesen
2006-06-30 18:48 ` Evgeniy Polyakov
2006-07-13 12:13 ` Herbert Xu
0 siblings, 2 replies; 9+ messages in thread
From: Chris Friesen @ 2006-06-30 17:53 UTC (permalink / raw)
To: Herbert Xu; +Cc: netdev
Herbert Xu wrote:
> Either upgrade your kernel or backport the page-splitting code in the
> current tree. That's really the only sane solution for jumbo packets.
Looking at the page-splitting code, it says "82571 and greater support
packet-split...". We're running the 82546GB device. Looks like it
won't help me.
Chris
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 17:53 ` Chris Friesen
@ 2006-06-30 18:48 ` Evgeniy Polyakov
2006-06-30 23:35 ` Chris Friesen
2006-07-13 12:13 ` Herbert Xu
1 sibling, 1 reply; 9+ messages in thread
From: Evgeniy Polyakov @ 2006-06-30 18:48 UTC (permalink / raw)
To: Chris Friesen; +Cc: Herbert Xu, netdev
On Fri, Jun 30, 2006 at 11:53:36AM -0600, Chris Friesen (cfriesen@nortel.com) wrote:
> >Either upgrade your kernel or backport the page-splitting code in the
> >current tree. That's really the only sane solution for jumbo packets.
>
> Looking at the page-splitting code, it says "82571 and greater support
> packet-split...". We're running the 82546GB device. Looks like it
> won't help me.
It definitely will.
Packet split in hardware means separating data and headers into
different pages in different reads, while software page split means that
skb has a list of fragments where part of the packet will be DMAed, so
jumbo frame will be converted into several pages.
--
Evgeniy Polyakov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 18:48 ` Evgeniy Polyakov
@ 2006-06-30 23:35 ` Chris Friesen
2006-07-01 0:04 ` Jesse Brandeburg
2006-07-08 22:25 ` Evgeniy Polyakov
0 siblings, 2 replies; 9+ messages in thread
From: Chris Friesen @ 2006-06-30 23:35 UTC (permalink / raw)
To: Evgeniy Polyakov; +Cc: Herbert Xu, netdev
Evgeniy Polyakov wrote:
> It definitely will.
> Packet split in hardware means separating data and headers into
> different pages in different reads, while software page split means that
> skb has a list of fragments where part of the packet will be DMAed, so
> jumbo frame will be converted into several pages.
Maybe I'm looking at the wrong code then. Can you point me to where
this "software page split" is handled?
Chris
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 23:35 ` Chris Friesen
@ 2006-07-01 0:04 ` Jesse Brandeburg
2006-07-08 22:25 ` Evgeniy Polyakov
1 sibling, 0 replies; 9+ messages in thread
From: Jesse Brandeburg @ 2006-07-01 0:04 UTC (permalink / raw)
To: Chris Friesen; +Cc: Evgeniy Polyakov, Herbert Xu, netdev
On 6/30/06, Chris Friesen <cfriesen@nortel.com> wrote:
> Evgeniy Polyakov wrote:
>
> > It definitely will.
> > Packet split in hardware means separating data and headers into
> > different pages in different reads, while software page split means that
> > skb has a list of fragments where part of the packet will be DMAed, so
> > jumbo frame will be converted into several pages.
>
> Maybe I'm looking at the wrong code then. Can you point me to where
> this "software page split" is handled?
You're right, it isn't supported for your hardware. to solve the
problem (I got this from mailing lists) you probably need to adjust
the /proc/sys/vm/min_free_kbytes
let us know if this helps for you.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 23:35 ` Chris Friesen
2006-07-01 0:04 ` Jesse Brandeburg
@ 2006-07-08 22:25 ` Evgeniy Polyakov
1 sibling, 0 replies; 9+ messages in thread
From: Evgeniy Polyakov @ 2006-07-08 22:25 UTC (permalink / raw)
To: Chris Friesen; +Cc: Herbert Xu, netdev
On Fri, Jun 30, 2006 at 05:35:34PM -0600, Chris Friesen (cfriesen@nortel.com) wrote:
> Evgeniy Polyakov wrote:
>
> >It definitely will.
> >Packet split in hardware means separating data and headers into
> >different pages in different reads, while software page split means that
> >skb has a list of fragments where part of the packet will be DMAed, so
> >jumbo frame will be converted into several pages.
>
> Maybe I'm looking at the wrong code then. Can you point me to where
> this "software page split" is handled?
Yes, you are correct, e1000 only supports receiving page split for 82571 and
greater adapters.
> Chris
--
Evgeniy Polyakov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-06-30 17:53 ` Chris Friesen
2006-06-30 18:48 ` Evgeniy Polyakov
@ 2006-07-13 12:13 ` Herbert Xu
2006-07-17 17:16 ` Chris Friesen
1 sibling, 1 reply; 9+ messages in thread
From: Herbert Xu @ 2006-07-13 12:13 UTC (permalink / raw)
To: Chris Friesen; +Cc: herbert, netdev
Chris Friesen <cfriesen@nortel.com> wrote:
> Herbert Xu wrote:
>
>> Either upgrade your kernel or backport the page-splitting code in the
>> current tree. That's really the only sane solution for jumbo packets.
>
> Looking at the page-splitting code, it says "82571 and greater support
> packet-split...". We're running the 82546GB device. Looks like it
> won't help me.
Well, time to fork out for a new card then :)
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: jumbo frames and memory fragmentation
2006-07-13 12:13 ` Herbert Xu
@ 2006-07-17 17:16 ` Chris Friesen
0 siblings, 0 replies; 9+ messages in thread
From: Chris Friesen @ 2006-07-17 17:16 UTC (permalink / raw)
To: Herbert Xu; +Cc: netdev
Herbert Xu wrote:
> Chris Friesen <cfriesen@nortel.com> wrote:
>>Looking at the page-splitting code, it says "82571 and greater support
>>packet-split...". We're running the 82546GB device. Looks like it
>>won't help me.
>
>
> Well, time to fork out for a new card then :)
I wish. This is an embedded ATCA board. I'm not going to get a respin
just because it doesn't deal well with jumbo frames.
Chris
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-07-17 17:16 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-29 18:54 jumbo frames and memory fragmentation Chris Friesen
2006-06-30 13:01 ` Herbert Xu
2006-06-30 17:53 ` Chris Friesen
2006-06-30 18:48 ` Evgeniy Polyakov
2006-06-30 23:35 ` Chris Friesen
2006-07-01 0:04 ` Jesse Brandeburg
2006-07-08 22:25 ` Evgeniy Polyakov
2006-07-13 12:13 ` Herbert Xu
2006-07-17 17:16 ` Chris Friesen
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).