From patchwork Fri Apr 9 23:01:40 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 49874 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9848DB7CFA for ; Sat, 10 Apr 2010 09:02:50 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756275Ab0DIXBj (ORCPT ); Fri, 9 Apr 2010 19:01:39 -0400 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:33616 "EHLO sunset.davemloft.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756120Ab0DIXBg (ORCPT ); Fri, 9 Apr 2010 19:01:36 -0400 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 87CBF24C090; Fri, 9 Apr 2010 16:01:40 -0700 (PDT) Date: Fri, 09 Apr 2010 16:01:40 -0700 (PDT) Message-Id: <20100409.160140.250344636.davem@davemloft.net> To: peterz@infradead.org CC: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, sparclinux@vger.kernel.org Subject: [PATCH 3/4] sched: Use local_irq_save_nmi() in cpu_clock() From: David Miller X-Mailer: Mew version 6.3 on Emacs 23.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org Since we can call cpu_clock() from NMI context fix up the IRQ disabling to conform to the new rules. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller --- kernel/sched_clock.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c index 5b49613..ef159ee 100644 --- a/kernel/sched_clock.c +++ b/kernel/sched_clock.c @@ -241,9 +241,9 @@ unsigned long long cpu_clock(int cpu) unsigned long long clock; unsigned long flags; - local_irq_save(flags); + local_irq_save_nmi(flags); clock = sched_clock_cpu(cpu); - local_irq_restore(flags); + local_irq_restore_nmi(flags); return clock; }