...
The way Mellanox ConnectX5 driver handles 'release of allocated pagesA one line comment would do.
from HCA' or 'allocation of pages to HCA', is by sending an event to the
host. This event will have number of pages in it. If the number is
positive, that indicates HCA is requesting that number of pages to be
allocated. And if that number is negative, it is the HCA indicating that
that number of pages can be reclaimed by the host.
Possibly even negating the be32toh() result?
In this patch we are restricting the maximum number of pages that can beHang on, why are you soft limiting it to the hard limit?
reclaimed to be 50000 (effectively this would be -50000 as it is
reclaim). This limit is based on the capability of the firmware as it
cannot release more than 50000 back to the host in one go.
I thought the problem was that releasing a lot of pages took a long
time and 'stuffed' other time-critical tasks.
The only way to resolve that would seem to be to defer the actual freeing
to a low (or at least normal user) priority thread.
You would definitely want to get out of 'softint' context.
(Which is out of napi unless forced to be threaded - and that only really
works if you force the threads under the RT scheduler.)
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)