Re: [PATCH 4/5] cpumask: convert drivers/net/sfc [PATCH supplied]

From: Mike Travis
Date: Tue Jan 20 2009 - 13:27:12 EST


Rusty Russell wrote:
> On Tuesday 20 January 2009 03:38:30 Ben Hutchings wrote:
>> On Wed, 2009-01-07 at 11:58 -0800, Mike Travis wrote:
>>> From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
>>>
>>> Impact: reduce stack usage, use new cpumask API.
>>>
>>> Remove a cpumask from the stack. Ben Hutchings indicated that printing
>>> a warning and returning 1 was acceptable for the corner case where allocation
>>> fails.
>>>
>>> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
>>> Signed-off-by: Mike Travis <travis@xxxxxxx>
>>> Cc: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx>
>>> Cc: linux-net-drivers@xxxxxxxxxxxxxx
>> Acked-by: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx>
>>
>> This seems to work.
>>
>>> ---
>>> drivers/net/sfc/efx.c | 15 +++++++++++----
>>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c
>>> --- a/drivers/net/sfc/efx.c
>>> +++ b/drivers/net/sfc/efx.c
>>> @@ -854,20 +854,27 @@ static void efx_fini_io(struct efx_nic *
>>> * interrupts across them. */
>>> static int efx_wanted_rx_queues(void)
>>> {
>>> - cpumask_t core_mask;
>>> + cpumask_var_t core_mask;
>>> int count;
>>> int cpu;
>>>
>>> - cpus_clear(core_mask);
>>> + if (!alloc_cpumask_var(&core_mask, GFP_KERNEL)) {
>>> + printk(KERN_WARNING
>>> + "efx.c: allocation failure, irq balancing hobbled\n");
>> [...]
>>
>> This is an exceedingly unlikely error case so the error message is not
>> that important, but if you don't mind re-spinning this then please make
>> it "sfc: RSS disabled due to allocation failure\n".
>
> OK, I'm away from all my machines, at linux.conf.au. Mike, can you change
> this if you haven't already?
>
> Thanks,
> Rusty.
>

Subject: sfc: modify allocation error message

Impact: change error message when alloc_cpumask_var fails.

Signed-off-by: Mike Travis <travis@xxxxxxx>
---
drivers/net/sfc/efx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6-for-ingo.orig/drivers/net/sfc/efx.c
+++ linux-2.6-for-ingo/drivers/net/sfc/efx.c
@@ -858,9 +858,9 @@ static int efx_wanted_rx_queues(void)
int count;
int cpu;

- if (!alloc_cpumask_var(&core_mask, GFP_KERNEL)) {
+ if (unlikely(!alloc_cpumask_var(&core_mask, GFP_KERNEL))) {
printk(KERN_WARNING
- "efx.c: allocation failure, irq balancing hobbled\n");
+ "sfc: RSS disabled due to allocation failure\n");
return 1;
}



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/