mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
uprobes: Re-order struct uprobe_task to save some space
On x86_64, with allmodconfig, struct uprobe_task is 72 bytes long, with a hole and some padding. /* size: 72, cachelines: 2, members: 7 */ /* sum members: 64, holes: 1, sum holes: 4 */ /* padding: 4 */ /* forced alignments: 1, forced holes: 1, sum forced holes: 4 */ /* last cacheline: 8 bytes */ Reorder the structure to fill the hole and avoid the padding. This way, the whole structure fits in a single cacheline and some memory is saved when it is allocated. /* size: 64, cachelines: 1, members: 7 */ /* forced alignments: 1 */ Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: "Masami Hiramatsu (Google)" <mhiramat@kernel.org> Link: https://lore.kernel.org/r/a9f541d0cedf421f765c77a1fb93d6a979778a88.1730495562.git.christophe.jaillet@wanadoo.fr
This commit is contained in:
parent
2e71e8bc6f
commit
c554aa9ca9
@ -121,6 +121,9 @@ struct hprobe {
|
||||
struct uprobe_task {
|
||||
enum uprobe_task_state state;
|
||||
|
||||
unsigned int depth;
|
||||
struct return_instance *return_instances;
|
||||
|
||||
union {
|
||||
struct {
|
||||
struct arch_uprobe_task autask;
|
||||
@ -138,9 +141,6 @@ struct uprobe_task {
|
||||
unsigned long xol_vaddr;
|
||||
|
||||
struct arch_uprobe *auprobe;
|
||||
|
||||
struct return_instance *return_instances;
|
||||
unsigned int depth;
|
||||
};
|
||||
|
||||
struct return_consumer {
|
||||
|
Loading…
Reference in New Issue
Block a user