Re: [patch 2/9] Store max number of objects in the page struct.

From: Christoph Lameter
Date: Thu Mar 20 2008 - 17:06:48 EST


Reviewed-by: Christoph Lameter <clameter@xxxxxxx>

On Thu, 20 Mar 2008, Zhang, Yanmin wrote:

> On Wed, 2008-03-19 at 10:49 -0700, Christoph Lameter wrote:
> > On Wed, 19 Mar 2008, Zhang, Yanmin wrote:
> >
> > > > + if ((PAGE_SIZE << min_order) / size > 65535)
> > > > + return get_order(size * 65535) - 1;
> > > Is it better to define something like USHORT_MAX to replace 65535?
> >
> > Yes. Do we have something like that?
>
> I couldn't find such definition in include/linux/kernel.h.
>
>
> But glibc defines USHRT_MAX file include/limits.h:
>
> /* Minimum and maximum values a `signed short int' can hold. */
> # define SHRT_MIN (-32768)
> # define SHRT_MAX 32767
>
> /* Maximum value an `unsigned short int' can hold. (Minimum is 0.) */
> # define USHRT_MAX 65535
>
>
> How about below patch against 2.6.25-rc6?
>
> ---
>
> Add definitions of USHRT_MAX and others into kernel. ipc uses it and
> slub implementation might also use it.
>
> The patch is against 2.6.25-rc6.
>
> Signed-off-by: Zhang Yanmin <yanmin.zhang@xxxxxxxxx>
>
> ---
>
> --- linux-2.6.25-rc6/include/linux/kernel.h 2008-03-20 04:25:46.000000000 +0800
> +++ linux-2.6.25-rc6_work/include/linux/kernel.h 2008-03-20 04:17:45.000000000 +0800
> @@ -20,6 +20,9 @@
> extern const char linux_banner[];
> extern const char linux_proc_banner[];
>
> +#define USHRT_MAX ((u16)(~0U))
> +#define SHRT_MAX ((s16)(USHRT_MAX>>1))
> +#define SHRT_MIN (-SHRT_MAX - 1)
> #define INT_MAX ((int)(~0U>>1))
> #define INT_MIN (-INT_MAX - 1)
> #define UINT_MAX (~0U)
> --- linux-2.6.25-rc6/ipc/util.h 2008-03-20 04:25:46.000000000 +0800
> +++ linux-2.6.25-rc6_work/ipc/util.h 2008-03-20 04:22:07.000000000 +0800
> @@ -12,7 +12,6 @@
>
> #include <linux/err.h>
>
> -#define USHRT_MAX 0xffff
> #define SEQ_MULTIPLIER (IPCMNI)
>
> void sem_init (void);
>
>
>
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/