Re: [PATCH 2/3] mm: Implement writeback livelock avoidance using page tagging

Nick Piggin
2010-02-15T16:37:19Z

On Mon, Feb 15, 2010 at 11:24:53AM -0500, Christoph Hellwig wrote:
> On Tue, Feb 16, 2010 at 03:21:27AM +1100, Nick Piggin wrote:
> > Also, I wonder what you think about leaving the tags dangling when
> > the loop bails out early? I have a *slight* concern about this
> > because previously we never have a tag set when radix_tree_delete
> > is called. I actually had a bug in that code in earlier versions
> > of rcu radix tree that only got found by the user test harness.
> > And another slight concern that it is just a bit ugly to leave the
> > tag. But I can accept that lower CPU overhead trumps ugliness :)
>
> The XFS inode cache calls radix_tree_delete with a tag set, and
> interestingly enough we're trying to catch a very weird bug in that
> area currently, which seems more or less directly related to the use
> of tags. But we also had a real locking bug related to tags, so I'm
> not yet sure what the issue is back until I hear back from the bug
> reported and reproducer.

Upon looking at the radix_tree_delete code again, the tag clearing
there seems rather simple so perhaps I misremembered some detail of
that bug I had.