On Fri, 2008-12-19 at 07:19 +0100, Nick Piggin wrote: > Hi. Fun, chasing down performance regressions.... I wonder what people think > about these patches? Is it OK to bloat struct vfsmount? Any races? Very cool stuff, Nick. I especially like how much it simplifies things and removes *SO* much code. Bloating the vfsmount was one of the things that really, really tried to avoid. When I start to think about the SGI machines, it gets me really worried. I went to a lot of trouble to make sure that the per-vfsmount memory overhead didn't scale with the number of cpus. > This could > be made even faster if mnt_make_readonly could tolerate a really high latency > synchronize_rcu()... can it?) Yes, I think it can tolerate it. There's a lot of work to do, and we already have to go touch all the other per-cpu objects. There also tends to be writeout when this happens, so I don't think a few seconds, even, will be noticed. > This patch speeds up lmbench lat_mmap test by about 8%. lat_mmap is set up > basically to mmap a 64MB file on tmpfs, fault in its pages, then unmap it. > A microbenchmark yes, but it exercises some important paths in the mm. Do you know where the overhead actually came from? Was it the spinlocks? Was removing all the atomic ops what really helped? I'll take a more in-depth look at your code tomorrow and see if I see any races. -- Dave -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html