Re: [RESEND][PATCH 1/2] lib/scatterlist: Make ARCH_HAS_SG_CHAIN an actual Kconfig

James Bottomley
2014-03-22T22:59:20Z

On Sat, 2014-03-22 at 22:52 +0000, Russell King - ARM Linux wrote:
> On Sat, Mar 22, 2014 at 03:37:40PM -0700, James Bottomley wrote:
> > On Sat, 2014-03-22 at 22:23 +0000, Russell King - ARM Linux wrote:
> > > On Sat, Mar 22, 2014 at 02:31:21PM -0700, James Bottomley wrote:
> > > > Perhaps now might be the time to ask which are the remaining
> > > > architectures that cannot do SG chaining and then we can fix them and
> > > > pull the whole thing out.
> > >
> > > Not quite. You're making the assumption that we can be sure that all
> > > the scatterlist users on an architecture have been converted - that's
> > > simply not true on ARM.
> >
> > No I'm not, I said "now might be the time to ask which are the remaining
> > architectures that cannot do SG chaining"
>
> And I'm disagreeing with that statement which implies that it's something
> that is an architecture wide property for any particular architecture.
>
> Right now in mainline, if ARM has IOMMU support enabled, then SG_CHAIN
> support will also be enabled. I've a patch out of tree which I've been
> using for years which enables SG_CHAIN for a particular SoC (Dove).
> Otherwise, it doesn't have support for SG_CHAIN.
>
> PARISC on the other hand (as you list) has no support to enable SG_CHAIN
> under any circumstances.
>
> Where we're disagreeing is whether this is something that is always-on or
> always-off for any particular architecture.

Actually, I don't disagree with that. PA used to share sb_iommu with
ia64 (it's the same chipset for the HP versions), but we can't now
because ia64 is chained and we're not and there's no way to say chained
for this platform but not for these other more legacy ones. If you have
a proposal for this, I'd be interested, so I don't have to do an all or
nothing conversion, but the config option isn't it because our platform
configuration is runtime determined (we usually select every driver and
let the actual one be chosen at runtime from the config table).

James