On 2023/07/12 17:17, lijiang wrote:
On Wed, Jul 12, 2023 at 3:49 PM HAGIO KAZUHITO(萩尾 一仁)
<k-hagio-ab(a)nec.com>
wrote:
> On 2023/07/12 16:30, lijiang wrote:
>> On Fri, Jul 7, 2023 at 2:17 PM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab(a)nec.com
>>
>> wrote:
>>
>>> From: Kazuhito Hagio <k-hagio-ab(a)nec.com>
>>>
>>> Kernel commit 721255b982 ("genirq: Use a maple tree for interrupt
>>> descriptor management"), which is contained in Linux 6.5-rc1 and later
>>> kernels, replaced irq_desc_tree with a maple tree sparse_irqs.
>>>
>>>
>> Thank you for the fix, Kazu. Only two comments:
>>
>> Without the patch, "irq [-a|-s]" options fails with an error, e.g.
the
>>> following on x86_64, on kernels configured with CONFIG_SPARSE_IRQS=y.
>>>
>>
>> ^^^^^
>>
>> It should be "CONFIG_SPARSE_IRQ=y", the following code comment is
right.
>> Maybe it's a typo?
>> + /* 6.5 and later: CONFIG_SPARSE_IRQ */
>
> Yes, you are right. Will fix the commit log.
>
>>> @@ -5419,8 +5421,8 @@ x86_64_get_irq_affinity(int irq)
>>> static void
>>> x86_64_show_interrupts(int irq, ulong *cpus)
>>> {
>>> - if (symbol_exists("irq_desc") ||
>>> - kernel_symbol_exists("irq_desc_ptrs") ||
>>>
>>
>> The check for kernel_symbol_exists("irq_desc_ptrs") is removed in
this
>> function, is that expected behavior? But the above two functions still
>> retain the kernel_symbol_exists("irq_desc_ptrs") condition check.
>
> ugh, thank you for pointing this out, I didn't intend to remove it.
> Will fix this and post a v2.
>
>
In addition, I also saw that there is a similar case on IA64 arch, but I
can not test it. Maybe leave it there?
static void
ia64_dump_irq(int irq)
{
if (symbol_exists("irq_desc") || symbol_exists("_irq_desc")
||
kernel_symbol_exists("irq_desc_ptrs")) {
machdep->dump_irq = generic_dump_irq;
return(generic_dump_irq(irq));
}
...
}
I also cannot test ia64, but it will be needed, let's add it here too.
Thanks,
Kazu