Re: [PATCH v2] PCI: Batch BAR sizing operations

From: Oleg Nesterov
Date: Mon Feb 10 2025 - 15:09:02 EST


On 02/10, Oleg Nesterov wrote:
>
> On 02/10, Alex Williamson wrote:
> >
> > --- a/drivers/pci/probe.c
> > +++ b/drivers/pci/probe.c
> > @@ -345,7 +345,8 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom)
> > unsigned int pos, reg;
> > u16 orig_cmd;
> >
> > - BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS);
> > + if (__builtin_constant_p(howmany))
> > + BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS);
>
> Or just
>
> BUILD_BUG_ON(__builtin_constant_p(howmany) && howmany > PCI_STD_NUM_BARS);
>
> I dunno... Works for me in any case.
>
> I don't know if this is "right" solution though,

I mean, atm I simply don't know if with the newer compiler
__builtin_constant_p(howmany) will be true in this case.

Oleg.