Ingo, Peter, Thomas, (No real changes since last time, only rebased ontop of tip/timers/core so as to avoid the collision caused by some of my patches there. Also resent as patches instead of pull request, since Ingo asked)
The following patches from Daniel extend the arch-generic sched_clock implementation so that it can be safely called from NMI (or FIQ on ARM) context. They also optimize the sched_clock logic to improve cache performance. I wanted to send them along so they could be queued in -tip for 4.1. >From Daniel's last post: "The data cache profile of sched_clock() in both the original code and my previous patch was somewhere between 2 and 3 (64-byte) cache lines, depending on alignment of struct clock_data. After patching, the cache profile for the normal case should be a single cacheline. NMI safety was tested on i.MX6 with perf drowning the system in FIQs and using the perf handler to check that sched_clock() returned monotonic values. At the same time I forcefully reduced kt_wrap so that update_sched_clock() is being called at >1000Hz. Without the patches the above system is grossly unstable, surviving [9K,115K,25K] perf event cycles during three separate runs. With the patch I ran for over 9M perf event cycles before getting bored." I'm relaying these along because in the past I've queued and submitted arch-generic sched_clock.c changes from Stephen via Thomas, but I wanted to make sure this got a look from Ingo and Peter. In the future, I think Stephen is probably the right person to act as patch-catcher for the kernel/time/sched_clock.c file. But I think those changes should continue to be merged in via the -tip tree w/ other scheduler code. Let me know if you have any objections or concerns. thanks -john Cc: Russell King <li...@arm.linux.org.uk> Cc: Will Deacon <will.dea...@arm.com> Cc: Catalin Marinas <catalin.mari...@arm.com> Cc: Daniel Thompson <daniel.thomp...@linaro.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Stephen Boyd <sb...@codeaurora.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Ingo Molnar <mi...@kernel.org> Daniel Thompson (5): sched_clock: Match scope of read and write seqcounts sched_clock: Optimize cache line usage sched_clock: Remove suspend from clock_read_data sched_clock: Remove redundant notrace from update function sched_clock: Avoid deadlock during read from NMI kernel/time/sched_clock.c | 195 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 138 insertions(+), 57 deletions(-) -- 1.9.1 -- 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/