Re: Avoiding external fragmentation with a placement policy Version 12

Martin J. Bligh
2005-06-03T05:34:46Z

>> It would really help your cause in the short term if you can
>> demonstrate improvements for say order-3 allocations (eg. use
>> gige networking, TSO, jumbo frames, etc).
>
> TSO chops up the user data into PAGE_SIZE chunks, it doesn't
> make use of non-zero page orders.
>
> AF_UNIX sockets, however, will happily use higher order
> pages. But even this is limited to SKB_MAX_ORDER which
> is currently defined to 2.
>
> So the only way to get order 3 or larger allocations with
> the networking is to use jumbo frames but without TSO enabled.

One of the calls I got the other day was for loopback interface.
Default MTU is 16K, which seems to screw everything up and do higher
order allocs. Turning it down to under 4K seemed to fix things. I'm
fairly sure loopback doesn't really need phys contig memory, but it
seems to use it at the moment ;-)

> Actually, even with TSO enabled, you'll get large order
> allocations, but for receive packets, and these allocations
> happen in software interrupt context.

Sounds like we still need to cope then ... ?

M.