On Mon, Jul 16, 2007 at 10:53:23PM +0200, Ingo Molnar wrote: > > * Steven Rostedt <[email protected]> wrote: > > > But to answer your question. No, I didn't take any actual > > measurements. The changes just seemed obvious to me (and others). > > btw., does anyone know about some reliable way to stress and measure RCU > completion performance, via some real userspace app? I think there used > to be an open-tons-of-files thing that unearthed the > RCU-completion-single-threadness bottleneck a year or two ago? Anyone > got a link to it (or to some other performance tool for RCU)? It was more of a stress test -- it simply opened a file and immediately closes it in a tight loop. 2.6.22 survives four of the following running on a 4-CPU machine. Attached are the kernel modules I use to measure RCU performance (and to torture RCU), but they don't really measure completion performance. (All licensed under GPL, FWIW.) Thanx, Paul (The following is my reconstruction of the open/close stress test.) #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main(int argc, char *argv[]) { int fd; for (;;) { fd = open("/dev/null", O_RDONLY); if (fd >= 0) { close(fd); } } }
Attachment:
RCUtorture.2007.07.17a.tgz
Description: RCUtorture.2007.07.17a.tgz
- References:
- Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- From: "Paul E. McKenney" <[email protected]>
- Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- From: Linus Torvalds <[email protected]>
- Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- From: Steven Rostedt <[email protected]>
- Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- From: Ingo Molnar <[email protected]>
- Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- Prev by Date: Re: [PATCH] ACPI: Add reboot mechanism
- Next by Date: [RFC/PATCH] allow memory to be tagged "coherent" via dma_map_sg()
- Previous by thread: Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- Next by thread: Re: [RFC PATCH 1/8] Convert the RCU tasklet into a softirq
- Index(es):