Please enable JavaScript.
Coggle requires JavaScript to display documents.
ubd lazy page release - Coggle Diagram
ubd lazy page release
design
how to check idle
per-queue timer
task_work_add
so check in ubdsrv daemon context
re-caculate timeout in work handler
start with 10 sec timeout
per-io last idle
store jiffies when received UBD_IO_COMMIT_AND_FETCH_REQ
how to store pages
per-io xa?
plain array
per-queue xarray?
looks good
key: tag + page_seq, val: page
run out of pinned page's budget
done in V2
exceptions
what if ubdsrv changes io buffer?
stop use laze pinned page release
release all pages cached for this slot
ubq_daemon exits
release all pinned pages in cache
ideas
release pinned pages after the io is idle for long enough
release all pages after averae request size after 10sec
release pages in (16k, avg_size] after 20sec idle
release the first 4k page after 60sec idle
predicate the average reques size by EWMA