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