pgscan_kswapd_high/pgscan_direct_high equivalent in RHEL6

Latest response

What is the pgscan_kswapd_high and pgscan_direct_high equivalent in RHEL6?

These are no longer found in /proc/vmstat

Responses

Hello,
The values pgscan_kswapd_high and pgscan_direct_high do still exist in the RHEL 6 kernel, but are only printed on architectures where there is actually a high memory zone.  In RHEL 5, these values were always printed regardless of whether the system actually had a high zone.  On an x86_64 platform, these values are meaningless and can be ignored in RHEL 5.

The change in question comes in mm/vmstat.c, with the addition of a few macros.  Among them are:

 

#ifdef CONFIG_HIGHMEM
#define TEXT_FOR_HIGHMEM(xx) xx "_high",
#else
#define TEXT_FOR_HIGHMEM(xx)
#endif

#define TEXTS_FOR_ZONES(xx) TEXT_FOR_DMA(xx) TEXT_FOR_DMA32(xx) xx "_normal", \
                                        TEXT_FOR_HIGHMEM(xx) xx "_movable",

 

When configuring the vmstat_text array, which holds the different strings that you see in /proc/vmstat, it calls this macro for the two values you mentioned:

 

TEXTS_FOR_ZONES("pgscan_kswapd")
        TEXTS_FOR_ZONES("pgscan_direct")

 

As such, it will only create an entry in the array for arches that have these zones. 

Regards,
John Ruemker, RHCA
Red Hat Software Maintenance Engineer
Online User Groups Moderator