On 10/13/2015 02:48 PM, Thomas Gleixner wrote:
On Tue, 13 Oct 2015, Qais Yousef wrote:
+#ifdef CONFIG_GENERIC_IRQ_IPI
+void generic_smp_send_ipi_single(int cpu, unsigned int action)
Please use a mips name space. This suggests that it s completely
generic, which is not true.
+{
+ generic_smp_send_ipi_mask(cpumask_of(cpu), action);
+}
+
+void generic_smp_send_ipi_mask(const struct cpumask *mask, unsigned int action)
Ditto.
OK.
+{
+ unsigned long flags;
+ unsigned int core;
+ int cpu;
+ struct ipi_mask ipi_mask;
+
+ ipi_mask.cpumask = ((struct cpumask *)mask)->bits;
We have accessors for that. Hmm, so for this case we must make the
ipi_mask different:
struct ipi_mask {
unsigned int nbits;
bool global;
union {
struct cpumask *mask;
unsigned long cpu_bitmap[];
};
};
Right. This looks cleaner for sure. Not sure why I haven't though about
this.
Thanks,
Qais