We are now out of aflags bits, whereas the "flags" field only makes use
of five of its sixteen bits. I have no intention of adding a new aflag
in the near future, but would like to combine the aflags, queue and
act_count fields into a single atomically updated word. This will allow
vm_page_pqstate_cmpset() to become much simpler and is a step towards
eliminating the use of the page lock array in updating per-page queue
state.
Details
Details
- Reviewers
alc kib dougm jeff - Commits
- rS354820: Widen the vm_page aflags field to 16 bits.
Diff Detail
Diff Detail
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 27580 Build 25797: arc lint + arc unit
Event Timeline
sys/vm/vm_page.h | ||
---|---|---|
239 | Change the type to uint8_t since you are moving the line ? |
sys/vm/vm_page.h | ||
---|---|---|
438 | I think that would be fine since I am changing the layout of struct vm_page anyway. | |
719 | I think so, but in the next patch I will actually add a typedef struct vm_page_astate { uint16_t flags; uint8_t queue; uint8_t act_count; } vm_page_astate_t; and pass that around instead, so I do not think there is much value in adding a typedef specifically for the flags. |