cfi_{build,send_gen}_cmd bloats, how to uninline?
David Woodhouse
dwmw2 at infradead.org
Tue May 6 09:18:16 EDT 2008
On Tue, 2008-05-06 at 13:56 +0300, Ilpo Järvinen wrote:
> > Were you testing with only a single interleave/bankwidth enabled, or did
> > you have them all supported? It's the single-geometry case where we
> > expect it to all fall out and the inlines to be really trivial.
>
> I had allyesconfig-like setting (minus some DEBUG configs), so I suppose
> it had all of them?
>
> Is there still something else related than those MAP_BANK_WIDTH_xx and
> MTD_CFI_Ix I should tune if I want to verify that things really become
> as trivial as expected (I'll have to this ain't the most simplest case
> to understand :-))?
Nope. Just set precisely one MAP_BANK_WIDTH_xx and precisely once
MTD_CFI_Ix, and it should be a lot smaller. Both set to 1 should be the
smallest.
> > I suspect that we should make the inlining optional though -- a lot of
> > people are building generic kernels with CFI support these days, or just
> > not bothering to optimise their config.
>
> It would definately be a good thing to find out some arrangement to such
> case too, worst case offender was 60k in some skbuff.h function, these
> are of the same magnitude.
>
> For me it's not even clear if in practical cases only one of them would be
> strictly necessary? ...Many of the defconfigs seem to have a handful of
> them enabled, leaving considerable amount of code there (though I doubt
> that defconfigs are a good measure for anything). Because of a
> considerable number of call sites, even a small per site bloat easily
> grows to mind-boggling numbers.
Yep. I'd certainly be interested in a patch which moves these out of
line, as long as it doesn't screw up the simple one-geometry case.
I suspect that once we start building with '--combine -fwhole-program'
the compiler should be able to get this right for itself.
--
dwmw2
More information about the linux-mtd
mailing list