freebsd-nq/share/man
Jonathan T. Looney 54503a13d8 Add a safety net to reclaim mbufs when one of the mbuf zones become
exhausted.

It is possible for a bug in the code (or, theoretically, even unusual
network conditions) to exhaust all possible mbufs or mbuf clusters.
When this occurs, things can grind to a halt fairly quickly. However,
we currently do not call mb_reclaim() unless the entire system is
experiencing a low-memory condition.

While it is best to try to prevent exhaustion of one of the mbuf zones,
it would also be useful to have a mechanism to attempt to recover from
these situations by freeing "expendable" mbufs.

This patch makes two changes:

a) The patch adds a generic API to the UMA zone allocator to set a
function that should be called when an allocation fails because the
zone limit has been reached. Because of the way this function can be
called, it really should do minimal work.

b) The patch uses this API to try to free mbufs when an allocation
fails from one of the mbuf zones because the zone limit has been
reached. The function schedules a callout to run mb_reclaim().

Differential Revision:	https://reviews.freebsd.org/D3864
Reviewed by:	gnn
Comments by:	rrs, glebius
MFC after:	2 weeks
Sponsored by:	Juniper Networks
2015-12-20 02:05:33 +00:00
..
man1 Add META_MODE support. 2015-06-13 19:20:56 +00:00
man3 Document bitset(9) 2015-10-17 19:55:58 +00:00
man4 ioat(4): Add an API to get HW revision 2015-12-17 23:21:37 +00:00
man5 Regenerate after r292283. 2015-12-15 18:44:28 +00:00
man6 Add META_MODE support. 2015-06-13 19:20:56 +00:00
man7 Fix a couple misspellings of "environment." 2015-12-07 22:00:13 +00:00
man8 It's 2015, and some people are still trying to use fdisk and then 2015-09-02 14:08:43 +00:00
man9 Add a safety net to reclaim mbufs when one of the mbuf zones become 2015-12-20 02:05:33 +00:00
Makefile Add more SUBDIR_PARALLEL. 2015-10-15 22:55:08 +00:00