Re: Profiling execution time for __alloc_pages_nodemask

From: David Hildenbrand
Date: Mon May 10 2021 - 11:05:50 EST


On 10.05.21 16:57, Shivank Garg wrote:
Hi Everyone!

I want to profile the time taken to execute the __alloc_pages_nodemask
for different linux configurations/parameters.
To measure the execution time, I use the ktime_get() apis. I get the
ktime_get() on the top, and I want to do ktime_sub(ktime_get(),ktime)
and record it in a tracepoint.

Don't tracepoints already record a timestamp? It's bee a while since I worked with tracepoints ...

However, the patch on implementation prevents the kernel from booting
up. I debugged the bug to find out that the issue recurs on adding
ktime_get() inside the __alloc_pages_nodemask path. So, that the
kernel fails to boot up ( and show the blank screen without any logs )
I'm using the Linux kernel 5.6.13 (5821a5593fa9f28eb6fcc95c35d00454d9bb8624)

Are you maybe calling ktime_get() too early during boot, where some subsystems are just about to be brought up?


Is it an expected behavior? or a BUG? Has anyone else faced the same issue?

Can you please suggest, what would be a good way to measure execution
time for page allocation (if not ktime_get)

I could have sworn ordinary tracepoints would already give you a timestamp ...

--
Thanks,

David / dhildenb