-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge gen_kobject_list.py and gen_priv_stacks.py #15304
Comments
Further detail:
Right now each script generates a gperf hash table and instantiates some objects gen_kobject_list.py:
gen_priv_stacks.py:
These do not have to be separate. These scripts do the same thing: perform a time-consuming analysis of the DWARF debug info to find kernel objects
Populate these appropriately for every stack object found, and set the data member of the stack's struct k_object to point to it. |
Note that elf_helper.py script was split out (in a rather rough fashion) to support this extra script, so really I'd like to see gen_kobject_list.py, gen_priv_stacks.py, and elf_helper.py all combined into a single script, that creates a single gperf table. |
Generation of privilege mode stack buffers can take place in the main gen_kobject_list.py script, there's no actual need for them to be separate. Any data/bss for objects declared in the gperf C file already goes in an area of memory which can expand without limit.
We just need the main gperf table; for any thread's kobject, the data field will point to a struct containing the thread ID and a pointer to its stack buffer.
Should help with build times as we only need to scan the DWARF data once instead of twice.
The text was updated successfully, but these errors were encountered: