> Possibly, I didn't see a quick way to break that iteration. > >From a quick glance at prio_tree.c the iterator isn't valid anymore > after releasing i_mmap_lock. Fixing that would be,.. 'fun'.
Maybe i_mmap_lock isn't needed at all, since msync holds mmap_sem, which protects the prio tree as well, no? > I also realized I forgot to copy/paste the prio_tree_iter declaration > and ought to make all these functions static. > > But for a quick draft it conveys the idea pretty well, I guess :-) Yes :) There could also be nasty performance corner cases, like having a huge file mapped thousands of times, and having only a couple of pages dirtied between MS_ASYNC invocations. Then most of that page table walking would be just unnecessary overhead. There's something to be said for walking only the dirty pages, and doing page_mkclean on them, even if in some cases that would be slower. But I have a strong feeling of deja vu, and last time it ended with Andrew not liking the whole thing... Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/