Re: [PATCH] pci/msi: Use #ifdefs instead of weak functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2009-01-18 at 22:09 -0700, Matthew Wilcox wrote:
> On Mon, Jan 19, 2009 at 12:07:04PM +1100, Michael Ellerman wrote:
> > Weak functions aren't all they're cracked up to be. They lead to
> > incorrect binaries with some toolchains, they require us to have empty
> > functions we otherwise wouldn't, and the unused code is not elided
> > (as of gcc 4.3.2 anyway).
> 
> I'm glad to see you've had a change of heart ;-)

Well at least someone's glad :)

> > So replace the weak MSI arch hooks with the #define foo foo idiom. We no
> > longer need empty versions of arch_setup/teardown_msi_irq().
> 
> I'm working on a complete rewrite of the MSI code right now (spurred by
> the realisation that a device with 2k MSI-X irqs will allocate 150k of
> MSI-X descriptors, and be a really long list).

I guess I'd rather we didn't do a "complete rewrite", but there's
definitely work to be done before we can support lots of MSI-X irqs.

Are you seeing hardware with 2K MSIs? I've got _2_ on the SATA
controller in my laptop.

> I'm coming around to the opinion that we should just get rid of the
> arch_*_irq() interfaces altogether and force architectures to implement
> arch_*_irqs().

Perhaps. Now that the other architecture implements arch_setup_msi_irqs
that might be a bit more feasible, when I added it powerpc was the only
user.

> No more weak symbols, no ifdefs, and the interface to the architecture
> isn't really harder for them to implement.

Sounds good. Have you got any code we can see?

And if you can incorporate the other patch I sent today into the rewrite
that'd be nice, we really need that functionality.

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux