lkml.org 
[lkml]   [2003]   [Apr]   [9]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 8 Apr 2003 22:55:14 -0700
FromAndrew Morton <>
SubjectRe: Variable PTE_FILE_MAX_BITS
Pete Zaitcev <zaitcev@redhat.com> wrote:
>
> Andrew,
> 
> would you be so kind to take this and forward to Linus?
> I think this segment of the code is your brainchild.

y'know, as I was writing that code I thought "no architecture could be dumb
enough to make PTE_FILE_MAX_BITS variable".

> On sparc

Ah.  That architecture.

> 
> --- linux-2.5.66-bk11/mm/fremap.c	2003-04-05 13:26:24.000000000 -0800
> +++ linux-2.5.66-bk11-sparc/mm/fremap.c	2003-04-05 13:28:22.000000000 -0800
> @@ -136,10 +136,10 @@
>  		return err;
> 
>  	/* Can we represent this offset inside this architecture's pte's? */
> -#if PTE_FILE_MAX_BITS < BITS_PER_LONG
> -	if (pgoff + (size >> PAGE_SHIFT) >= (1UL << PTE_FILE_MAX_BITS))
> -		return err;
> -#endif
> +	/* This needs to be evaluated at runtime on some platforms */
> +	if (PTE_FILE_MAX_BITS < BITS_PER_LONG)
> +		if (pgoff + (size >> PAGE_SHIFT) >= (1UL << PTE_FILE_MAX_BITS))
> +			return err;
> 

The reason I didn't do this in the first place is that if PTE_FILE_MAX_BITS
is 32 (as it is for ia32 PAE), the compiler generates a warning about the
(1<<32).  I guess it generates a bug, too.

Ho hum.  I shall make it "1ULL".
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:34    [W:0.172 / U:0.090 seconds]
©2003-2008 Jasper Spaans