When display list loopback path is hit the major performance drop during glCallList() happens due to constantly mapping and unmapping the buffer.
Eador. Master of the Broken World (Wine) is an example of the game which works with 6-7 fps due to hitting this path on a number of big display lists which fallback to loopback. Avoiding buffer remapping gets fps to 40-41.
I originally started from trying to avoid loopback path completely for the case the game is hitting (MR !17197 (closed)) but doing that in a non-game specific way results in some buffers, even if much shorter, still having a loopback path and buffer remapping still leads to major performance drop.