]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
make m_getm2() resilient to zone_jumbop exhaustion
authorAndrew Gallatin <gallatin@FreeBSD.org>
Mon, 31 Aug 2020 13:53:14 +0000 (13:53 +0000)
committerAndrew Gallatin <gallatin@FreeBSD.org>
Mon, 31 Aug 2020 13:53:14 +0000 (13:53 +0000)
commit796d4eb89e2c6e95be4d3cdb5b01fd3a09218039
treed719580b14a415c36aa3dcd3da228d6b946e1aa3
parent2a0ce39d086ffe13782c9dc1e24bb240abbe790a
make m_getm2() resilient to zone_jumbop exhaustion

When the zone_jumbop is exhausted, most things using
using sosend* (like sshd)  will eventually
fail or hang if allocations are limited to the
depleted jumbop zone.  This makes it imossible to
communicate with a box which is under an attach which
exhausts the jumbop zone.

Rather than depending on the page size zone, also try cluster
allocations to satisfy larger requests.  This allows me
to ssh to, and serve 100Gb/s of traffic from a server which
under attack and has had its page-sized zone exhausted.

Reviewed by: glebius, markj, rmacklem
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D26150
sys/kern/kern_mbuf.c