>> >> I'll look into retaining the one-hit cache merge functionality, remove >> the errant elv_rqhas_del code, and repost w/ the results from the other >> tests I've run. > > Also please do a check where you only disable the front merge logic, as > that is the most expensive bit (and the least likely to occur). I would > not be surprised if just removing the front merge bit would get you the > majority of the gain already. I have in the past considered just getting > rid of that bit, as it rarely triggers and it is a costly rbtree lookup > for each IO. The back merge lookup+merge should be cheaper, it's just a > hash lookup. > I have the results from leaving in just the one-hit cache merge attempts, and started a run leaving in both that and the back-merge rq_hash checks. (The patch below basically undoes patch 3/3 - putting back in the addition of rqs onto the hash list, and moves the nomerges check below the back merge attempts.) We /could/ change the tunable to a dial (or a mask) - enabling/disabling specific merge attempts, but that seems a bit confusing/complex. Jens: What do you think? Alan