unable to find the virtual to physical mapping
Arun chandran
arun.edarath at gmail.com
Tue Dec 6 03:18:01 EST 2022
Hi,
My bad, PFN:3f0366 is falling under the range 100000000-104fdfffff.
I got confused because of the difference in the number of bits in the PFN.
Sorry for the noise.
--Arun
On Tue, Dec 6, 2022 at 12:13 PM Arun chandran <arun.edarath at gmail.com> wrote:
>
> Hi,
>
> I am trying to find the virtual to physical memory mapping of a
> process with kernel/linux-4.18.0-348.7.1.el8_5/tools/vm/page-types.c
>
> a) It gives the below output for a process with pid 19721
>
> # ./page-types -p 19721 -l | head
> voffset offset len flags
> 400 108bf36 1 __RU_lA____M_______________________________
> 600 135bf80 1 ___U_l_____Ma_b____________________________
> 601 1258e11 1 ___U_l_____Ma_b____________________________
> 6aa 110075a 1 ___U_l_____Ma_b____________________________
> 7f335f72c 2741b88 4 __RU_lA____M_______________________________
> 7f335f730 20546b1 3 __RU_lA____M_______________________________
> 7f335f733 2741b3e 2 __RU_lA____M_______________________________
> 7f335f735 2741a20 1e __RU_lA____M_______________________________
> 7f335f753 2054690 1d __RU_lA____M_______________________________
>
> Here the physical offsets are 28 bits. By adjusting for the 4k
> pagesize I can derive a meaningful 40 bit physical address.
>
> b) for another process it is giving
> # ./page-types -p 19694 -l | head
> voffset offset len flags
> 400 3f0366 1 __RU_lA____M_______________________________
> 401 19a32b 1 __RU_lA____M_______________________________
> 402 18d702 1 __RU_lA____M_______________________________
> 403 3f3fe5 1 __RU_lA____M_______________________________
> 404 1fbaa8 1 __RU_lA____M_______________________________
> 405 3f3cea 1 __RU_lA____M_______________________________
> 406 110455 1 __RU_lA____M_______________________________
> 407 30a7a8 1 __RU_lA____M_______________________________
> 408 2eaaee 1 __RU_lA____M_______________________________
>
> In this, all the physical offsets are only 24 bits. Why is it like that?
> The flags are not showing it as a huge page also.
>
> RAM is mapped as
>
> # cat /proc/iomem | grep -i ram
> 00001000-0009ffff : System RAM
> 00100000-03ffffff : System RAM
> 04047000-75ceffff : System RAM
> 76000000-9fdbb017 : System RAM
> 9fdbb018-9fdcc457 : System RAM
> 9fdcc458-9fdcd017 : System RAM
> 9fdcd018-9fddb857 : System RAM
> 9fddb858-a21f1fff : System RAM
> a2245000-a2271fff : System RAM
> a2273000-a66c2fff : System RAM
> a99ff000-abffffff : System RAM
> 100000000-104fdfffff : System RAM
> 1050000000-204fefffff : System RAM
> 2050000000-304fefffff : System RAM
> 3050000000-404f2fffff : System RAM
> 4050000000-504fefffff : System RAM
> 5050000000-604fefffff : System RAM
> 6050000000-704fefffff : System RAM
> 7050000000-804fefffff : System RAM
>
> How do I find out to which NUMA node's ram the physical address
> "3f0366" belongs?
>
> --Arun
More information about the Kernelnewbies
mailing list