Skip to contentSkip to conversation

x86_64: Replace local_save_flags+local_irq_disable with local_irq_save.

PATCH In review Fernando Luis Vázquez Cao 2 participants 2 messages Aug 2, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86_64: Replace local_save_flags+local_irq_disable with local_irq_save.

The combination of "local_save_flags" and "local_irq_disable" seems to be equivalent to "local_irq_save" (see code snips below). Consequently, replace occurrences of local_save_flags+local_irq_disable with local_irq_save.

* local_irq_save

#define raw_local_irq_save(flags) \
                do { (flags) = __raw_local_irq_save(); } while (0)

static inline unsigned long __raw_local_irq_save(void)

{
        unsigned long flags = __raw_local_save_flags();

        raw_local_irq_disable();

        return flags;
}

* local_save_flags

#define raw_local_save_flags(flags) \
                do { (flags) = __raw_local_save_flags(); } while (0)

---

arch/x86_64/kernel/apic.c +1 -2
diff -urNp linux-2.6.18-rc3/arch/x86_64/kernel/apic.c linux-2.6.18-rc3-orig/arch/x86_64/kernel/apic.c
@@ -527,8 +527,7 @@ static int lapic_suspend(struct sys_devi
 	apic_pm_state.apic_tmict = apic_read(APIC_TMICT);
 	apic_pm_state.apic_tdcr = apic_read(APIC_TDCR);
 	apic_pm_state.apic_thmr = apic_read(APIC_LVTTHMR);
-	local_save_flags(flags);
-	local_irq_disable();
+	local_irq_save(flags);
 	disable_local_APIC();
 	local_irq_restore(flags);
 	return 0;
arch/x86_64/kernel/genapic_flat.c +1 -2
diff -urNp linux-2.6.18-rc3/arch/x86_64/kernel/genapic_flat.c linux-2.6.18-rc3-orig/arch/x86_64/kernel/genapic_flat.c
@@ -49,8 +49,7 @@ static void flat_send_IPI_mask(cpumask_t
 	unsigned long cfg;
 	unsigned long flags;
 
-	local_save_flags(flags);
-	local_irq_disable();
+	local_irq_save(flags);
 
 	/*
 	 * Wait for idle.
#1 lore raw
Quoted 3 lines · Fernando Luis Vázquez Cao

The combination of "local_save_flags" and "local_irq_disable" seems to be equivalent to "local_irq_save" (see code snips below). Consequently, replace occurrences of local_save_flags+local_irq_disable with local_irq_save.

Added thanks

-Andi