Re: [PATCH] jffs2: implement mount option to configure endianness

From: Joakim Tjernlund
Date: Thu Nov 08 2018 - 13:51:18 EST


On Thu, 2018-11-08 at 18:01 +0000, Nikunj Kela (nkela) wrote:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
>
> On 11/8/18, 12:12 AM, "David Woodhouse" <dwmw2@xxxxxxxxxxxxx> wrote:
>
> On Wed, 2018-11-07 at 19:14 +0100, Richard Weinberger wrote:
> > On Wed, Nov 7, 2018 at 7:05 PM Nikunj Kela (nkela) <nkela@xxxxxxxxx> wrote:
> > > I had tried to use configs to start with via the following patch however I was advised to have a mount option:
> > > http://lists.infradead.org/pipermail/linux-mtd/2018-November/085126.html
> >
> > Just show performance numbers on how your implementation has an impact or not.
> > So far your implementation is also not much optimized, maybe likely()
> > or static keys can help...
>
> Using likely() for the native case might help. Static keys might help a
> little more, but could only work if every file system has the *same*
> endianness. Unless we end up with three variants, for native vs. swap
> vs. runtime checking.
>
> We also lose a bunch of the optimisations that we gained from using
> __builtin_swab functions, which let the compiler see what was going on.
>
> But we can hypothesise and handwave about it until the cows come home;
> I'd like to see a real test of whether it actually makes a difference
> that we care about.
>
> If it does, one option might be to just build separate versions of
> scan.c for each endianness, since that's the critical path we care
> about.
>
> I wonder if this feature is really that important that we need to duplicate the drivers.
> Also, it might take some time for me to find some device that I can run the tests with and without this patch.
> I am wondering if we can still consider my first patch with config options as a good compromise on it?

I think that is a good idea.

Jocke