[dpdk-dev] [PATCH v17 03/11] eal: change API of power intrinsics
Thomas Monjalon
thomas at monjalon.net
Tue Jan 19 15:17:23 CET 2021
19/01/2021 12:23, Burakov, Anatoly:
> On 19-Jan-21 10:42 AM, Thomas Monjalon wrote:
> > 19/01/2021 11:29, Burakov, Anatoly:
> >> On 18-Jan-21 10:26 PM, Thomas Monjalon wrote:
> >>> 14/01/2021 15:46, Anatoly Burakov:
> >>>> +struct rte_power_monitor_cond {
> >>>> + volatile void *addr; /**< Address to monitor for changes */
> >>>> + uint64_t val; /**< Before attempting the monitoring, the address
> >>>> + * may be read and compared against this value.
> >>>
> >>> "may" be read and compared?
> >>> Is there a case where there is no read and compare?
> >>
> >> Yes, if the mask is not set.
> >
> > If the mask is not set, the address is "read" anyway
> > or it is only "watched" for any change?
> >
> > Sorry the mechanism is really not clear to me.
> >
>
> The "value" is only used to avoid the sleep, i.e. to check if the write
> has already happened. We're waiting on *a write* rather than *a value*,
> so it's not equivalent to "wait until equal" call. It's more of a "sleep
> until something happens".
Please make things explicit in doxygen.
The behaviour of each case should be explained crystal clear.
Thanks
More information about the dev
mailing list