On Sat, Jul 21, 2012 at 12:48 AM, Peter Zijlstra <[email protected]> wrote: > On Tue, 2012-07-17 at 17:27 +0800, Yan, Zheng wrote: >> From: "Yan, Zheng" <[email protected]> >> >> LLC-* and node-* events require using the OFFCORE_RESPONSE events >> on SandyBridge, but the hw_cache_extra_regs is left uninitialized. >> This patch adds the missing extra register configure table for >> SandyBridge. > > Last time I tried this I couldn't get sane numbers out of it.. > > Does these encodings work, if so, do explain them. >
I have tested them and compared the results with Nehalme. I think they do work. >> +#define SNB_DMND_READ (SNB_DMND_DATA_RD|SNB_LLC_DATA_RD) normal LLC reads + LLC reads generated by L2 prefetcher >> +#define SNB_DMND_WRITE (SNB_DMND_RFO|SNB_LLC_RFO) normal RFO requests + RFO requests generated by L2 prefetcher >> +#define SNB_DMND_PREFETCH (SNB_PF_DATA_RD|SNB_PF_RFO) >> + >> +#define SNB_SNP_ANY (SNB_SNP_NONE|SNB_SNP_NOT_NEEDED| \ >> + SNB_SNP_MISS|SNB_NO_FWD|SNB_SNP_FWD| \ >> + SNB_HITM) SNB_SNP_ANY contains all snoop related bits, because we don't care the snoop information. >> + >> +#define SNB_DRAM_ANY (SNB_LOCAL|SNB_REMOTE|SNB_SNP_ANY) >> +#define SNB_DRAM_REMOTE (SNB_REMOTE|SNB_SNP_ANY) >> + >> +#define SNB_L3_ACCESS SNB_RESP_ANY For LLC access, we don't care the supplier and snoop information. >> +#define SNB_L3_MISS (SNB_DRAM_ANY|SNB_NON_DRAM) If the supplier is DRAM, we consider it as LLC miss. > Also: > >> +#define SNB_REMOTE (0xffULL << 23) > > I guess I can take this as an 'official' publication of this fact? > > (I knew those bits meant this, but I never got a response if I could > publish that information.) > See chapter 18.8.7 of Intel 64 SDM Volume 3 (Order Number 325384) Regards Yan, Zheng -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

