lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 16 Jan 2015 16:26:40 +0100 From: Peter Zijlstra <peterz@...radead.org> To: Mark Rutland <mark.rutland@....com> Cc: linux-kernel@...r.kernel.org, Will Deacon <will.deacon@....com>, Paul Mackerras <paulus@...ba.org>, Ingo Molnar <mingo@...hat.com>, Arnaldo Carvalho de Melo <acme@...nel.org> Subject: Re: [PATCH] perf: decouple unthrottling and rotating On Wed, Jan 07, 2015 at 03:01:54PM +0000, Mark Rutland wrote: > Currently the adjusments made as part of perf_event_task_tick use the > percpu rotation lists to iterate over any active PMU contexts, but these > are not used by the context rotation code, having been replaced by > separate (per-context) hrtimer callbacks. However, some manipulation of > the rotation lists (i.e. removal of contexts) has remained in > perf_rotate_context. This leads to the following issues: > > * Contexts are not always removed from the rotation lists. Removal of > PMUs which have been placed in rotation lists, but have not been > removed by a hrtimer callback can result in corruption of the rotation > lists (when memory backing the context is freed). > > This has been observed to result in hangs when PMU drivers built as > modules are inserted and removed around the creation of events for > said PMUs. > > * Contexts which do not require rotation may be removed from the > rotation lists as a result of a hrtimer, and will not be considered by > the unthrottling code in perf_event_task_tick. > > This patch solves these issues by moving any and all removal of contexts > from rotation lists to only occur when the final event is removed from a > context, mirroring the addition which only occurs when the first event > is added to a context. The vestigal manipulation of the rotation lists > is removed from perf_event_rotate_context. > > As the rotation_list variables are not used for rotation, these are > renamed to active_ctx_list, which better matches their current function. > perf_pmu_rotate_{start,stop} are renamed to > perf_pmu_ctx_{activate,deactivate}. > > Signed-off-by: Mark Rutland <mark.rutland@....com> > Reported-by: Johannes Jensen <johannes.jensen@....com> > Cc: Will Deacon <will.deacon@....com> > Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl> > Cc: Paul Mackerras <paulus@...ba.org> > Cc: Ingo Molnar <mingo@...hat.com> > Cc: Arnaldo Carvalho de Melo <acme@...nel.org> Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists