[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20151008155025.GD11776@xo-6d-61-c0.localdomain>
Date: Thu, 8 Oct 2015 17:50:26 +0200
From: Pavel Machek <pavel@....cz>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Christoph Hellwig <hch@...radead.org>,
katsuki.uwatoko@...hiba.co.jp,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Dave Chinner <david@...morbit.com>, gangchen@...micro.com,
Russell King - ARM Linux <linux@....linux.org.uk>,
karanvir.singh@...t.com, luca@...lable.com,
christopher.squires@...t.com, edwin@...lable.com,
wayne.burri@...t.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: enabling libgcc for 64-bit divisions, was Re: PROBLEM: XFS on
ARM corruption 'Structure needs cleaning'
Hi!
On Wed 2015-08-12 08:49:45, Linus Torvalds wrote:
> On Tue, Aug 11, 2015 at 11:24 PM, Christoph Hellwig <hch@...radead.org> wrote:
> >
> > Maybe it's time to rely on gcc to handle 64 bit divisions now?
>
> Ugh. gcc still does a pretty horrible job at it. While gcc knows that
> a widening 32x32->64 multiplication can be simplified, it doesn't do
> the same thing for a 64/32->64 division, and always calls __udivdi3
> for it.
>
> Now, __udivdi3 does avoid the general nasty case by then testing the
> upper 32 bits of the divisor against zero, so it's not entirely
> disastrous. It's just ugly.
>
> But perhaps more importantly, I'm not at all sure libgcc is
> kernel-safe. In particular, I'm not at all sure it *remains*
> kernel-safe. Just as an example: can you guarantee that libgcc doesn't
U-Boot relies on toolchain-provided libgcc by default, and one of reasons
we do that is so that libgcc stays sane. Yes, there's occasionally some fun
with that.
But if kernel did that, at least U-Boot would not be alone with the fun.
Pavel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists