Ok, as has been hinted at with some postings from Krishna and others, we still have some mutual exclusion issues in the new NAPI code. In short, the napi->quota updates happen outside of the sections where the code stream "owns" the napi_struct instance, so it can be modified in parallel on multiple cpus, the n->quota can go negative, and the quota bug checks trigger. It just seems that gradually I'm reverting every single cleanup done by Stephen in his original patch, first the list handling and now the quota bits too :-) Probably a good way to deal with this is to simply make the quota handling stateless. The only reason we handle partial quota usage is to handle the global netdev_budget. But we can simply "round up" and let netdev_budget get oversubscribed by one napi->quota's worth if necessary. At that point, n->quota only holds two states when used, full and empty. And at that point there is no reason to maintain it's value at all. Only the weight is necessary. I'll try to post a patch which implements this later today. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Hiten Pandya | Re: up? (emacs docbook xml ide) |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
| Florian Schmidt | blacklist kernel boot option |
git: | |
| Linus Torvalds | Re: iptables very slow after commit 784544739a25c30637397ace5489eeb6e15d7d49 |
| Arjan van de Ven | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
