tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Object dirtyness
With the merge of yamt-pagecache we have solid tracking of page dirtyness.
Dirtyness tracking of the containing uvm_object/vnode is not so solid by
comparison. For example you can call uvm_pagemarkdirty() on a vnode page,
but letting ioflush know about that is a separate step. When the page &
uvm_object state aren't consistent we get panics.
I'd like to change it so that:
- the vnode/uvm_object gets put on the syncer worklist as soon as it gains a
first dirty page, by having uvm_pagemarkdirty() do it.
- VI_WRMAPDIRTY is eliminated. I think it was really only to stop dirty
metadata buffers muddying the waters by implying dirty uvm_object, but the
radix tree can be checked cheaply & directly now.
http://www.netbsd.org/~ad/2020/dirty.diff
Comments?
Thanks,
Andrew
Home |
Main Index |
Thread Index |
Old Index