Hi Maintainers,
I have a question about "__ref" in Linux kernel.
When I looked into the __irq_alloc_descs(), I found it tagged a
"__ref" mark, but I didn't find that it referenced code or data
from init section.
So, I confuse why the "__ref" is needed in __irq_alloc_descs()?
any other reasons?
And after I tested, seems "__ref" just puts the code into a different
section that is not checked by modpost. It does not affect the
performance whether it is tagged or not. Is it right?
Thanks,
dou.
On Fri, 9 Mar 2018, Dou Liyang wrote:
> I have a question about "__ref" in Linux kernel.
>
> When I looked into the __irq_alloc_descs(), I found it tagged a
> "__ref" mark, but I didn't find that it referenced code or data
> from init section.
See the various
#define irq_alloc_desc*
variants. That will give you enough use cases from init.
> And after I tested, seems "__ref" just puts the code into a different
> section that is not checked by modpost. It does not affect the
> performance whether it is tagged or not. Is it right?
Well having code in a different section can cause performance issues, but
that only matters in a hotpath. irq_alloc_desc* is not performance critical
at all, so nothing to worry about.
Thanks,
tglx