Re: [PATCH] powerpc: make irq_chip const, __initdata and __initconst

From: Michael Ellerman
Date: Wed Sep 20 2017 - 07:11:38 EST


Julia Lawall <julia.lawall@xxxxxxx> writes:

> On Wed, 20 Sep 2017, Michael Ellerman wrote:
>
>> Bhumika Goyal <bhumirks@xxxxxxxxx> writes:
>>
>> > Make ehv_pic_irq_chip, mpic_ipi_chip and mpic_tm_chip const as they are
>> > used only as a copy operation. This usage is during init, so make them
>> > __initconst too.
>> > Make mpic_ipi_chip __initdata as it is only modified during the init
>> > phase and there is no reference of it anywhere after init.
>>
>> The change log doesn't seem to match the code.
>>
>> It's mpic_tm_chip which you marked __initdata, and that looks wrong, as
>> we keep a pointer to it here:
>>
>> mpic->hc_tm = mpic_tm_chip;
>
> This looks like a memory copy.

Yes you're right.

That's pretty horrible given the size of struct irq_chip, but it's not a
bug in this patch.

There are 5 struct irq_chip's embedded in struct mpic, it must be
enormous!

cheers