Prev: [PATCH 0/1] VFS: introduce s_dirty accessors
Next: I am a Manager/financial consultant, A client of mine died in 2007 on Kenya plane crash and he has a lodgment fund to claims US$14.7M. And no other person knows about this account. If you are interested forward to me your names, cell, Phone/fax, p
From: Peter Zijlstra on 10 Jun 2010 07:10 On Thu, 2010-06-10 at 05:49 +0200, Frederic Weisbecker wrote: > @@ -642,17 +643,31 @@ event_sched_in(struct perf_event *event, > if (event->state <= PERF_EVENT_STATE_OFF) > return 0; > > - event->state = PERF_EVENT_STATE_ACTIVE; > + if (event->attr.exclude_task) > + event->state = PERF_EVENT_STATE_PAUSED; > + else > + event->state = PERF_EVENT_STATE_ACTIVE; > + > event->oncpu = smp_processor_id(); > + Aah, so that is why you added the PAUSE state knowledge to the arch code, you want to be able to call ->enable() on a PAUSEd event. That means you need to audit/touch all implementations anyway, isn't there a better interface we can use, like maybe extend ->enable() with a flags argument? > /* > * The new state must be visible before we turn it on in the hardware: > */ > smp_wmb(); > > - if (event->pmu->enable(event)) { > - event->state = PERF_EVENT_STATE_INACTIVE; > - event->oncpu = -1; > - return -EAGAIN; > + /* > + * If we exclude the tasks, we only need to schedule hardware > + * events that need to settle themselves, even in a pause mode. > + * Software events can simply be scheduled anytime. > + * If we want more granularity in all that, we can still provide > + * later a pmu->reserve callback. > + */ > + if (!event->attr.exclude_task || !is_software_event(event)) { > + if (event->pmu->enable(event)) { > + event->state = PERF_EVENT_STATE_INACTIVE; > + event->oncpu = -1; > + return -EAGAIN; > + } > } > > event->tstamp_running += ctx->time - event->tstamp_stopped; Remove is_software_event(), not add more. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: [PATCH 0/1] VFS: introduce s_dirty accessors Next: I am a Manager/financial consultant, A client of mine died in 2007 on Kenya plane crash and he has a lodgment fund to claims US$14.7M. And no other person knows about this account. If you are interested forward to me your names, cell, Phone/fax, p |