RE: [PATCH v8 4/9] kallsyms: Reduce the memory occupied by kallsyms_seqs_of_names[]
From: David Laight <hidden>
Date: 2022-11-02 12:01:23
Also in:
live-patching, lkml
From: David Laight <hidden>
Date: 2022-11-02 12:01:23
Also in:
live-patching, lkml
From: Zhen Lei
Sent: 02 November 2022 08:49 kallsyms_seqs_of_names[] records the symbol index sorted by address, the maximum value in kallsyms_seqs_of_names[] is the number of symbols. And 2^24 = 16777216, which means that three bytes are enough to store the index. This can help us save (1 * kallsyms_num_syms) bytes of memory.
You can get the compiler to do the 'heavy lifting' for you.
struct uint24 {
unsigned int val24:24;
} __attribute__((packed));
struct uint24 table[1024];
works fine.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)