From owner-freebsd-current@FreeBSD.ORG Sat Mar 23 01:05:17 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4436540B; Sat, 23 Mar 2013 01:05:17 +0000 (UTC) (envelope-from hiren.panchasara@gmail.com) Received: from mail-ea0-x229.google.com (mail-ea0-x229.google.com [IPv6:2a00:1450:4013:c01::229]) by mx1.freebsd.org (Postfix) with ESMTP id 8F5C4261; Sat, 23 Mar 2013 01:05:16 +0000 (UTC) Received: by mail-ea0-f169.google.com with SMTP id z7so1669545eaf.0 for ; Fri, 22 Mar 2013 18:05:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=+qj8cxrT8bjSSbKNvpnlsMJFiJMxkbZ/6H+tw/PPvTs=; b=C/B/qo80h7GipQU4n6xpd7HsQy3atnyFBpynkIlHRqCt6eW/WRU/X73ilvWc93vUn8 aQAJVm1s0YNdLKXnoXkY7Cd253BgBuCCp3uGMqg2xhjuLnSGQQdMTQEEivOFmC5XC/zw UvlZNqJc83aZw87QN5n589uB9mHSVSQyUcoBCNSwwgfb6rUyUvPShw+UmSkdeK+5bSvr Se1K88X/7eWH5MuyDW7Gs8w3SS2hhV1muNQ1FnEoZeA20u6giRoXAkK4VsbfhaaA+2r3 J9bYAo9Okzu0Uo2k83t0tasCivpMPbTd4bOdM+ZC2XApy/cOW3wHH4bqiK/enWDoXIu1 CFrg== MIME-Version: 1.0 X-Received: by 10.14.184.68 with SMTP id r44mr10183513eem.40.1364000715790; Fri, 22 Mar 2013 18:05:15 -0700 (PDT) Received: by 10.14.133.204 with HTTP; Fri, 22 Mar 2013 18:05:15 -0700 (PDT) In-Reply-To: References: Date: Fri, 22 Mar 2013 18:05:15 -0700 Message-ID: Subject: Re: hwpmc support for haswell From: hiren panchasara To: Davide Italiano Content-Type: text/plain; charset=UTF-8 Cc: freebsd-current , Jim Harris X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Mar 2013 01:05:17 -0000 On Thu, Jan 31, 2013 at 6:26 PM, hiren panchasara wrote: > On Thu, Jan 31, 2013 at 5:47 PM, Davide Italiano wrote: >> On Fri, Feb 1, 2013 at 2:17 AM, hiren panchasara >> wrote: >>> Hi, >>> >>> I've prepared a patch to add core and uncore events support for >>> haswell processor. >>> I do not have the hardware to test this. It applies cleanly and >>> compiles fine though. >>> >>> http://www.strugglingcoder.info/patches/hwpmc_hw.txt >>> >>> This is initial version of patch and manpage is still missing. I will >>> add it in a few days. >>> >>> Any help in testing is appreciated. >>> >>> Thanks, >>> Hiren >> >> It seems Intel won't release this before June (at least to my knowledge). >> I would claim it'll be difficult to real test this before that date >> unless someone has prerelease hardware. > > Indeed. I've posted it here just to let larger audience know and avoid > possible duplicate work. > > We will wait till we get the hardware to test with. I recently got a ref haswell box to play with. Initial dmesg looks like this: CPU: Genuine Intel(R) CPU 0000 @ 2.60GHz (2594.05-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x306c2 Family = 0x6 Model = 0x3c Stepping = 2 Features=0xbfebfbff Features2=0x7ffafbff,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND> AMD Features=0x2c100800 AMD Features2=0x21 Standard Extended Features=0x2fbb TSC: P-state invariant, performance statistics real memory = 8589934592 (8192 MB) avail memory = 8034803712 (7662 MB) Event timer "LAPIC" quality 600 ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 cpu4 (AP): APIC ID: 4 cpu5 (AP): APIC ID: 5 cpu6 (AP): APIC ID: 6 cpu7 (AP): APIC ID: 7 Diffs at: http://www.strugglingcoder.info/patches/hwpmc_hw.txt Tests I've done: http://www.strugglingcoder.info/patches/hwpmc_hw_pmccontrol.txt http://www.strugglingcoder.info/patches/hwpmc_hw_pmctest.txt I am following 325462-045US Jan 2013 sw dev manual and below are the counters which I cannot poke at via pmcstat: Core: "L2_RQSTS.DEMAND_DATA_RD_MISS" "L2_RQSTS.DEMAND_DATA_RD_HIT" "L2_RQSTS.ALL_DEMAND_DATA_RD" "L2_RQSTS.ALL_DEMAND_MISS" "L2_RQSTS.ALL_DEMAND_REFERENCES" "L2_RQSTS.MISS" "CYCLE_ACTIVITY.STALLS_L2_PENDING" "PAGE_WALKER_LOADS.DTLB_L1" "PAGE_WALKER_LOADS.ITLB_L1" "BACLEARS.ANY" "L2_LINES_OUT.DEMAND_CLEAN" Uncore: "UNC_CBO_XSNP_RESPONSE.INVAL_M" "UNC_CBO_CACHE_LOOKUP.ES" For all of them, I get error like this: # pmcstat -p L2_RQSTS.MISS ls pmcstat: ERROR: Cannot allocate process-mode pmc with specification "L2_RQSTS.MISS": Invalid argument Box does not panic or anything. I've tried to double check my changes without success. Is it possible that the documentation has some inconsistencies? Cheers, Hiren