On Mon, 2022-11-07 at 14:39 -0800, Song Liu wrote: > Allocate 2MB pages up to round_up(_etext, 2MB), and register memory > [round_up(_etext, 4kb), round_up(_etext, 2MB)] with > register_text_tail_vm > so that we can use this part of memory for dynamic kernel text (BPF > programs, etc.). > > Here is an example: > > [root@eth50-1 ~]# grep _etext /proc/kallsyms > ffffffff82202a08 T _etext > > [root@eth50-1 ~]# grep bpf_prog_ /proc/kallsyms | tail -n 3 > ffffffff8220f920 t > bpf_prog_cc61a5364ac11d93_handle__sched_wakeup [bpf] > ffffffff8220fa28 t > bpf_prog_cc61a5364ac11d93_handle__sched_wakeup_new [bpf] > ffffffff8220fad4 t > bpf_prog_3bf73fa16f5e3d92_handle__sched_switch [bpf] > > [root@eth50-1 ~]# grep 0xffffffff82200000 > /sys/kernel/debug/page_tables/kernel > 0xffffffff82200000-0xffffffff82400000 2M ro PSE x > pmd > > ffffffff82200000-ffffffff82400000 is a 2MB page, serving kernel text, > and > bpf programs. > > Signed-off-by: Song Liu <song@xxxxxxxxxx> Please update Documentation/x86/x86_64/mm.txt and teach places that check if an address is text about it.