Re: [patch][rfc] acpi: do not use kmem caches

Alexey Starikovskiy
2008-12-01T17:36:53Z

Pekka Enberg wrote:
> On Mon, Dec 1, 2008 at 7:25 PM, Pekka Enberg <penberg@cs.helsinki.fi> wrote:
>
>> Though I suspect using kmem caches to combat the internal
>> fragmentation caused by kmalloc() rounding is not worth it in this
>> case.
>>
>
> Btw, just for the record, the ACPI objects are indeed a bad fit for
> kmalloc() as reported by SLUB statistics:
>
> [ The size of ACPI kmem caches with wasted bytes per object in parenthesis. ]
>
> 32-bit size 64-bit size
> Acpi-Namespace 24 (8) 32 (0)
> Acpi-Operand 40 (24) 72 (24)
> Acpi-Parse 32 (0) 48 (16)
> Acpi-ParseExt 44 (20) 72 (24)
> Acpi-State 44 (20) 80 (16)
>
> Though I suspect this situation could be improved by avoiding those
> fairly big unions ACPI does (like union acpi_operand_object).
>
No, last time I checked, operand may get down to 16 bytes in 32-bit case
-- save byte by having 3 types of operands... and making 2 more caches :)