Re: Large File support and blocks.

From: Matti Aarnio (
Date: Fri Sep 01 2000 - 09:03:48 EST

On Fri, Sep 01, 2000 at 03:15:27PM +0200, Andi Kleen wrote:
> > ( Not 'unsigned long long' )
> The shift on pbm_offset operates on long long.

        Uh, somehow I thought the reference was about bh->b_blocknr;
        Ok, never mind.

> The previous analysis was not quite right though (%cl is actually loaded,
> just %eax gets bogus input from the long long shift)

        Register pressure burst at i386 ?

... [div64] ...
> So what do you propose to use when a long long division is needed (after
> much thought and considering all alternatives etc.etc.) ?

        Huh ? No nice power-of-two and shifting ?
        (In filesystem side there is - AFFS or HFS - some which
         have non-power-of-two block sizes, but luckily those
         variants are also limited under 2G in file size...)

        Perhaps redoing div64() in inlined function instead of
        side-effectfull macro with explite variable passing via

        Perhaps sacrificing a bit more, and using explicite
        div64() function which is exported in symbols (and
        explicite variable passing via reference)

        After all, if one really must use it, do it explicite,
        but first of all: reliable.

        It is dividend64/divisor32 -> remainder64,modulo32 after all.
        (E.g. SLOW(er than 32/32 -> 32,32))

> -Andi

/Matti Aarnio
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:11 EST