In the long term we will want to get rid of allpmaps entirely, but this
change is needed until that happens.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I must admit that the use of allpmaps in riscv pmap is somewhat strange. Can we preallocate kernel l1 tables and do not touch them later at all, only copying the kernel part into each new user pmap ?
Regardless of that, why is pmap_distribute_l1() is called from pmap_unwire_l3() ? I do not think that we ever shrink the kernel page tables, this cannot work I believe.
I think so. I had this approach in mind but didn't implement it yet.
Regardless of that, why is pmap_distribute_l1() is called from pmap_unwire_l3() ? I do not think that we ever shrink the kernel page tables, this cannot work I believe.
One reason to avoid this is because page allocation may fail and we can't tolerate that; pmap_enter() simply panics in that case. Is there another reason?