Performance of l4_task_unmap call
Chen Tian
chen.tian at acm.org
Wed Apr 25 02:36:52 CEST 2012
Hi,
I did a small test: a parent task first maps and then unmaps a page to its
child. Both parent and child task are running on the same core.
I found the execution is very slow and 99% time are spent on l4_task_unmap(
L4_FP_OTHER_SPACES flag is used).
After some investigation, I found the flag "need_xcpu_tlb_flush" in
map_util.cpp:766 is set to true. My guess is that this flag controls the
tlb of the cpu at which the child task is running. However, in my case,
both tasks are running on the same core, setting this flag can have huge
negative impact on performance.
I am thinking to put a check before this statement: if (current_cpu() !=
space's CPU) set the flag to true. Is this correct? If so, how to get
space's cpu?
space->cpu() ?
Thanks for the help.
Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120424/23ada34e/attachment.html>
More information about the l4-hackers
mailing list