On 12/5/18 6:04 AM, Martin K. Petersen wrote:
Since the return value of this function is 'u32', can the ' & 0xffffffff' be left out?
Absolutely, and I almost zapped it. However, I decided to leave it to emphasize the point that the reference tag is truncated to a 32-bit value. To me, this is more obvious than having to backtrack and spot the u32 in the function definition. I generally appreciate some sort of commentary around a return statement if the value deviates from the ordinary.
The parentheses around the shift value irk me but had to leave those in place to silence gcc.
Hi Martin,
Had you considered to use lower_32_bits() instead of "0xffffffff"? That would to avoid that reviewers have to count the 'f'-s to verify correctness of t10_pi_ref_tag().
Thanks,
Bart.