lkml.org 
[lkml]   [2015]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v9 0/8] pci: add pci_iomap_wc() and pci_ioremap_wc_bar()
Hi Ingo,

On Wed, Jul 22, 2015 at 10:38:45AM +0200, Ingo Molnar wrote:
>
> * Bjorn Helgaas <bhelgaas@google.com> wrote:
>
> > > > > Let me know if these are OK or if there are any questions.
> > > > >
> > > > > [0] http://lkml.kernel.org/r/20150625204703.GC4898@pd.tnic
> > > > > [1] http://lkml.kernel.org/r/20150707095012.GQ7021@wotan.suse.de
> > > >
> > > > Ingo,
> > > >
> > > > Just a friendly reminder. Let me know if there are any issues or questions.
> > >
> > > It would be nice to get an Acked-by from Bjorn for the PCI API bits.
> >
> > I think the actual code of pci_ioremap_wc() and pci_ioremap_wc_bar() is fine
> > (although I might have named it pci_ioremap_bar_wc() for consistency).
> >
> > I declined to merge or ack them myself because they're obvious extensions of
> > pci_ioremap() and pci_ioremap_bar(), and I would prefer that they be exported
> > the same way, i.e., with EXPORT_SYMBOL(), not EXPORT_SYMBOL_GPL().
>
> Huh? AFAICS pci_ioremap_bar() has been a _GPL export for a long time:
> ...
> (ioremap_wc() is EXPORT_SYMBOL() mostly by accident, it's the odd one out.)

You're right, I was mistaken about pci_ioremap_bar(). But I'm not
convinced yet that ioremap_wc() is the odd one out. All the interfaces I
found, with the exception of ioremap_uc() on x86 and pci_ioremap_bar(), are
EXPORT_SYMBOL(), even the _wc and _wt flavors.

> Also, FWIIW: I personally got essentially zero feedback and help from proprietary
> binary kernel module vendors in the past couple of years as x86 maintainer,
> despite a fair chunk of kernel crashes reported on distro kernels occuring in
> them...
>
> Based on that very negative experience, when we introduce something as complex and
> as critical as new caching APIs, the last thing I want is to have obscure bugs in
> binary modules I cannot fix in any reasonable fashion. So even if the parent APIs
> of new APIs weren't already _GPL exports (as in this case), I'd export them as
> _GPL in this case.
>
> > I think using EXPORT_SYMBOL_GPL to express individual political aims rather than
> > as a hint about what might be derived work makes us look like zealots, and
> > that's not my style.
>
> As far as I'm concerned it's a pure technological choice: I don't want to export
> certain types of hard to fix and critical functionality to drivers that I cannot
> then fix.

That's a good argument that I hadn't heard before (or possibly it was there
and I missed it). It would be stronger still if we could change the parent
APIs similarly. If a proprietary driver can't use pci_ioremap_wc() because
it's exported _GPL, it's trivial to use ioremap_wc() directly.

Bjorn


\
 
 \ /
  Last update: 2015-07-22 16:01    [W:0.047 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site