]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
cxgbe(4): Stop but don't free netmap queues when netmap is switched off.
authorNavdeep Parhar <np@FreeBSD.org>
Thu, 3 Dec 2020 08:30:29 +0000 (08:30 +0000)
committerNavdeep Parhar <np@FreeBSD.org>
Thu, 3 Dec 2020 08:30:29 +0000 (08:30 +0000)
commit8eba75ed68854188c01a2058fe1f826b3428dbfa
treeea7f022ad05fd9c732e1b099af981a7a1824568f
parentfeb01b72ef9ba4b8bfc25995aedbbdfb5a291d9c
cxgbe(4): Stop but don't free netmap queues when netmap is switched off.

It is common for freelists to be starving when a netmap application
stops.  Mailbox commands to free queues can hang in such a situation.
Avoid that by not freeing the queues when netmap is switched off.
Instead, use an alternate method to stop the queues without releasing
the context ids.  If netmap is enabled again later then the same queue
is reinitialized for use.  Move alloc_nm_rxq and txq to t4_netmap.c
while here.

MFC after: 1 week
Sponsored by: Chelsio Communications
sys/dev/cxgbe/adapter.h
sys/dev/cxgbe/common/common.h
sys/dev/cxgbe/common/t4_hw.c
sys/dev/cxgbe/t4_netmap.c
sys/dev/cxgbe/t4_sge.c