-----Original Message----- From: Mike Christie [mailto:michaelc@xxxxxxxxxxx] Sent: Saturday, February 01, 2014 2:47 PM To: Jayamohan Kallickal Cc: jbottomley@xxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; Jayamohan Kallickal; Sony John-N Subject: Re: [PATCH 3/8] be2iscsi : Fix IRQ_Affinity support in driver. On 01/29/2014 01:16 AM, Jayamohan Kallickal wrote: > + > + if (msix_vec) { > + if (cpu_online(cpu_index)) > + cpumask_set_cpu(cpu_index, > + &phba->msix_cpu_map[ > + cpu_index].affinity_mask); > + else > + cpumask_copy(&phba->msix_cpu_map[ > + cpu_index].affinity_mask, > + cpu_online_mask); > + I think this code works, but I am not sure if this what you wanted to do. It seems we set num_cpus in find_num_cpus. It can be the number of online or some driver limited value. We then loop for (i = 0; i < num_cpus i++). Above, then if the cpu is not online then you just set it to the online cpu mask instead of a specific cpu. Is it possible num_cpus can be 7, but it is possible the online cpus are 0 to 5 and 8. So, when you loop the last vec is set to all online cpus instead of 8 when it is possible to set it to a specific cpu? Do you want to be doing a for_each_online_cpu to loop instead? Yes, the original code could have the behavior you had explained. I want to rewrite that portion and will send this as as part of the next patchset. For now, I want to withdraw this patch i.e PATCH 3/8. Thanks Jay --l -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html