Re: [PATCH rdma-next 07/16] IB/core: Introduce counter set query verb

Guy Shattah
2017-10-20T15:40:02Z

On Thu, 19 Oct 2017, Christopher Lameter wrote:
On Thu, 19 Oct 2017, Yishai Hadas wrote:

>> A counter set must be first attached to an IB object in order to
>> be queried for its underlay counters, downstream patches will
>> present bind and query methods for flow counters.
>> The user has an option as part of the query verb to force reading
>> the up-to-date hardware values instead of reading some cached
>> values by using the IB_COUNTER_SET_FORCE_UPDATE flag.

>What does "cached" mean in this context? Accurate to the last second? Or
>just return what was returned earlier? Semantics look a bit unclear to me.

When this flag is used - querying the counter does not guarantee accurate value from the hardware.
The driver might return a value that was true several nonsecs. or even several seconds ago.

Explanation:

Querying the hardware is expensive,  when user queries the hardware
the driver could decide to use the same query to query multiple counter-set
rather than a single one ( the one the user asked for)

The counter-sets the user did not ask for - are stored in the driver cache.
Driver may decide to return these value rather than query the hardware again.

Nevertheless,  when using the the query API user can force the driver to
execute direct hardware query , rather than return cached value.

Guy