On Mon, Dec 25, 2017 at 5:53 AM, Sagi Grimberg <s...@grimberg.me> wrote:
>
>> Before the offending commit, mlx5 core did the IRQ affinity itself,
>> and it seems that the new generic code have some drawbacks and one
>> of them is the lack for user ability to modify irq affinity after
>> the initial affinity values got assigned.
>>
>> The issue is still being discussed and a solution in the new generic code
>> is required, until then we need to revert this patch.
>>
>> This fixes the following issue:
>> echo <new affinity> > /proc/irq/<x>/smp_affinity
>> fails with  -EIO
>>
>> This reverts commit a435393acafbf0ecff4deb3e3cb554b34f0d0664.
>> Note: kept mlx5_get_vector_affinity in include/linux/mlx5/driver.h since
>
>> it is used in mlx5_ib driver.
>
> This won't work for sure because the msi_desc affinity cpumask won't
> ever be populated. You need to re-implement it in mlx5 if you don't want
> to break rdma ULPs that rely on it.

Are you sure it won't get populated at all  ? even if you manually set
IRQ affinity via sysfs ?
Anyway we can implement this driver helper function to return the IRQ
affinity hint stored in the driver:
 "cpumask_first(mdev->priv.irq_info[vector].mask);"

Reply via email to