Re: [PATCH] perf, x86: Add hw_watchdog_set_attr() in a sake ofnmi-watchdog on P4

From: Stephane Eranian
Date: Mon Jun 27 2011 - 15:06:37 EST


On Mon, Jun 27, 2011 at 9:03 PM, Don Zickus <dzickus@xxxxxxxxxx> wrote:
> On Thu, Jun 23, 2011 at 04:49:18PM +0400, Cyrill Gorcunov wrote:
>> Due to restriction and specifics of Netburst PMU we need a separated
>> event for NMI watchdog. In particular every Netburst event consume not
>> just a counter and config register, but also an additional ESCR register.
>> Since ESCR registers are grouped upon counters (i.e. if ESCR is occupied
>> for some event there is no room for another event to enter until it's
>> released) we need to pick up "least" used ESCR (or most available)
>> for nmi-watchdog purpose -- MSR_P4_CRU_ESCR2/3 was chosen.
>
> I have tested this on a p4 and a westmere using 'perf top' and then
> lkdtm's 'HARDLOCKUP' command. ÂBoth seemed to work correctly indicating
> that the watchdog and perf were co-existing peacefully. :-)
>

I tested the patch on a P4 and it worked for me too.

Tested-and-reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx>

I like the patch now. It is far simpler than when we started.
Thanks.

> Thanks Cyrill.
>
> Tested-and-reviewed-by: Don Zickus <dzickus@xxxxxxxxxx>
>
>> Index: linux-2.6.git/kernel/watchdog.c
>> ===================================================================
>> --- linux-2.6.git.orig/kernel/watchdog.c
>> +++ linux-2.6.git/kernel/watchdog.c
>> @@ -200,6 +200,8 @@ static int is_softlockup(unsigned long t
>> Â}
>>
>> Â#ifdef CONFIG_HARDLOCKUP_DETECTOR
>> +void __weak hw_nmi_watchdog_set_attr(struct perf_event_attr *wd_attr) { }
>> +
>
> Though I do wonder about this call in the watchdog. ÂI thought it might be
> better elsewhere but not sure where.
>
> Cheers,
> Don
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/