Ho Lee
2003-06-06 18:06:39 UTC
Hi,
I have a question about ARM Linux memory management. While I read over
the "Memory Managment Unit" in <ARM Architecture Reference Manual>,
I found that there is no PRESENT bit, ACCESSED bit and DIRTY bit in
the page descriptor that x86 architecture has. I checked the
implementation of cpu_xxx_set_pte() function, and it looks like ignoring
LPTE_PRESENT, LPTE_YOUNG, and LPTE_DIRTY flags.
I guess without ACCESSED flag, it's not possible to make use of LRU
algorithm
to make free pages, and without DIRTY flag, Linux can not distinguish the
changed pages from other unchanged writable pages to decide what page to
swap out. Of course kernel works without these bits, but I wonder it
could make it inefficient.
I would like to know whether I understood correctly, and what ARM Linux
do to get over such limitations.
Regards,
Ho
-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette: http://www.arm.linux.org.uk/armlinux/mailinglists.php
I have a question about ARM Linux memory management. While I read over
the "Memory Managment Unit" in <ARM Architecture Reference Manual>,
I found that there is no PRESENT bit, ACCESSED bit and DIRTY bit in
the page descriptor that x86 architecture has. I checked the
implementation of cpu_xxx_set_pte() function, and it looks like ignoring
LPTE_PRESENT, LPTE_YOUNG, and LPTE_DIRTY flags.
I guess without ACCESSED flag, it's not possible to make use of LRU
algorithm
to make free pages, and without DIRTY flag, Linux can not distinguish the
changed pages from other unchanged writable pages to decide what page to
swap out. Of course kernel works without these bits, but I wonder it
could make it inefficient.
I would like to know whether I understood correctly, and what ARM Linux
do to get over such limitations.
Regards,
Ho
-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette: http://www.arm.linux.org.uk/armlinux/mailinglists.php