Re: 2.5.69-mm4

From: William Lee Irwin III (wli@holomorphy.com)
Date: Tue May 13 2003 - 15:25:08 EST


On Mon, May 12, 2003 at 10:55:04PM -0700, Andrew Morton wrote:
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.69/2.5.69-mm4/
>> Lots of small things.

On Tue, May 13, 2003 at 01:17:34PM -0700, William Lee Irwin III wrote:
> Nuke various warnings:
> (1) noreturn function does return all over i386 arch code
> (2) CONFIG_SHARE_RUNQUEUE bits, mostly Helge Hafting's thing, but also
> handle some more arch code nailed by it
> (3) some kind of dmi_blacklist excess array initializer oddity

Take 2: I missed one of the noreturns, in machine_halt_1():

diff -prauN mm4-2.5.69-1/arch/i386/kernel/apic.c mm4-2.5.69-2/arch/i386/kernel/apic.c
--- mm4-2.5.69-1/arch/i386/kernel/apic.c 2003-05-13 12:16:23.000000000 -0700
+++ mm4-2.5.69-2/arch/i386/kernel/apic.c 2003-05-13 12:32:08.000000000 -0700
@@ -1204,6 +1204,9 @@ void stop_apics(NORET_TYPE void(*rest)(v
                 set_cpus_allowed(current, 1 << arg.reboot_cpu_id);
         }
         on_each_cpu(cpu_stop_apics, &arg, 1, 0);
+ while (1) {
+ ;
+ }
 }
 
 /*
diff -prauN mm4-2.5.69-1/arch/i386/kernel/cpu/proc.c mm4-2.5.69-2/arch/i386/kernel/cpu/proc.c
--- mm4-2.5.69-1/arch/i386/kernel/cpu/proc.c 2003-05-13 12:16:24.000000000 -0700
+++ mm4-2.5.69-2/arch/i386/kernel/cpu/proc.c 2003-05-13 12:44:27.000000000 -0700
@@ -115,7 +115,7 @@ static int show_cpuinfo(struct seq_file
                      fpu_exception ? "yes" : "no",
                      c->cpuid_level,
                      c->wp_works_ok ? "yes" : "no");
-#ifdef CONFIG_SHARE_RUNQUEUE
+#if CONFIG_SHARE_RUNQUEUE
 {
         extern long __rq_idx[NR_CPUS];
 
diff -prauN mm4-2.5.69-1/arch/i386/kernel/dmi_scan.c mm4-2.5.69-2/arch/i386/kernel/dmi_scan.c
--- mm4-2.5.69-1/arch/i386/kernel/dmi_scan.c 2003-05-13 12:16:24.000000000 -0700
+++ mm4-2.5.69-2/arch/i386/kernel/dmi_scan.c 2003-05-13 12:47:01.000000000 -0700
@@ -816,7 +816,8 @@ static __initdata struct dmi_blacklist d
         { acer_cpufreq_pst, "Acer Aspire", {
                         MATCH(DMI_SYS_VENDOR, "Insyde Software"),
                         MATCH(DMI_BIOS_VERSION, "3A71"),
- NO_MATCH, NO_MATCH, NO_MATCH
+ NO_MATCH,
+ NO_MATCH,
                         } },
 
         { NULL, }
diff -prauN mm4-2.5.69-1/arch/i386/kernel/reboot.c mm4-2.5.69-2/arch/i386/kernel/reboot.c
--- mm4-2.5.69-1/arch/i386/kernel/reboot.c 2003-05-13 12:16:24.000000000 -0700
+++ mm4-2.5.69-2/arch/i386/kernel/reboot.c 2003-05-13 13:04:24.000000000 -0700
@@ -229,7 +229,8 @@ void machine_real_restart(unsigned char
                                 : "i" ((void *) (0x1000 - sizeof (real_mode_switch) - 100)));
 }
 
-static void machine_restart_1(void * __unused)
+static NORET_TYPE void machine_restart_1(void *) ATTRIB_NORET;
+static NORET_TYPE void machine_restart_1(void *__unused)
 {
         if(!reboot_thru_bios) {
                 /* rebooting needs to touch the page at absolute addr 0 */
@@ -243,26 +244,37 @@ static void machine_restart_1(void * __u
         }
 
         machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
+ while (1) {
+ ;
+ }
 }
 void machine_restart(char * __unused)
 {
         stop_apics(machine_restart_1, 0);
 }
 
-static void machine_halt_1(void * __unused)
+static NORET_TYPE void machine_halt_1(void *) ATTRIB_NORET;
+static NORET_TYPE void machine_halt_1(void *__unused)
 {
         stop_this_cpu();
+ while (1) {
+ ;
+ }
 }
 void machine_halt(void)
 {
         stop_apics(machine_halt_1, 0);
 }
 
-static void machine_power_off_1(void * __unused)
+static NORET_TYPE void machine_power_off_1(void *) ATTRIB_NORET;
+static NORET_TYPE void machine_power_off_1(void *__unused)
 {
         if (pm_power_off)
                 pm_power_off();
         stop_this_cpu();
+ while (1) {
+ ;
+ }
 }
 void machine_power_off(void)
 {
diff -prauN mm4-2.5.69-1/include/linux/sched.h mm4-2.5.69-2/include/linux/sched.h
--- mm4-2.5.69-1/include/linux/sched.h 2003-05-13 12:16:38.000000000 -0700
+++ mm4-2.5.69-2/include/linux/sched.h 2003-05-13 12:45:02.000000000 -0700
@@ -158,7 +158,7 @@ extern void init_idle(task_t *idle, int
 # define CONFIG_NR_SIBLINGS 0
 #endif
 
-#ifdef CONFIG_NR_SIBLINGS
+#if CONFIG_NR_SIBLINGS
 # define CONFIG_SHARE_RUNQUEUE 1
 #else
 # define CONFIG_SHARE_RUNQUEUE 0
diff -prauN mm4-2.5.69-1/kernel/sched.c mm4-2.5.69-2/kernel/sched.c
--- mm4-2.5.69-1/kernel/sched.c 2003-05-13 12:16:39.000000000 -0700
+++ mm4-2.5.69-2/kernel/sched.c 2003-05-13 12:44:05.000000000 -0700
@@ -161,7 +161,7 @@ struct prio_array {
  * restrictions on the mappings - there can be 4 CPUs per
  * runqueue or even assymetric mappings.)
  */
-#ifdef CONFIG_SHARE_RUNQUEUE
+#if CONFIG_SHARE_RUNQUEUE
 # define MAX_NR_SIBLINGS CONFIG_NR_SIBLINGS
   long __rq_idx[NR_CPUS] __cacheline_aligned;
   static long __cpu_idx[NR_CPUS] __cacheline_aligned;
@@ -1188,7 +1188,7 @@ out:
         ;
 }
 
-#ifdef CONFIG_SHARE_RUNQUEUE
+#if CONFIG_SHARE_RUNQUEUE
 static void active_load_balance(runqueue_t *this_rq, int this_cpu)
 {
         runqueue_t *rq;
@@ -2789,7 +2789,7 @@ void __init sched_init(void)
                 /*
                  * Start with a 1:1 mapping between CPUs and runqueues:
                  */
-#ifdef CONFIG_SHARE_RUNQUEUE
+#if CONFIG_SHARE_RUNQUEUE
                 rq_idx(i) = i;
                 cpu_idx(i) = 0;
 #endif
-
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/



This archive was generated by hypermail 2b29 : Thu May 15 2003 - 22:00:47 EST