27/10/2020 12:15, Liang, Ma: > > > --- a/lib/librte_ethdev/rte_ethdev.h > > > +++ b/lib/librte_ethdev/rte_ethdev.h > > > +/** > > > + * Retrieve the wake up address for the receive queue. > > > > I guess how this function should be used, > > but a bit more explanations would not hurt here. > agree > > > + * > > > + * @param port_id > > > + * The port identifier of the Ethernet device. > > > + * @param queue_id > > > + * The Rx queue on the Ethernet device for which information will be > > > + * retrieved. > > > + * @param wake_addr > > > + * The pointer to the address which will be monitored. > > > > This function does not make the address monitored, right? > This function only get the target wakeup address. that does not monitor this > address. > > > > > + * @param expected > > > + * The pointer to value to be expected when descriptor is set. > > > > Not sure we should restrict it to a "descriptor". > actully that is not limited to a descriptor, any writeback content should > work. > > > > Expecting a value or some bits looks too much restrictive. > > I understand it probably fits well for Intel NICs, > > but in the general case, we can imagine that any change > > in a byte array could be a wake up signal. > > this parameter doesn not limited user how to use it. > In fact, current design can support any bits change within 64 bits content.
How the driver can specify that any value change should be monitored? I understand that it is only a value/mask pair, it does not give room for "any value".