From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933614Ab0DHVPt (ORCPT ); Thu, 8 Apr 2010 17:15:49 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:51945 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933038Ab0DHVPp (ORCPT ); Thu, 8 Apr 2010 17:15:45 -0400 Subject: Re: [PATCH] perf_events: fix bogus warn_on(_once) in perf_prepare_sample() From: Peter Zijlstra To: Stephane Eranian Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, paulus@samba.org, davem@davemloft.net, fweisbec@gmail.com, robert.richter@amd.com, perfmon2-devel@lists.sf.net, eranian@gmail.com In-Reply-To: References: <4bbe4175.5124cc0a.5bd3.22d6@mx.google.com> <1270760136.20295.3121.camel@laptop> Content-Type: text/plain; charset="UTF-8" Date: Thu, 08 Apr 2010 23:15:41 +0200 Message-ID: <1270761341.20295.3160.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2010-04-08 at 23:08 +0200, Stephane Eranian wrote: > On Thu, Apr 8, 2010 at 10:55 PM, Peter Zijlstra wrote: > > On Thu, 2010-04-08 at 22:45 +0200, Stephane Eranian wrote: > >> There is a warn_on_once() check for PERF_SAMPLE_RAW which trips > >> when using PEBS on both Core and Nehalem. Core PEBS sample size is 144 > >> bytes and 176 bytes for Nehalem. Both are multiples of 8, but the size > >> field is encoded as int, thus the total is never a multiple of 8 which > >> trips the check. I think the size should have been u64, but now it is > >> too late to change given it is ABI. > > > > PEBS hasn't seen -linus yet, so we can fix that. > > > Are you suggesting you add some padding the PEBS raw sample you > return as PERF_SAMPLE_RAW? Then you need to define what RAW > actually means? Seems here, it would mean more than what the > HW returns. The best fix here is to simply remove the PERF_SAMPLE_RAW support and implement PERF_SAMPLE_REGS. Its just that we need to come up with a way to deal with compat pt_regs muck.