Re: [RFC][PATCH 2/9] deadlock prevention core
From: Daniel Phillips
Date: Sun Aug 13 2006 - 18:03:28 EST
Rik van Riel wrote:
Thomas Graf wrote:
skb->dev is not guaranteed to still point to the "allocating" device
once the skb is freed again so reserve/unreserve isn't symmetric.
You'd need skb->alloc_dev or something.
There's another consequence of this property of the network
Every network interface must be able to fall back to these
MEMALLOC allocations, because the memory critical socket
could be on another network interface. Hence, we cannot
know which network interfaces should (not) be marked MEMALLOC.
Good point. We do however know which interfaces should be marked
capable of carrying block IO traffic: the ones that have been fixed,
audited and tested. We might then allow the network block device to
specify which interface(s) will actually carry the traffic.
The advantage of being specific about which devices are carrying at
least one block io socket is, we can skip the reserve accounting for
the other interfaces. But is the extra layer of configuration gack a
better idea than just doing the accounting for every device, provided
the system is in reclaim?
By the way, another way to avoid impact on the normal case is an
experimental option such as CONFIG_PREVENT_NETWORK_BLOCKIO_DEADLOCK.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/