<snip>
* Instead encode this information into each metadata entry in the
metadata area, in some way so that a flags field is not needed (-1
signifies not valid, or whatever happens to make sense). This has the
drawback that the user might have to look at a large number of entries
just to find out there is nothing valid to read. To alleviate this, it
could be combined with the next suggestion.
* Dedicate one bit in the options field to indicate that there is at
least one valid metadata entry in the metadata area. This could be
combined with the two approaches above. However, depending on what
metadata you have enabled, this bit might be pointless. If some
metadata is always valid, then it serves no purpose. But it might if
all enabled metadata is rarely valid, e.g., if you get an Rx timestamp
on one packet out of one thousand.
I like this option better! Except that I have hoped to get 2 bits ;-)
I will give you two if you need it Jesper, no problem :-).
Ok I will look at implementing and testing this and post an update.
Thanks folks
The performance advantage is that the AF_XDP descriptor bits will
already be cache-hot, and if it indicates no-metadata-hints the AF_XDP
application can avoid reading the metadata cache-line :-).
Agreed. I prefer if we can keep it simple and fast like this.
<snip>