On Wed, 2005-12-14 at 04:12 -0800, Mitchell Blank Jr wrote: > Alan Cox wrote: > > But your user space that would add the routes is not so protected so I'm > > not sure this is actually a solution, more of an extended fudge. > > Yes, there's no 100% solution -- no matter how much memory you reserve and > how many paths you protect if you try hard enough you can come up > with cases where it'll fail. ("I'm swapping to NFS across a tun/tap > interface to a custom userland SSL tunnel to a server across a BGP route...") > > However, if the 'extended fundge' pushes a problem from "can happen, even > in a very normal setup" territory to "only happens if you're doing something > pretty weird" then is it really such a bad thing? I think the cost in code > complexity looks pretty reasonable.
Yes. This should work fine for cases where you need a limited number of critical allocation requests to succeed for a short period of time. > > > +#define SK_CRIT_ALLOC(sk, flags) ((sk->sk_allocation & __GFP_CRITICAL) | > > > flags) > > > > Lots of hidden conditional logic on critical paths. > > How expensive is it compared to the allocation itself? Also, as i said in my other response we could make it a compile-time configurable option with zero overhead when turned off. Thanks Sridhar > > > > +#define CRIT_ALLOC(flags) (__GFP_CRITICAL | flags) > > > > Pointless obfuscation > > Fully agree. > > -Mitch - 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