LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Virtualization and Cloud (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/)
-   -   kernel :address generated are non-uniform (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/kernel-address-generated-are-non-uniform-914243/)

sparsh0mittal 11-18-2011 08:24 AM

kernel :address generated are non-uniform
 
I am using marss with qemu, but this question is related to qemu & kernel. When I use:

qemu-system-x86_64 -m 4G myImage.img

and print physical addresses that are passed to cache hierarchy, I see that the physical addresses are not in uniform range: for example:

GBrange numberOfAddresses

0-0.5---> 3325

0.5-1---> 1253

1-1.5---> 0

1.5-2---> 30

2-2.5---> 0

2.5-3---> 1708

3-3.5---> 10521

3.5-4---> 0

4-4.5--> 15428
This phenomenon affects my work in following way: In Marss (cycle-accurate simulator for x86), these addresses are used to access cache hierarchy. If phys-addresses are in only in certain range, then, only few cache-set-locations will be accessed and others not. I am studying cache, and this phenomenon stops me from applying any algorithm in cache: since cache is arbitrarily used.

Can I do something to make these addresses uniform? Since it is a kernel issue, I don't know what can be done? I would be grateful for any help.

corp769 11-19-2011 01:12 AM

Hello,

Noticed you have marked your thread as solved; Could you kindly share the solution you found with us?

Cheers,

Josh

sparsh0mittal 11-19-2011 09:33 AM

Solution
 
Quote:

Originally Posted by corp769 (Post 4528103)
Hello,

Noticed you have marked your thread as solved; Could you kindly share the solution you found with us?

Cheers,

Josh

Actually, I realized that, since cache sets are calculated by modulo; hence, even if not all physical addresses are utilized, but all cache-sets are utilized; since more than one phys address map to single cache set. Also, I took variance of number of accesses to different cache sets (4MB cache), and for 100M instruction, the Standard deviation is 48 which is not that bad!
Since I am mainly concerned with cache, I am OK for right now. But this physical address usage by kernel is still surprising. Thanks.


All times are GMT -5. The time now is 04:45 PM.