Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jun 2021 22:19:16 +0100
From:      Michio Honda <micchie.gml@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   Incorrect credits in iflib_tx_credits_update() in sys/net/iflib.c
Message-ID:  <CA%2BSc9E2r4vk8hHOtUJ8kh6XO_TgOxcM5DARkR3Qrm=FLu8Hpag@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--0000000000002fcb0205c5ee2962
Content-Type: text/plain; charset="UTF-8"

Hi,

I noticed that that function assumes ctx->isc_txd_credits_update() returns
at most twice of txq->ift_size (the number of ring buffers)  - 1, but I
noticed em_isc_txd_credits_update() can return a much larger value. As a
result, too large txq->ift_cidx_processed is set and thus
iflib_netmap_txsync sets incorrect nr_hwtail.

I am not sure this should be fixed in the driver or iflib - could someone
take a look at this?

Cheers,
- Michio

--0000000000002fcb0205c5ee2962--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BSc9E2r4vk8hHOtUJ8kh6XO_TgOxcM5DARkR3Qrm=FLu8Hpag>