diff options
| author | Alex Elder <[email protected]> | 2022-08-31 17:40:12 -0500 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2022-09-02 12:08:44 +0100 |
| commit | 12382d11670e893f976ae19087fde2f83ed4813d (patch) | |
| tree | c2186b8488c075ed1090bbc71ae2408ea4591f2c /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py | |
| parent | a01105f1748e8151ef43c300659b99d471f5f61d (diff) | |
net: ipa: use an array for transactions
Transactions are always allocated one at a time. The maximum number
of them we could ever need occurs if each TRE is assigned to a
transaction. So a channel requires no more transactions than the
number of TREs in its transfer ring. That number is known to be a
power-of-2 less than 65536.
The transaction pool abstraction is used for other things, but for
transactions we can use a simple array of transaction structures,
and use a free index to indicate which entry in the array is the
next one free for allocation.
By having the number of elements in the array be a power-of-2, we
can use an ever-incrementing 16-bit free index, and use it modulo
the array size. Distinguish a "trans_id" (whose value can exceed
the number of entries in the transaction array) from a "trans_index"
(which is less than the number of entries).
Signed-off-by: Alex Elder <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py')
0 files changed, 0 insertions, 0 deletions