Details
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Modulo my latest comments of the last few minutes, I am happy with all of the changes related to pmap_demote_DMAP(). I am still thinking about the other changes relating to pmap_enter_pde(). Can you go ahead and commit the pmap_demote_DMAP() changes? I am indifferent to whether you or I commit the changes in this revision. You can decide. I would happily update this revision after your pmap_demote_DMAP() changes are committed, and commit it.
sys/amd64/amd64/pmap.c | ||
---|---|---|
6147 | I kept VM_ALLOC_INTERRUPT here, but your patch removed it from pmap_demote_pdpe(). Which do we want? | |
10061 | I've been thinking about adding an assertion that the *pde is not managed to help explain passing NULL for the lockp. Opinion:? |
sys/amd64/amd64/pmap.c | ||
---|---|---|
6147 | You mean the allocation in pmap_demote_pdpe()? I removed VM_ALLOC_INTERRUPT on principle that the flag is the last resort to to prevent the fatal consequences, and since the allocation failure no longer panic, we do not need to be so demanding for the page. The intended use for DMAP demotion is some driver load, so at worst we get the inability to attach to some device. On the other hand, pmap_demote_pde() failure could be still fatal. For instance, pmap_unwire() has one more panic. | |
10061 | You mean, MPASS((*pde & PG_MANAGED) == 0); This would still require a comment linking it to NULL lockp, but how can it be opposed? |