* Ethernet driver general problem ....
@ 2005-06-09 20:53 Matti Aarnio
2005-06-09 21:04 ` Andy Fleming
2005-06-09 21:12 ` Francois Romieu
0 siblings, 2 replies; 3+ messages in thread
From: Matti Aarnio @ 2005-06-09 20:53 UTC (permalink / raw)
To: netdev
I encountered today a case, where default RX_RING_SIZE
was too small for the traffic going thru. (3c59x driver,
and NAT-router application.)
One related problem is, that the RING_SIZE is hard #define
parameter in most driver sources without ability to adjust
it during runtime. (e.g. "modprobe zzzz rx_ring_size=512")
Possibly even an ifconfig:able parameter, which works
also for statically compiled kernels. (But needs new
ifconfig machinery...)
The case at hand was solved by editing kernel sources, and
compiling a new kernel, but now I am looking for a more
generic approach.
Clearly pre-allocing 500 buffers of 1.6 kB in size does
eat a bit much of kernel memory which usual workstation
does not get benefit from, but server or router would get
benefits.
Having the rx_ring_size ifconfig tunable would help with
adjusting interface for reception, but adding ifconfig
parameters is ... not trivial.
Alternate might be sysctl tunability -- even as a global
'dev.eth.rx_ring_size' (or 'net.dev.eth.rx_ring_size')
which supplies (default) ring size for initialization of
the interface where such rings exist at all...
Possibly there should also be tx_ring_size, which need not
be same size as the rx_ring_size.
Unadjusted default value for both could be 16.
All in all, this needs near uniquitous changes in driver
init codes accross lots of network drivers.
Comments ? Suggestions ?
/Matti Aarnio
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ethernet driver general problem ....
2005-06-09 20:53 Ethernet driver general problem Matti Aarnio
@ 2005-06-09 21:04 ` Andy Fleming
2005-06-09 21:12 ` Francois Romieu
1 sibling, 0 replies; 3+ messages in thread
From: Andy Fleming @ 2005-06-09 21:04 UTC (permalink / raw)
To: Matti Aarnio; +Cc: netdev
Look into ethtool. ethtool allows you to configure the ring sizes,
among other things.
On Jun 9, 2005, at 15:53, Matti Aarnio wrote:
> I encountered today a case, where default RX_RING_SIZE
> was too small for the traffic going thru. (3c59x driver,
> and NAT-router application.)
>
> One related problem is, that the RING_SIZE is hard #define
> parameter in most driver sources without ability to adjust
> it during runtime. (e.g. "modprobe zzzz rx_ring_size=512")
> Possibly even an ifconfig:able parameter, which works
> also for statically compiled kernels. (But needs new
> ifconfig machinery...)
>
>
> The case at hand was solved by editing kernel sources, and
> compiling a new kernel, but now I am looking for a more
> generic approach.
>
>
> Clearly pre-allocing 500 buffers of 1.6 kB in size does
> eat a bit much of kernel memory which usual workstation
> does not get benefit from, but server or router would get
> benefits.
>
> Having the rx_ring_size ifconfig tunable would help with
> adjusting interface for reception, but adding ifconfig
> parameters is ... not trivial.
>
> Alternate might be sysctl tunability -- even as a global
> 'dev.eth.rx_ring_size' (or 'net.dev.eth.rx_ring_size')
> which supplies (default) ring size for initialization of
> the interface where such rings exist at all...
>
>
> Possibly there should also be tx_ring_size, which need not
> be same size as the rx_ring_size.
>
> Unadjusted default value for both could be 16.
>
>
> All in all, this needs near uniquitous changes in driver
> init codes accross lots of network drivers.
>
>
> Comments ? Suggestions ?
>
> /Matti Aarnio
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ethernet driver general problem ....
2005-06-09 20:53 Ethernet driver general problem Matti Aarnio
2005-06-09 21:04 ` Andy Fleming
@ 2005-06-09 21:12 ` Francois Romieu
1 sibling, 0 replies; 3+ messages in thread
From: Francois Romieu @ 2005-06-09 21:12 UTC (permalink / raw)
To: Matti Aarnio; +Cc: netdev
Matti Aarnio <matti.aarnio@zmailer.org> :
[...]
> Comments ? Suggestions ?
See the use of ethtool_ops.set_ringparam() below drivers/net.
--
Ueimor
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-06-09 21:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-09 20:53 Ethernet driver general problem Matti Aarnio
2005-06-09 21:04 ` Andy Fleming
2005-06-09 21:12 ` Francois Romieu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox