The current ibmveth driver has a fixed number of buffers per buffer pool
and under certain workloads, it's running out of buffers. So I would
like to be able to change the number of buffers in each pool at runtime.
The way most drivers do it is with ethtool -G and/or module parameters.
However, this is not appropriate for the ibmveth driver because the
driver can use buffers of any arbitrary size, not only regular, mini and
jumbo. For instance, at the moment we have buffers of 512, 2kB, 8kB,
16kB (which get allocated based on the MTU).
I was thinking that I can achieve the flexibility of having X number of
buffer pools, each with Y(X) number of buffers of Z(X) size with sysfs
like this:
/sys/devices/vio/3000000X/num_pools
/pool0
/pool0/size
/pool0/num
/pool1
/pool1/size
/pool1/num
.
.
/pool(num_pools-1)
/pool(num_pools-1)/size
/pool(num_pools-1)/num
Would that be an acceptable way of providing the functionality?
Another less flexible way that comes to mind is fixing the number of
pools, fixing the size of buffers for each pool, and providing module
parameters that would determine the number of buffers in each pool.
Any ideas/thoughts would be greatly appreciated.
--
Santiago A. Leon
Power Linux Development
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html