Robert,
Could you try the attached patch against the very latest GIT?
On Wed, Sep 26, 2007 at 02:59:04PM +0200, Robert Richter wrote:
> On 26.09.07 05:32:23, Stephane Eranian wrote:
>
> > > However, with commit id d9899320399f8055ed79863d037dc3d9d37bbe66, this
> > > is no longer possible for read only PMDs. Is there a another way of
> > > marking a RO PMD?
> > >
> > Are you talking about IBS support?
>
> Right, IBS PMDs are read only. Until now I marked the PMDs to use with
> a write. Since it is readonly, the write newer affected the PMU. After
> I receceived an overflow message, I was able to read the PMD. I did
> not use the sampling methods for data collection.
>
> > In general if you want to sample a read-only PMD, you need to include it
> > into the reg_smpl_pmds[] bitmask of another PMD registers used as a counter.
>
> I did only a quick look at the sources, maybe I have to dig deeper. I
> found only __pfm_write_pmds() where smpl_pmds can be set. So this will
> fail for read only PMDs. My intention is to read back only one PMD
> what is read only, no other writeable counter register. Doing so, I
> see no chance to either set smpl_pmds or mark the register as used.
>
> -Robert
>
> --
> Advanced Micro Devices, Inc.
> Operating System Research Center
> email: [EMAIL PROTECTED]
>
--
-Stephane
diff --git a/perfmon/perfmon_rw.c b/perfmon/perfmon_rw.c
index a58e04d..d37c853 100644
--- a/perfmon/perfmon_rw.c
+++ b/perfmon/perfmon_rw.c
@@ -100,8 +100,8 @@ int __pfm_write_pmds(struct pfm_context *ctx, struct
pfarg_pmd *req, int count,
* cannot write to unexisting or read-only PMD register
*/
if (unlikely(cnum >= max_pmd
- || !test_bit(cnum, cast_ulp(impl_rw_pmds)))) {
- PFM_DBG("pmd%u is not available or read-only", cnum);
+ || !test_bit(cnum, cast_ulp(impl_pmds)))) {
+ PFM_DBG("pmd%u is not available", cnum);
goto error;
}
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/