[Barrelfish-users] Unmappin pages, tlb flushing
Hegazi, Abdel Rahman Farag Abdel Hakim
ahegazi at connect.hku.hk
Thu May 23 10:34:58 CEST 2013
I have a bit long question regarding the unmapping you do here,
1 - Check the function page_mappings_unmap () at
~/kernel/arch/x86_32/page_mapping_arch.c and also unmap_capability() in
paging_generic.c file, I can see that you only do the tlb flushing one it
is just one page you just do either do_one_tlb_flush(vaddr) if #page ==1
or do_full_tlb_flush() if #pages>1 why don't you use the third implemented
function that unmap a contioneous region, or is this related to the cost of
doing that as I don't know exactly if you did any benchmark on that
implementation or not, as I can think about some other workaround but
need matchmaking to measure it how much expensive it is? and one thing
checking the code of TLB flushing you just commented that
do_full_tlb_flush() still very expensive and you said it isn't safe for the
many-core .. would you please explain that UNSAFE for many core as we just
reload the cr3 for that specific tlb?
2- I wanna ask about the page table, as this point still not that clear are
you dupllicating it between the cores in the same domain?
PhD student, Computer Science,
Faculty of Engineering,
Hong Kong University.
E-mail : abdo.hegazi at connect.hku.hk <ahegazi at hku.hk>
Mobile : (+852) 53053884
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users