My question is separate from skipping transactions in which there has already been work done.

I'm asking why are we counting transaction eviction efforts, and not tracking whether or not forced eviction of a particular page has been tried before (and presumably failed).

For example, it looks to me like a txn could successfully evict 4 pages, and then quit trying to evict pages because its counter hits 4, and that doesn't make any sense to me.  For another example, a txn might fail to push page X 4 times, but then not try page Y, because the counter hits 4, and maybe page Y has never even been attempted before and could succeed?

In other words, why is this counter associated with a transaction, and not a page?

I don't care if it's a separate commit, whatever you prefer.