Thanks for the review, Jakub.

>>              for (i = 0U, ring = self->ring[0];
>>                      self->tx_rings > i; ++i, ring = self->ring[i]) {
>> +                    ring[AQ_VEC_RX_ID].stats.rx.polls++;
> 
> You need to use the u64_stats_update_* infrastructure or make these
> stats smaller than u64, cause on non-64bit machines where the stats
> will be updated 32bit-by-32bit meaning readers can see a half-updated
> counter..

Agree, will secure with stats_update.

>> @@ -314,6 +316,7 @@ irqreturn_t aq_vec_isr(int irq, void *private)
>>              err = -EINVAL;
>>              goto err_exit;
>>      }
>> +    self->ring[0][AQ_VEC_RX_ID].stats.rx.irqs++;

Indeed, looks like some leftover debug counter, will remove.

Thanks,
  Igor

Reply via email to