tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rbuf starvation in the iwn driver



On Sun April 11 2010 12:40:45 David Young wrote:
> On Sat, Apr 10, 2010 at 12:49:48PM +1000, matthew green wrote:
> > would you try this variant?  it handles the case where MEXTMALLOC()
> > would fail to allocate external storage, and seems to work on my
> > iwn(4).  i'll commit this if you confirm it works.
> 
> Is there any reason not to replace the implementation of
> iwn_alloc_rbuf() with MEXTMALLOC(), instead?

I was told there might be a performance hit. My tests with 11g on amd64 are 
inconclusive. BTW, it is easy to change the current driver to test this.

I wonder if it would be worth (or even possible) to use pool_cache with the 
bus_dmamap allocator.  It is pretty simple to add a 4KiB pool to 
kern/uipc_mbuf.c.

> Previously, a remote host could exhaust an iwn(4)'s private Rx buffer
> pool by, say, sending a ton of tiny segments to TCP sockets that already
> have a long backlog.  Can a remote host now deplete the malloc(9) pool
> in the same way?

That is certainly possible but no different than what is done in other drivers, 
e.g. wpi. Look at OpenBSD's MCETGETI for a solution to this problem.

Regards,
Sverre


Home | Main Index | Thread Index | Old Index