Continuation of the D4346.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/i386/i386/pmap.c | ||
---|---|---|
660–661 ↗ | (On Diff #10722) | Here we'll invalidate 512-1024 pages; is that really cheaper than an invltlb_glob()? |
sys/i386/i386/pmap.c | ||
---|---|---|
641 ↗ | (On Diff #10722) | Note that this isn't a critical path, it's only called once during boot, so I'm not sure it's worth optimizing. |
sys/i386/i386/pmap.c | ||
---|---|---|
641 ↗ | (On Diff #10722) | Might as well boot as fast as possible. |
sys/i386/i386/pmap.c | ||
---|---|---|
641 ↗ | (On Diff #10722) | My issue with this isn't performance, but the logical inconsistency of issuing a PG_G flush when there are no PG_G mappings to flush. Except the ones created on the previous iteration. |
660–661 ↗ | (On Diff #10722) | No, not really, and there is little state in the TLB worth preserving. I'll suggest this line: invltlb(); /* Flush non-PG_G entries. */ |