Re: [PATCH v2 5/5] iio: pressure: bmp280: Adds more tunable config parameters for BMP380

From: Angel Iglesias
Date: Wed Jul 06 2022 - 10:39:21 EST


On mié, 2022-07-06 at 14:42 +0200, Andy Shevchenko wrote:
> On Wed, Jul 6, 2022 at 12:51 AM Angel Iglesias <ang.iglesiasg@xxxxxxxxx>
> wrote:
> > On Mon, 2022-07-04 at 22:08 +0200, Andy Shevchenko wrote:
> > > On Mon, Jul 4, 2022 at 2:41 AM Angel Iglesias <ang.iglesiasg@xxxxxxxxx>
> > > wrote:
>
> ...
>
> > > > +               if (unlikely(!data->chip_info->sampling_freq_avail)) {
> > >
> > > Why unlikely() ? How does this improve code generation / performance?
> >
> > As Jonathan Cameron sugested on a previous version of the patch, even
> > thought
> > this code should be safe (as if we are checking sampling frequency is
> > because
> > the sensor is a BMP380 and has that property), it would be better to have a
> > sanity check just to be sure the property is really available. I used
> > unlikely
> > macro to take into account that the property would be almost always
> > initialized.
> >
> > Now that you mention, probably this code won't be called too often to make
> > the
> > "unlikely" branching hint make a meaningful performance difference
> >
> > > > +               if (unlikely(!data->chip_info->iir_filter_coeffs_avail))
> > > > {
> > >
> > > Ditto.
>
> Is this really a performance-critical path? How did you check that
> unlikely() makes sense?
> More evidence, please!

You're right. This code will be invoked by userspace using the sysfs ABI,
probably just once, to check sensor settings. The unlikely() is out place, I'll
drop it in next patch iteration.

> ...
>
> > > Why do you need to copy'n'paste dozens of the very same comment?
> > > Wouldn't it be enough to explain it somewhere at the top of the file
> > > or in the respective documentation (if it exists)?
>
> No answer?

Apologies, I'll fix the duplicated comments. Would be a good place for the
comment before the function "bmp280_write_raw" or at the start of the switch
block?