Skip to contentSkip to conversation

asm/resource.h

PATCH H. Peter Anvin 4 participants 5 messages Nov 3, 2000 – Nov 4, 2000

lore
Share & tools
lore
#0 lore raw

Hello friends,

Attached is a patch against 2.4.0-test10 that changes asm/resource.h to define RLIM_INFINITY insite the #ifdef __KERNEL__ on all architectures; previously, this was inconsistent between architecures. This breaks compilation with -Werror at least on i386 since <bits/resource.h> includes <asm/resource.h>, at least on glibc-2.1.2.

I have only been able to test this on i386 and glibc 2.1.2. If there are any places where this change is *not* appropriate, now would be a good time to holler...

-hpa

Signature · 3 lines
<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
include/asm/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm/resource.h linux-2.4.0-test10/include/asm/resource.h
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY	(~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-alpha/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-alpha/resource.h linux-2.4.0-test10/include/asm-alpha/resource.h
@@ -19,14 +19,14 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.  Fine, it's unsigned, but
  * we retain the old value for compatibility, especially with DU. 
  * When you run into the 2^63 barrier, you call me.
  */
 #define RLIM_INFINITY	0x7ffffffffffffffful
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS							\
 {									\
include/asm-i386/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-i386/resource.h linux-2.4.0-test10/include/asm-i386/resource.h
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY	(~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-ia64/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-ia64/resource.h linux-2.4.0-test10/include/asm-ia64/resource.h
@@ -22,13 +22,13 @@
 
 #define RLIM_NLIMITS	11
 
+# ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-# ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-m68k/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-m68k/resource.h linux-2.4.0-test10/include/asm-m68k/resource.h
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY	(~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS	\
 {                       \
include/asm-mips/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-mips/resource.h linux-2.4.0-test10/include/asm-mips/resource.h
@@ -26,13 +26,13 @@
 
 #define RLIM_NLIMITS 11			/* Number of limit flavors.  */
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY	0x7fffffffUL
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-mips64/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-mips64/resource.h linux-2.4.0-test10/include/asm-mips64/resource.h
@@ -27,13 +27,13 @@
 
 #define RLIM_NLIMITS 11			/* Number of limit flavors.  */
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-s390/resource.h +2 -2
diff -ur linux-2.4.0-test10-orig/include/asm-s390/resource.h linux-2.4.0-test10/include/asm-s390/resource.h
@@ -27,13 +27,13 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY   (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS					\
 {							\
include/asm-sparc/resource.h +2 -1
diff -ur linux-2.4.0-test10-orig/include/asm-sparc/resource.h linux-2.4.0-test10/include/asm-sparc/resource.h
@@ -25,6 +25,8 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * We make this unsigned, but keep the
@@ -32,7 +34,6 @@
  */
 #define RLIM_INFINITY	0x7fffffff
 
-#ifdef __KERNEL__
 #define INIT_RLIMITS			\
 {					\
     {RLIM_INFINITY, RLIM_INFINITY},	\
include/asm-sparc64/resource.h +2 -1
diff -ur linux-2.4.0-test10-orig/include/asm-sparc64/resource.h linux-2.4.0-test10/include/asm-sparc64/resource.h
@@ -25,13 +25,14 @@
 
 #define RLIM_NLIMITS	11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY	(~0UL)
 
-#ifdef __KERNEL__
 #define INIT_RLIMITS			\
 {					\
     {RLIM_INFINITY, RLIM_INFINITY},	\
#1 lore raw

hpa,

Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.

Jeff

Quoted 203 lines · H. Peter Anvin

Hello friends,

Attached is a patch against 2.4.0-test10 that changes asm/resource.h to define RLIM_INFINITY insite the #ifdef __KERNEL__ on all architectures; previously, this was inconsistent between architecures. This breaks compilation with -Werror at least on i386 since <bits/resource.h> includes <asm/resource.h>, at least on glibc-2.1.2.

I have only been able to test this on i386 and glibc 2.1.2. If there are any places where this change is *not* appropriate, now would be a good time to holler...

-hpa

--
<[email protected]> at work, <[email protected]> in private! "Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt

------------------------------------------------------------------------
diff -ur linux-2.4.0-test10-orig/include/asm/resource.h linux-2.4.0-test10/include/asm/resource.h

include/asm/resource.h Fri Nov 3 13:11:12 2000 renamed from include/asm/resource.h Fri Sep 22 14:21:19 2000 +2 -2
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-alpha/resource.h linux-2.4.0-test10/include/asm-alpha/resource.h

include/asm-alpha/resource.h Fri Nov 3 13:11:30 2000 renamed from include/asm-alpha/resource.h Wed Sep 27 13:39:23 2000 +2 -2
@@ -19,14 +19,14 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.  Fine, it's unsigned, but
  * we retain the old value for compatibility, especially with DU.
  * When you run into the 2^63 barrier, you call me.
  */
 #define RLIM_INFINITY  0x7ffffffffffffffful
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                                   \
 {                                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-i386/resource.h linux-2.4.0-test10/include/asm-i386/resource.h

include/asm-i386/resource.h Fri Nov 3 13:11:12 2000 renamed from include/asm-i386/resource.h Fri Sep 22 14:21:19 2000 +2 -2
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-ia64/resource.h linux-2.4.0-test10/include/asm-ia64/resource.h

include/asm-ia64/resource.h Fri Nov 3 13:11:04 2000 renamed from include/asm-ia64/resource.h Fri Sep 22 14:21:19 2000 +2 -2
@@ -22,13 +22,13 @@
 
 #define RLIM_NLIMITS   11
 
+# ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-# ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-m68k/resource.h linux-2.4.0-test10/include/asm-m68k/resource.h

include/asm-m68k/resource.h Fri Nov 3 13:10:54 2000 renamed from include/asm-m68k/resource.h Fri Sep 22 14:21:20 2000 +2 -2
@@ -19,13 +19,13 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS   \
 {                       \

diff -ur linux-2.4.0-test10-orig/include/asm-mips/resource.h linux-2.4.0-test10/include/asm-mips/resource.h

include/asm-mips/resource.h Fri Nov 3 13:10:44 2000 renamed from include/asm-mips/resource.h Fri Sep 22 14:21:20 2000 +2 -2
@@ -26,13 +26,13 @@
 
 #define RLIM_NLIMITS 11                        /* Number of limit flavors.  */
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  0x7fffffffUL
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-mips64/resource.h linux-2.4.0-test10/include/asm-mips64/resource.h

include/asm-mips64/resource.h Fri Nov 3 13:10:30 2000 renamed from include/asm-mips64/resource.h Fri Sep 22 14:21:20 2000 +2 -2
@@ -27,13 +27,13 @@
 
 #define RLIM_NLIMITS 11                        /* Number of limit flavors.  */
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-s390/resource.h linux-2.4.0-test10/include/asm-s390/resource.h

include/asm-s390/resource.h Fri Nov 3 13:10:13 2000 renamed from include/asm-s390/resource.h Fri Sep 22 14:21:21 2000 +2 -2
@@ -27,13 +27,13 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY   (~0UL)
-
-#ifdef __KERNEL__
 
 #define INIT_RLIMITS                                   \
 {                                                      \

diff -ur linux-2.4.0-test10-orig/include/asm-sparc/resource.h linux-2.4.0-test10/include/asm-sparc/resource.h

include/asm-sparc/resource.h Fri Nov 3 13:09:46 2000 renamed from include/asm-sparc/resource.h Tue Oct 10 10:33:52 2000 +2 -1
@@ -25,6 +25,8 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+
 /*
  * SuS says limits have to be unsigned.
  * We make this unsigned, but keep the
@@ -32,7 +34,6 @@
  */
 #define RLIM_INFINITY  0x7fffffff
 
-#ifdef __KERNEL__
 #define INIT_RLIMITS                   \
 {                                      \
     {RLIM_INFINITY, RLIM_INFINITY},    \

diff -ur linux-2.4.0-test10-orig/include/asm-sparc64/resource.h linux-2.4.0-test10/include/asm-sparc64/resource.h

include/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 renamed from include/asm-sparc64/resource.h Tue Oct 10 10:33:52 2000 +2 -0
@@ -25,13 +25,14 @@
 
 #define RLIM_NLIMITS   11
 
+#ifdef __KERNEL__
+

include/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 line 38

Quoted 10 lines
include/asm-sparc64/resource.h Fri Nov 3 13:09:29 2000 renamed from include/asm-sparc64/resource.h Tue Oct 10 10:33:52 2000 +0 -1
 /*
  * SuS says limits have to be unsigned.
  * Which makes a ton more sense anyway.
  */
 #define RLIM_INFINITY  (~0UL)
 
-#ifdef __KERNEL__
 #define INIT_RLIMITS                   \
 {                                      \
     {RLIM_INFINITY, RLIM_INFINITY},    \

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#2 lore raw
In reply to H. Peter Anvin

[Jeff Merkey]

Quoted 2 lines

Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.

Yeah, it does, doesn't it. If this particular patch cured a kernel-side lockup I would be very surprised. Because the only effect this patch is *supposed* to have is the visibility of certain kernel header code when compiling userspace programs.

HPA, for what it's worth, which isn't much, I think your patch is spot-on..

Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#3 lore raw
In reply to H. Peter Anvin
Quoted 5 lines · Peter Samuelson

[Jeff Merkey]

Quoted 2 lines

Is this what is causing the lockup problems on 2.4.0-pre-10 with PPro, or something else. Looks like something else.

Quoted 7 lines

Yeah, it does, doesn't it. If this particular patch cured a kernel-side lockup I would be very surprised. Because the only effect this patch is *supposed* to have is the visibility of certain kernel header code when compiling userspace programs.

HPA, for what it's worth, which isn't much, I think your patch is spot-on..

I got a little further with the lock up problem, and it is related to MPS reporting a 2nd processor being present in some PPro systems when in fact only one CPU is really installed (but MPS is reporting default table entry 6 with a second CPU as present). What seems to be different here is that on this system, NT and NetWare both timeout on attempts to activate the non-existent CPU, while 2.4 hard hangs after sending a STARTUP_IPI command. hpa does some work on the APIC code I've noticed, so I thought I'd ask him about it.

Jeff

Quoted 2 lines

Peter

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#4 lore raw
In reply to H. Peter Anvin

[Jeff V. Merkey <[email protected]>]

Quoted 4 lines

I got a little further with the lock up problem, and it is related to MPS reporting a 2nd processor being present in some PPro systems when in fact only one CPU is really installed (but MPS is reporting default table entry 6 with a second CPU as present).

Wow, that's a lousy BIOS. You mean it actually *can't tell* if there's a CPU in the second socket or not?

I remember a couple years ago Linus remarked that *every time* Linux tried to rely on a BIOS feature, there'd be at least one bug report traceable to a buggy BIOS somewhere. Proven once again.... (:

Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/