On 02/08/15 04:02, Daniel Thompson wrote: > This patchset optimizes the generic sched_clock implementation by > removing branches and significantly reducing the data cache profile. It > also makes it safe to call sched_clock() from NMI (or FIQ on ARM). > > The data cache profile of sched_clock() in the original code is > 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. >
Looks good to me. For the series: Reviewed-by: Stephen Boyd <sb...@codeaurora.org> -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- 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/