![]() | |||||||||||||
Messages in this thread |
Tim Chen <tim.c.chen@linux.intel.com> writes: > On Wed, 2006-11-08 at 15:11 -0800, Tim Chen wrote: >> On Wed, 2006-11-08 at 17:22 +0100, Adrian Bunk wrote: >> >> With CONFIG_NR_CPUS increased from 8 to 64: >> 2.6.18 see no change in fork time measured. CONFIG_NR_CPUS has no affect on NR_IRQS in 2.6.18. So this test unfortunately told us nothing. >> 2.6.19-rc5 see a 138% increase in fork time. >> > > Lmbench is broken in its fork time measurement. > It includes overhead time when it is pinning processes onto > specific cpu. The actual fork time is not affected by NR_IRQS. > > Lmbench calls the following C library function to determine the > number of processors online before it pin the processes: > sysconf(_SC_NPROCESSORS_ONLN); > > This function takes the same order of time to run as > fork itself. In addition, runtime of this function > increases with NR_IRQS. This resulted in the change in > time measured. > > After hardcoding the number of online processors in lmbench, > the fork time measured now does not change with CONFIG_NR_CPUS > for both 2.6.18 and 2.6.19-rc5. So we can now conclude that > NR_IRQS does not affect fork. We can remove this particular > issue from the known regression. Cool. I'm glad to know it was simply a buggy lmbench. What is sysconf(_SN_NPROCESSORS_ONLN) doing that it slows down as the number of irqs increase? It is a slow path certainly but possibly something we should fix. My hunch is cat /proc/cpuinfo... Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-11-09 05:15 [from the cache] ©2003-2008 | |||||||||||||