cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

iomartin
Adept I

Disable hardware prefetcher on 15h machine

Hello,

I have a machine with four 6272 processors and I'm trying to disable the hardware prefetcher. From the BKDG for Family 15h, models 00h-0Fh (http://support.amd.com/TechDocs/42301_15h_Mod_00h-0Fh_BKDG.pdf), I saw that I should set bit 13 of MSR C001_1022 to 1.

First I check what the current value for that register is:

# rdmsr --all 0xc0011022

0

0

[...]

0

Since it's 0 for all cores, I can use value 0x2000.

# wrmsr --all 0xc0011022 0x2000

# rdmsr --all 0xc0011022

0x2000

0x2000

[...]

0x2000

So I thought I'd disabled it. However, I couldn't see any difference in some memory-intensive applications, so I decided to check if there was any performance event that would tell me how many prefetches were done. From the BKDG, I got PMCx067 Data Prefetcher. With the aid of libpfm4's check_event utility program, I got perf raw event 0x530267.

Then

$ perf stat -e r530267 /bin/ls > /dev/null

Performance counter stats for '/bin/ls':

            28,457      r530267

I expected zero events. I resetted the MSR to 0 and reran perf, getting about the same count.

I don't know what I'm doing wrong. I'd appreciate any help.

Thank you

0 Likes
0 Replies