net: add a route cache full diagnostic message
In some testing scenarios, dst/route cache can fill up so quickly that even an explicit GC call occasionally fails to clean it up. This leads to sporadically failing calls to dst_alloc and "network unreachable" errors to the user, which is confusing. This patch adds a diagnostic message to make the cause of the failure easier to determine. Signed-off-by: Peter Oskolkov <posk@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
68d7431553
commit
22c2ad616b
|
@ -98,8 +98,12 @@ void *dst_alloc(struct dst_ops *ops, struct net_device *dev,
|
|||
struct dst_entry *dst;
|
||||
|
||||
if (ops->gc && dst_entries_get_fast(ops) > ops->gc_thresh) {
|
||||
if (ops->gc(ops))
|
||||
if (ops->gc(ops)) {
|
||||
printk_ratelimited(KERN_NOTICE "Route cache is full: "
|
||||
"consider increasing sysctl "
|
||||
"net.ipv[4|6].route.max_size.\n");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
dst = kmem_cache_alloc(ops->kmem_cachep, GFP_ATOMIC);
|
||||
|
|
Loading…
Reference in New Issue