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 <[email protected]>
Reviewed-by: Christoph Lameter <[email protected]>
---
--- 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);
On Fri, 2008-03-21 at 09:40 +0800, Zhang, Yanmin wrote:
> Add definitions of USHRT_MAX and others into kernel. ipc uses it and
> slub implementation might also use it.
> +#define USHRT_MAX ((u16)(~0U))
> +#define SHRT_MAX ((s16)(USHRT_MAX>>1))
> +#define SHRT_MIN (-SHRT_MAX - 1)
Perhaps it's better to use the most common kernel types?
Perhaps U16_MAX, S16_MAX and S16_MIN?
Don't you need to cast SHRT_MIN/S16_MIN too?
#define S16_MIN ((s16)(-SHRT_MAX - 1))
On Thu, 2008-03-20 at 18:51 -0700, Joe Perches wrote:
> On Fri, 2008-03-21 at 09:40 +0800, Zhang, Yanmin wrote:
> > Add definitions of USHRT_MAX and others into kernel. ipc uses it and
> > slub implementation might also use it.
> > +#define USHRT_MAX ((u16)(~0U))
> > +#define SHRT_MAX ((s16)(USHRT_MAX>>1))
> > +#define SHRT_MIN (-SHRT_MAX - 1)
>
> Perhaps it's better to use the most common kernel types?
ipc uses USHRT_MAX in a couple of files. Should we keep it consistent?
If ipc wouldn't use it, I would prefer your idea.
> Perhaps U16_MAX, S16_MAX and S16_MIN?
>
> Don't you need to cast SHRT_MIN/S16_MIN too?
> #define S16_MIN ((s16)(-SHRT_MAX - 1))
No. I simulate INT_MIN. I also tested it by defining a var and didn't get
compilation warning.
On Mar 20 2008 18:51, Joe Perches wrote:
> On Fri, 2008-03-21 at 09:40 +0800, Zhang, Yanmin wrote:
>> Add definitions of USHRT_MAX and others into kernel. ipc uses it and
>> slub implementation might also use it.
>> +#define USHRT_MAX ((u16)(~0U))
>> +#define SHRT_MAX ((s16)(USHRT_MAX>>1))
>> +#define SHRT_MIN (-SHRT_MAX - 1)
>
> Perhaps it's better to use the most common kernel types?
> Perhaps U16_MAX, S16_MAX and S16_MIN?
>
> Don't you need to cast SHRT_MIN/S16_MIN too?
> #define S16_MIN ((s16)(-SHRT_MAX - 1))
SHRT_MAX is already s16.