From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/4] arm: provide a mechanism to reserve performance counters
Date: Fri, 11 Dec 2009 17:17:59 -0000 [thread overview]
Message-ID: <000301ca7a85$e38e18e0$aaaa4aa0$@deacon@arm.com> (raw)
In-Reply-To: <20091211154147.GA17176@wear.picochip.com>
> From: Jamie Iles [mailto:jamie.iles at picochip.com]
> Sent: 11 December 2009 15:42
> > What do you think?
> That sounds like a good plan. How about something like this?
>
> #define MAX_PMU_IRQS 8 /* Maximum number of IRQs for the PMU(s). */
> struct pmu_irqs {
> int irqs[MAX_PMU_IRQS];
> unsigned num_irqs;
> };
>
> /**
> * reserve_pmu() - reserve the hardware performance counters
> *
> * Reserve the hardware performance counters in the system for exclusive use.
> * The 'struct pmu_irqs' for the system is returned on success, ERR_PTR()
> * encoded error on failure.
> */
> struct pmu_irqs *
> reserve_pmu(void);
>
> /**
> * release_pmu() - Relinquish control of the performance counters
> *
> * Release the performance counters and allow someone else to use them.
> * Callers must have disabled the counters and released IRQs before calling
> * this. The 'struct pmu_irqs' returned from reserve_pmu() must be passed as
> * a cookie.
> */
> void
> release_pmu(struct pmu_irqs *irqs);
That looks good to me. This allows SMP systems to set the affinity of the PMU
IRQs too if need be - or should this also be done here? It might also be worth making
the returned struct const to stop people poking, but I'm not sure.
I've got some oprofile patches which I hope to post soon - I'll put a note in the
covering letter to say they should be modified to use these PMU functions when they make
it in.
Will
next prev parent reply other threads:[~2009-12-11 17:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-11 15:31 [PATCH 1/4] arm: provide a mechanism to reserve performance counters Will Deacon
2009-12-11 15:41 ` Jamie Iles
2009-12-11 17:17 ` Will Deacon [this message]
2009-12-11 17:30 ` Jamie Iles
2009-12-11 17:34 ` Will Deacon
2009-12-11 18:07 ` Jamie Iles
2009-12-11 21:09 ` Russell King - ARM Linux
-- strict thread matches above, loose matches on Subject: below --
2009-12-11 9:44 perf events for ARMv6 Jamie Iles
2009-12-11 9:44 ` [PATCH 1/4] arm: provide a mechanism to reserve performance counters Jamie Iles
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000301ca7a85$e38e18e0$aaaa4aa0$@deacon@arm.com' \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.