Only return a deadlock error on failed eviction for the oldest transaction in the system.  Once a checkpoint is running, it generally becomes the oldest transaction, and there is no need for other threads to fail with deadlock errors in that case.