Messages in this thread | | | Date | Thu, 12 Feb 2015 19:49:38 -0800 | From | Stephen Boyd <> | Subject | Re: [PATCH v4 0/5] sched_clock: Optimize and avoid deadlock during read from NMI |
| |
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 <sboyd@codeaurora.org>
-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
| |