]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Lock optimization in ENA
authorMarcin Wojtas <mw@FreeBSD.org>
Thu, 30 May 2019 13:29:24 +0000 (13:29 +0000)
committerMarcin Wojtas <mw@FreeBSD.org>
Thu, 30 May 2019 13:29:24 +0000 (13:29 +0000)
commit5cb9db0706fe8cf89eb6c9ca1787eff2057bfd6f
treeb6d236cf107c3a5e3428f71c8418fc44a0cd2c57
parent6064f2899fc807fb2f90d8ae93acb28602b3d919
Lock optimization in ENA

Handle IO interrupts using filter routine. That way, the main cleanup
task could be moved to the separate thread using taskqueue.

The deferred Rx cleanup task was removed, and now the cleanup task is
begin called instead. That way, the Rx lock could be removed.

In addition, Queue management (wake up and stop TX ring) was added, so
the TX cleanup task can be performed mostly lockless.

Submitted by:  Michal Krawczyk <mk@semihalf.com>
Obtained from: Semihalf
Sponsored by:  Amazon, Inc.
sys/dev/ena/ena.c
sys/dev/ena/ena.h
sys/dev/ena/ena_sysctl.c