On Mon, Aug 07, 2017 at 11:19:56AM -0400, Brian Foster wrote: > On Mon, Aug 07, 2017 at 12:17:10PM +0200, Carlos Maiolino wrote: > Also note that this has potential for performance side effects in the > common (non-corruption) case. I'm not seeing an issue here once the code is corrected. Probably just me being dumb again, but could you point it out for me, Brian? > It looks to me that it shouldn't be a major problem because it only > affects the situation where the cached search "wraps" to the outside of > the tree, and that probably doesn't happen often with a search distance > of 10 records and a large tree. I am a bit curious where the > searchdistance of 10 comes from though (we fit many more records in a > single inobt leaf block)..? It was chosen based on CPU profiles and performance measurement to limit the CPU usage of the problem case the finobt now solves. i.e. finding the frees inode in a tree that indexes several million allocated inodes and the free inodes are few and far between. It was chosen to cap inode allocation performance degradation when free inodes were extremely sparse at around 50% of the "lots of free inodes that are easy to find" performance. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html