summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux/linux_sysvec.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2005-10-14 11:00:15 +0000
committerglebius <glebius@FreeBSD.org>2005-10-14 11:00:15 +0000
commit128747ab0bc149174ba589e08ed1040963a16ad4 (patch)
treed8875689e5cc44db21b5a1a58080b04edbd06857 /sys/i386/linux/linux_sysvec.c
parentf88edf5964f8c2c110a224d702eb60d0d6f50979 (diff)
downloadFreeBSD-src-128747ab0bc149174ba589e08ed1040963a16ad4.zip
FreeBSD-src-128747ab0bc149174ba589e08ed1040963a16ad4.tar.gz
From the PR:
The receive function em_process_receive_interrupts() unlocks the adapter while ether_input() processes the packet, and then locks it back. In the meantime, em_init() may be called, either from em_watchdog() from softclock interrupt or from the ifconfig(8) program. The em_init() resets the card, in particular it sets adapter->next_rx_desc_to_check to 0 and resets hardware RX Head and Tail descriptor pointers. The loop in em_process_receive_interrupts() does not expect these things to change, and a mess may result. This fixes long wedges of em(4) interfaces receive part under high load and IP fastforwarding enabled. PR: kern/87418 Submitted by: Dmitrij Tejblum <tejblum yandex-team.ru>
Diffstat (limited to 'sys/i386/linux/linux_sysvec.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud