All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	David Daney <david.daney@cavium.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ralf Baechle <ralf@linux-mips.org>
Subject: Re: Linux 3.10-rc6
Date: Wed, 19 Jun 2013 09:57:19 -0700	[thread overview]
Message-ID: <51C1E2EF.7020106@caviumnetworks.com> (raw)
In-Reply-To: <20130617143851.480d327256b7cb54f292e147@linux-foundation.org>

On 06/17/2013 02:38 PM, Andrew Morton wrote:
> On Mon, 17 Jun 2013 14:26:01 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>
>> On 06/17/2013 02:13 PM, Andrew Morton wrote:
>>> On Mon, 17 Jun 2013 14:08:13 -0700 David Daney <ddaney@caviumnetworks.com> wrote:
>>>
>>>>>
>>>>> I think switch-back-to-a-macro is simplest and safest for now.  Perhaps
>>>>> you can queue a 3.11 patch which restores the C function and fixes up
>>>>> mn10300 and ia64?
>>>>>
>>>>
>>>> If the patch is reverted, I will do that.
>>>
>>> I'm not proposing that we revert f21afc25f9ed4.  Retain its
>>> functionality, but do it via a macro for 3.10.

FYI, these two commits:

c0691143dfe (mn10300: Fix include dependency in irqflags.h et al.)
f75773103d2 ([IA64] Fix include dependency in asm/irqflags.h)

... seem to fix all known breakage related to this issue.  So, the patch 
(to convert back to a macro) may not be necessary.

Sorry to create all this late -rc churn,
David Daney

>>>
>>
>> I misread your patch.  Your patch may be incorrect in that the flags
>> variable you introduce has name space collisions with code using the
>> macro.  Linus found this exact problem with the first version of my
>> patch (which was identical to your patch).
>
> Sigh.  Macros do so suck.
>
> --- a/include/linux/smp.h~include-linux-smph-on_each_cpu-switch-back-to-a-macro
> +++ a/include/linux/smp.h
> @@ -11,7 +11,6 @@
>   #include <linux/list.h>
>   #include <linux/cpumask.h>
>   #include <linux/init.h>
> -#include <linux/irqflags.h>
>
>   extern void cpu_idle(void);
>
> @@ -140,17 +139,14 @@ static inline int up_smp_call_function(s
>   }
>   #define smp_call_function(func, info, wait) \
>   			(up_smp_call_function(func, info))
> -
> -static inline int on_each_cpu(smp_call_func_t func, void *info, int wait)
> -{
> -	unsigned long flags;
> -
> -	local_irq_save(flags);
> -	func(info);
> -	local_irq_restore(flags);
> -	return 0;
> -}
> -
> +#define on_each_cpu(func, info, wait)		\
> +	({					\
> +		unsigned long __flags;		\
> +		local_irq_save(__flags);	\
> +		func(info);			\
> +		local_irq_restore(__flags);	\
> +		0;				\
> +	})
>   /*
>    * Note we still need to test the mask even for UP
>    * because we actually can get an empty mask from
> _
>
>> Once you fix the name of 'flags', I hope you don't run into the same
>> Include Hell on ia64 and mn10300 that I did.
>
> I build-tested ia64.  I don't have an mn10300 cross-compiler set up.
>
>


  parent reply	other threads:[~2013-06-19 16:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-15 22:12 Linux 3.10-rc6 Linus Torvalds
2013-06-16  8:36 ` Geert Uytterhoeven
2013-06-16 18:01   ` Linus Torvalds
2013-06-17 20:30     ` Andrew Morton
2013-06-17 20:48       ` David Daney
2013-06-17 20:59         ` Andrew Morton
2013-06-17 21:08           ` David Daney
2013-06-17 21:13             ` Andrew Morton
2013-06-17 21:26               ` David Daney
2013-06-17 21:38                 ` Andrew Morton
2013-06-18  8:37                   ` Geert Uytterhoeven
2013-06-19 16:57                   ` David Daney [this message]
2013-06-17 21:22       ` Geert Uytterhoeven
2013-06-16 12:37 ` Martin Steigerwald
2013-06-16 12:52   ` Linus Walleij
2013-06-16 13:45     ` Martin Steigerwald
2013-06-16 18:09   ` Linus Torvalds
2013-06-16 18:28     ` Linus Torvalds
2013-06-16 22:18       ` Davidlohr Bueso
2013-06-16 18:51     ` Martin Steigerwald
2013-06-16 19:51       ` Al Viro
2013-06-20  3:14         ` Steven Rostedt
2013-06-16 19:26     ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51C1E2EF.7020106@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=akpm@linux-foundation.org \
    --cc=david.daney@cavium.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.