From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S940321AbXGaGAA (ORCPT ); Tue, 31 Jul 2007 02:00:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755820AbXGaF7x (ORCPT ); Tue, 31 Jul 2007 01:59:53 -0400 Received: from gate.crashing.org ([63.228.1.57]:59355 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753633AbXGaF7w (ORCPT ); Tue, 31 Jul 2007 01:59:52 -0400 Subject: [PATCH] i386: flush_cpumask doesn't need "or" From: Benjamin Herrenschmidt To: Linux Kernel list Cc: Linus Torvalds , Andi Kleen Content-Type: text/plain Date: Tue, 31 Jul 2007 15:59:42 +1000 Message-Id: <1185861582.5495.424.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Did I miss something or do we needlessly do an "or" to flush_cpumask while we could just assign it ? We never exit that function with the mask not empty and we have a spinlock... Signed-off-by: Benjamin Herrenschmidt --- Index: linux-work/arch/i386/kernel/smp.c =================================================================== --- linux-work.orig/arch/i386/kernel/smp.c 2007-07-31 15:54:55.000000000 +1000 +++ linux-work/arch/i386/kernel/smp.c 2007-07-31 15:56:13.000000000 +1000 @@ -375,7 +375,8 @@ void native_flush_tlb_others(const cpuma flush_mm = mm; flush_va = va; - cpus_or(flush_cpumask, cpumask, flush_cpumask); + flush_cpumask = cpumask; + /* * We have to send the IPI only to * CPUs affected.