Search Linux Wireless

Re: [PATCH] mac80211: Limit number of pending skbs.

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

 



On 05/29/2012 04:23 PM, Felix Fietkau wrote:
On 2012-05-30 1:02 AM, greearb@xxxxxxxxxxxxxxx wrote:
From: Ben Greear<greearb@xxxxxxxxxxxxxxx>

Current code will allow any number of pending skbs, and
this can OOM the system when used with something like
the pktgen tool (which may not back off properly if
queue is stopped).

Possibly this is just a bug in our version of pktgen,
but either way, it seems reasonable to add a limit
so that it is not possible to go OOM in this manner.

Signed-off-by: Ben Greear<greearb@xxxxxxxxxxxxxxx>
Adding a module parameter in a workaround for a possibly broken module
seems a bit excessive to me.

Also, I'm not sure adding such a silent packet drop is a good idea. At
the very least, it should complain loudly to encourage people to fix the
actual bug instead of just papering over it.

When the driver cannot accept more packets, the queue stop should
prevent the network stack from spamming mac80211 with more packets. Your
pktgen seems to be ignoring this, so please fix it instead of adding
workarounds to mac80211.

Ok, I'll work on pktgen next time I get a chance.

I recall I had to add a hack (that was not wanted upstream)
to get pktgen to even work with mac80211 interfaces w/out crashing
the kernel, so probably no one else is using it anyway.

I did verify that with user-space UDP sockets running at similar
speed the pending buffers did not fill up at all.

Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux