wiredtiger/wiredtiger — pull request #1134 by keithbostic (2014-07-25 15:11:21+00:00)
Title: Don't task the eviction server with forced eviction

@michaelcahill, @agorrod:

I took a look at #1128, and I'd suggest using Alex's `WT_SESSION_NO_CACHE_CHECK` flag instead of the `WT_READ_NO_GEN` flag, that allows us to be more specific as to which threads should and should not be pulled into forced eviction. (For example, threads walking for compaction set `WT_READ_NO_GEN` in their tree-walk, but it seems to me they should be tasked with forced eviction.)

I check for threads we don't want to highjack for eviction (either the no-eviction flag is set on the session, or the thread is holding the schema lock) in two new places:
- the page release function (which was the focus of #1128), and
- the page acquire function (there's no point in releasing our reference just to find out we're not going to be able to forcibly evict the page anyway).

Are there any other places we should check?

@michaelcahill, I think this change is ready for merge if you approve of the approach.