On Wed, 2015-04-15 at 07:23 -0700, Davidlohr Bueso wrote: > On Tue, 2015-04-14 at 16:09 -0700, Jason Low wrote: > > While running a database workload, we found a scalability issue with > > itimers. > > > > Much of the problem was caused by the thread_group_cputimer spinlock. > > Each time we account for group system/user time, we need to obtain a > > thread_group_cputimer's spinlock to update the timers. On larger systems > > (such as a 16 socket machine), this caused more than 30% of total time > > spent trying to obtain this kernel lock to update these group timer stats. > > > > This patch converts the timers to 64 bit atomic variables and use > > atomic add to update them without a lock. With this patch, the percent > > of total time spent updating thread group cputimer timers was reduced > > from 30% down to less than 1%. > > What does 30% less time spent dealing with the thread_group_cputimer's > spinlock buy us? iow, does this help DB benchmark throughput or such?
Yes, this also helps increase throughput since the scalability issue causes a performance degradation in the database workload. I currently don't have the exact numbers though. -- 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/