Messages in this thread | | | Subject | [RFC][PATCH 0/4] perf: remove __weak function hw_perf_group_sched_in() | From | Lin Ming <> | Date | Thu, 22 Apr 2010 15:50:55 +0800 |
| |
Hi, all
>From the discussion of thread "[RFC] perf_events: support for uncore a.k.a. nest units", in order to support multiple hw pmu, Peter suggested the first thing that needs to be done is get rid of all the __weak functions (with exception of perf_callchain*, since that really is arch specific), includes
hw_perf_group_sched_in hw_perf_event_init hw_perf_disable hw_perf_enable
Peter Zijlstra <peterz@infradead.org> wrote: > One thing not on that list, which should happen first I guess, is to > remove hw_perf_group_sched_in(). The idea is to add some sort of > transactional API to the struct pmu, so that we can delay the > schedulability check until commit time (and roll back when it fails). > > Something as simple as: > > struct pmu { > void start_txn(struct pmu *); > void commit_txn(struct pmu *); > > ,,, > }; > > and then change group_sched_in() to use this instead of > hw_perf_group_sched_in(), whose implementations mostly replicate > group_sched_in() in various buggy ways anyway. >
This patch series is to remove hw_perf_group_sched_in() first.
patch 1: core, add group scheduling transactional APIs patch 2: x86, implement group scheduling transactional APIs patch 3: powerpc, implement group scheduling transactional APIs patch 4: sparc, implement group scheduling transactional APIs
Thanks for any comment.
Lin Ming
| |