Messages in this thread |  | | Date | Fri, 1 Sep 2000 10:39:43 -0700 | From | Richard Henderson <> | Subject | Re: Large File support and blocks. |
| |
On Fri, Sep 01, 2000 at 03:15:27PM +0200, Andi Kleen wrote: > The previous analysis was not quite right though (%cl is actually loaded, > just %eax gets bogus input from the long long shift)
Perhaps, but it's sure not obvious:
bh->b_blocknr = (long)mp->pbm_bn + (mp->pbm_offset >> inode->i_sb->s_blocksize_bits); bh->b_blocknr >>= block_bits;
movl %eax,20(%esp) ; store shifted pbm_offset to temporary movl %edx,24(%esp) ; " movl 20(%esp),%eax ; load low part addl (%esi),%eax ; b_blocknr = pbm_bn + pbm_offset movl %ebp,%ecx ; load block_bits shrl %cl,%eax ; b_blocknr >> block_bits
I've not got 2.95 handy, and your test case isn't executable, so its difficult to see exactly what might be wrong here.
r~ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |