Home
last modified time | relevance | path

Searched hist:e2735b095b7e31a6e07b8639ed151456a610bc07 (Results 1 – 1 of 1) sorted by relevance

/freebsd/sys/dev/ena/
H A Dena.cdiff e2735b095b7e31a6e07b8639ed151456a610bc07 Tue May 26 17:54:32 CEST 2020 Marcin Wojtas <mw@FreeBSD.org> Fix assumptions about number of IO queues in the ENA

Make the ena_adapter::num_io_queues a number of effectively used IO
queues. While the ena_adapter::max_num_io_queues is an upper-bound
specified by the HW, the ena_adapter::num_io_queues may be lower than
that, depending on runtime system resources availability.

On reset, there are called ena_destroy_device() and then
ena_restore_device(). The latter calls, in turn, ena_enable_msix(),
which will attempt to re-acquire ena_adapter::max_num_io_queues of
MSIX vectors again.

Thus, the value of ena_adapter::num_io_queues may be different before
and after reset. For this reason, free the IO rings structures (drbr,
counters) in ena_destroy_device() and allocate again in
ena_restore_device().

Submitted by: Maciej Bielski <mba@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon, Inc.