diff options
author | 2016-03-21 21:16:30 +0000 | |
---|---|---|
committer | 2016-03-21 21:16:30 +0000 | |
commit | ae48e37c4181e873bd137c45d9c1d1b6244c1e79 (patch) | |
tree | dc64488ff7d6f7624a9d8c8c35f03e6bfd0b0023 /lib/libc/sys/stack_protector.c | |
parent | Fix watchdog timeouts and dropped frames under load with RT2860 ral(4). (diff) | |
download | wireguard-openbsd-ae48e37c4181e873bd137c45d9c1d1b6244c1e79.tar.xz wireguard-openbsd-ae48e37c4181e873bd137c45d9c1d1b6244c1e79.zip |
In ral(4) RT2860 code, replace custom defrag with m_defrag().
This fixes an error in the existing code: the "hopeless case" guard
equivales 'ring now full', so oactive is never set: the code drops any mbuf
that would fill the ring. This occurs often in practice.
The new code avoids some hoop-jumping. Currently, one tx dma-map can fill
the tx ring. Therefore an mbuf that fits a dma-map may yet not fit into the tx
ring's remaining space. To be sure it can, we must in general count the
mbuf's fragments and, if necessary, defrag it and reload the dmamap.
Patch by Richard Procter via bugs@
Tested by Richard on RT2860 and by me on RT3090 and RT2700.
ok mpi@ dlg@
Diffstat (limited to 'lib/libc/sys/stack_protector.c')
0 files changed, 0 insertions, 0 deletions