[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48C544EA.9050106@sgi.com>
Date: Mon, 08 Sep 2008 08:29:46 -0700
From: Mike Travis <travis@....com>
To: Bert Wesarg <bert.wesarg@...glemail.com>
CC: Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
davej@...emonkey.org.uk, David Miller <davem@...emloft.net>,
Eric Dumazet <dada1@...mosbay.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Jack Steiner <steiner@....com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Jes Sorensen <jes@....com>, "H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org
Subject: Re: [RFC 11/13] genapic: reduce stack pressuge in io_apic.c step
3 target_cpus
Bert Wesarg wrote:
> On Sun, Sep 7, 2008 at 01:50, Mike Travis <travis@....com> wrote:
>> * Step 3 "target_cpus" of cleaning up io_apic.c modifies the TARGET_CPUS
>> interface to pass a pointer to the returned mask for arch X86_64,
>> removing yet another "cpumask_t variable on the stack".
>>
>> target_cpus = TARGET_CPUS;
>>
>> becomes:
>>
>> TARGET_CPUS(target_cpus);
>>
>> For x86_32 this is expanded to:
>>
>> target_cpus = (genapic->target_cpus());
>>
>> For x86_64 this is expanded to:
>>
>> target_cpus = (genapic->target_cpus)(&(target_cpus));
> But its expended to:
> (genapic->target_cpus)(&(target_cpus));
Umm, right, my cut and paste error...
Thanks,
Mike
>
>> -#define TARGET_CPUS (genapic->target_cpus())
>> +#define TARGET_CPUS(retval) (genapic->target_cpus)(&(retval))
>
>
>> +#ifdef CONFIG_X86_64
>> +#define TARGET_CPUS(retval) (genapic->target_cpus)(&(retval))
>> +#else
>> +#define TARGET_CPUS(retval) retval = (genapic->target_cpus())
>> +#endif
>
> Bert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists