On 10/27/2017 01:22 PM, Andi Kleen wrote:
The nlru->lock in list_lru_shrink_walk() is the only thing that keeps
truncation blocked on workingset_update_node() -> list_lru_del() and
so ultimately keeping it from freeing the radix tree node.
It's not safe to access the nodes on the private list after that.
True.
Batching mapping->tree_lock is possible, but you have to keep the
lock-handoff scheme. Pass a &mapping to list_lru_shrink_walk() and
only unlock and spin_trylock(&mapping->tree_lock) if it changes?
Yes something like that could work. Thanks.
My mistake, I didn't see this other thread and clearly missed this issue.
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>