Hi David, > > Anton wrote a simple test to cause the issue: > > > > http://ozlabs.org/~anton/junkcode/bust_shm_exit.c > > I'm actually in the process of adding shm microbenchmarks to > perf-bench so I might steal this :-)
Sounds good! > Are you seeing this issue in any real world setups? While the program > does stress the path you mention quite well, I fear it is very > unrealistic... how many shared mem segments do real applications > actually use/create for scaling issues to appear? As Jack mentioned, we were asked to debug a box that was crawling. Each process took over 10 minutes to execute which made it very hard to analyse. We eventually narrowed it down to this. > I normally wouldn't mind optimizing synthetic cases like this, but a > quick look at patch 1/3 shows that we're adding an extra overhead (16 > bytes) in the task_struct. The testcase is synthetic but I wrote it based on the application that would, given enough time, take the box down. > We have the shmmni limit (and friends) for that. If we want to use this to guard against the problem, we may need to drop shmmni. Looking at my notes, I could take down a box with 4096 segments and 16 threads. This is where I got to before it disappeared: # ./bust_shm_exit 4096 16 # uptime 03:00:50 up 8 days, 18:05 5 users,load average: 6076.98, 2494.09, 910.37 Anton -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/