From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geert Uytterhoeven Subject: Re: [PATCH] ftrace: handle archs that do not support irqs_disabled_flags Date: Sat, 25 Oct 2008 10:24:11 +0200 (CEST) Message-ID: References: <20081023213637.eff9b414.sfr@canb.auug.org.au> <20081023121145.GB27984@x200.localdomain> <49008D12.5090204@gmail.com> <4900B414.7090002@gmail.com> <20081023163433.GA3160@x200.localdomain> <20081023163850.GB16591@elte.hu> <4901D8CD.7000405@gmail.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: Received: from nelson.telenet-ops.be ([195.130.133.66]:58939 "EHLO nelson.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751878AbYJYIYX (ORCPT ); Sat, 25 Oct 2008 04:24:23 -0400 In-Reply-To: Sender: linux-m68k-owner@vger.kernel.org List-Id: linux-m68k@vger.kernel.org To: Steven Rostedt Cc: Frederic Weisbecker , Ingo Molnar , Alexey Dobriyan , Stephen Rothwell , Richard Henderson , Greg Ungerer , Linux/m68k , linux-next@vger.kernel.org, LKML , Andrew Morton On Fri, 24 Oct 2008, Steven Rostedt wrote: > Some architectures do not support a way to read the irq flags that > is set from "local_irq_save(flags)" to determine if interrupts were > disabled or enabled. Ftrace uses this information to display to the user > if the trace occurred with interrupts enabled or disabled. Both alpha #define irqs_disabled() (getipl() == IPL_MAX) and m68k static inline int irqs_disabled(void) { unsigned long flags; local_save_flags(flags); return flags & ~ALLOWINT; } do have irqs_disabled(), but they don't have irqs_disabled_flags(). M68knommu has both, but they don't check the same thing: #define irqs_disabled() \ ({ \ unsigned long flags; \ local_save_flags(flags); \ ((flags & 0x0700) == 0x0700); \ }) static inline int irqs_disabled_flags(unsigned long flags) { if (flags & 0x0700) return 0; else return 1; } Is there a semantic difference between them (except that the latter takes the flags as a parameter)? Or can we just extract the core logic of irqs_disabled() into irqs_disabled_flags()? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds