VMS x86-64 - npagedyn kernel parameter and nonpaged pool size

Post Reply
User avatar

Topic author
m_detommaso
Valued Contributor
Posts: 75
Joined: Thu Jun 06, 2019 6:57 am
Reputation: 0
Location: Brindisi (Italy)
Status: Offline
Contact:

VMS x86-64 - npagedyn kernel parameter and nonpaged pool size

Post by m_detommaso » Fri Mar 08, 2024 1:20 pm

The kernel parameter NPAGEDYN sets the initial size of the nonpaged dynamic pool memory (in bytes). Performing a series of tests on the x86-64 platform running VMS V9.2-2, I noticed that 2MB is always added to the npagedyn(nonpaged dynamic pool memory size = npagedyn + 2MB), independent of the value of the npagedyn parameter you set.

[2MB -> hex=20 0000 - bin=0010 0000 0000 0000 0000 0000 - dec=2097152]

This behavior is not observable on the integrity and Alpha platforms.

Is there a specific VMS design reason why this happens on the x86-64 platform ?


/Maurizio




--- x86-64 tests ---

Code: Select all

system_dirac_opa0 >mc sysgen sho npagedyn
Parameter Name            Current    Default     Min.       Max.   Unit  Dynamic
--------------            -------    -------   -------    -------  ----  -------
NPAGEDYN                262144000    4194304    163840 1879048192 Bytes
NPAGEDYN_S2                     5          2         2       1024 MBytes


<250MB = 262144000 bytes>


system_dirac_opa0 >sho mem/pool/full
              System Memory Resources on  2-MAR-2024 18:14:56.38

Nonpaged Dynamic Memory      (Lists + Variable)
  Current Size (MB)              >252.00<  Current Size (Pagelets)    516096
  Initial Size (MB)               252.00   Initial Size (Pagelets)    516096
  Maximum Size (MB)               708.00   Maximum Size (Pagelets)   1449984
  Free Space (MB)                 249.16   Space in Use (MB)            2.83
  Largest Var Block (MB)          249.05   Smallest Var Block (bytes)     64
  Number of Free Blocks              246   Free Blocks LEQU 64 bytes     123
  Free Blocks on Lookasides          119   Lookaside Space (KB)        96.37

USB Addressable Memory       (Lists + Variable)
  Current Size (KB)              1024.00   Current Size (Pagelets)      2048
  Initial Size (KB)                 0.00   Initial Size (Pagelets)         0
  Free Space (KB)                1022.87   Space in Use (KB)            1.12
  Largest Var Block (KB)         1022.87   Smallest Var Block (KB)   1022.87
  Number of Free Blocks                1   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides            0   Lookaside Space (bytes)         0

Paged Dynamic Memory         (Lists + Variable)
  Current Size (MB)                11.96   Current Size (Pagelets)     24496
  Free Space (MB)                   6.54   Space in Use (MB)            5.41
  Largest Var Block (MB)            6.53   Smallest Var Block (bytes)     16
  Number of Free Blocks               33   Free Blocks LEQU 64 bytes       7
  Free Blocks on Lookasides           30   Lookaside Space (KB)         2.93

Lock Manager Dynamic Memory
  Current Size (MB)                89.51   Current Size (Pages)        11458
  Free Space (MB)                  84.71   Hits                         2944
  Space in Use (MB)                 4.79   Misses                          0
  Number of Empty Pages            11353   Expansions                  11458
  Number of Free Packets          292194   Packet Size (bytes)             0

S2 Nonpaged Dynamic Memory   (Lists + Variable)
  Current Size (MB)                 7.96   Current Size (Pagelets)     16304
  Initial Size (MB)                 7.96   Initial Size (Pagelets)     16304
  Maximum Size (MB)                11.96   Maximum Size (Pagelets)     24496
  Free Space (MB)                   7.74   Space in Use (MB)            0.21
  Largest Var Block (MB)            7.74   Smallest Var Block (MB)      7.74
  Number of Free Blocks                1   Free Blocks LEQU 256 byte       0
  Free Blocks on Lookasides            0   Lookaside Space (bytes)         0




system_dirac_opa0 >ana/system
SDA> clue mem/layout

...
System Virtual Address Space Layout:
------------------------------------
   Item                                  Base               End                Length
  System Process Header           FFFFFFFF.81400000  FFFFFFFF.8141E000  00000000.0001E000
  S0 Error Log Buffers            FFFFFFFF.81420000  FFFFFFFF.8142A000  00000000.0000A000
  Paged Pool                      FFFFFFFF.8142A000  FFFFFFFF.82020000  00000000.00BF6000
  Nonpaged Pool (initial size)    FFFFFFFF.82400000  FFFFFFFF.92000000->00000000.0FC00000<-252MB !
Nonpaged Pool Expansion Area      FFFFFFFF.92000000  FFFFFFFF.AE800000  00000000.1C800000
S0S1 Resident Image Code Region   FFFFFFFF.AEBFE000  FFFFFFFF.B03FE000  00000000.01800000
S0S1 Resident Image Data Region   FFFFFFFF.B03FE000  FFFFFFFF.B07FE000  00000000.00400000
S0 Read-Only Data Region          FFFFFFFF.B0800000  FFFFFFFF.B1000000  00000000.00800000
S0 Read-Only Resident Data Region FFFFFFFF.B1000000  FFFFFFFF.B1800000  00000000.00800000
908 Balance Slots, 4 pages each   FFFFFFFF.B1800000  FFFFFFFF.B3460000  00000000.01C60000
USB Addressable Memory            FFFFFFFF.B3460000  FFFFFFFF.B3560000  00000000.00100000
Erase Pattern Buffer Page         FFFFFFFF.B3618000  FFFFFFFF.B361A000  00000000.00002000
Erase Pattern Page                FFFFFFFF.B361A000  FFFFFFFF.B361C000  00000000.00002000
Demand Zero Optimization Page     FFFFFFFF.B3626000  FFFFFFFF.B3628000  00000000.00002000
Window Page 1                     FFFFFFFF.B3630000  FFFFFFFF.B3632000  00000000.00002000
Window Page 2                     FFFFFFFF.B3632000  FFFFFFFF.B3634000  00000000.00002000
Fork Buffers Secondary to Primary FFFFFFFF.B3D88000  FFFFFFFF.B3D8A000  00000000.00002000
Swapper Process Kernel Stack      FFFFFFFF.B3DB9E00  FFFFFFFF.B3DD1E00  00000000.00018000
...



system_dirac_opa0 >mc sysgen sho npagedyn
Parameter Name            Current    Default     Min.       Max.   Unit  Dynamic
--------------            -------    -------   -------    -------  ----  -------
NPAGEDYN                262144000    4194304    163840 1879048192 Bytes
NPAGEDYN_S2                     5          2         2       1024 MBytes

system_dirac_opa0 >mc sysgen
SYSGEN>  U C
SYSGEN>  SET NPAGEDYN 157286400  ! = 150MB
SYSGEN>  W C
SYSGEN>
%%%%%%%%%%%  OPCOM   2-MAR-2024 18:30:16.54  %%%%%%%%%%%
Message from user SYSTEM on DIRAC
%SYSGEN-I-WRITECUR, CURRENT system parameters modified by process ID 00000431 into file SYS$SYSROOT_MD:[SYSEXE]X86_64VMSSYS.PAR;1

SYSGEN>  EXIT


<reboot>

system_dirac_opa0 >sho mem/pool/full
              System Memory Resources on  2-MAR-2024 18:32:18.66

Nonpaged Dynamic Memory      (Lists + Variable)
  Current Size (MB)              >152.00<  Current Size (Pagelets)    311296
  Initial Size (MB)               152.00   Initial Size (Pagelets)    311296
  Maximum Size (MB)               708.00   Maximum Size (Pagelets)   1449984
  Free Space (MB)                 149.16   Space in Use (MB)            2.83
  Largest Var Block (MB)          149.09   Smallest Var Block (bytes)     64
  Number of Free Blocks              177   Free Blocks LEQU 64 bytes     123
  Free Blocks on Lookasides           51   Lookaside Space (KB)        68.00

USB Addressable Memory       (Lists + Variable)
  Current Size (KB)              1024.00   Current Size (Pagelets)      2048
  Initial Size (KB)                 0.00   Initial Size (Pagelets)         0
  Free Space (KB)                1022.87   Space in Use (KB)            1.12
  Largest Var Block (KB)         1022.87   Smallest Var Block (KB)   1022.87
  Number of Free Blocks                1   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides            0   Lookaside Space (bytes)         0

Paged Dynamic Memory         (Lists + Variable)
  Current Size (MB)                11.96   Current Size (Pagelets)     24496
  Free Space (MB)                   6.54   Space in Use (MB)            5.41
  Largest Var Block (MB)            6.54   Smallest Var Block (bytes)     16
  Number of Free Blocks               13   Free Blocks LEQU 64 bytes       7
  Free Blocks on Lookasides           10   Lookaside Space (bytes)       992

Lock Manager Dynamic Memory
  Current Size (MB)                89.51   Current Size (Pages)        11458
  Free Space (MB)                  84.74   Hits                         2816
  Space in Use (MB)                 4.76   Misses                          0
  Number of Empty Pages            11357   Expansions                  11458
  Number of Free Packets          292322   Packet Size (bytes)             0

S2 Nonpaged Dynamic Memory   (Lists + Variable)
  Current Size (MB)                 7.96   Current Size (Pagelets)     16304
  Initial Size (MB)                 7.96   Initial Size (Pagelets)     16304
  Maximum Size (MB)                11.96   Maximum Size (Pagelets)     24496
  Free Space (MB)                   7.74   Space in Use (MB)            0.21
  Largest Var Block (MB)            7.74   Smallest Var Block (MB)      7.74
  Number of Free Blocks                1   Free Blocks LEQU 256 byte       0
  Free Blocks on Lookasides            0   Lookaside Space (bytes)         0
system_dirac_opa0 >

--- Integrity test ---

Code: Select all

detommaso_kenobi >sho mem/pool/full
              System Memory Resources on  2-MAR-2024 18:12:14.38

Nonpaged Dynamic Memory      (Lists + Variable)
  Current Size (MB)               250.00   Current Size (Pagelets)    512000
  Initial Size (MB)               250.00   Initial Size (Pagelets)    512000
  Maximum Size (MB)               706.00   Maximum Size (Pagelets)   1445888
  Free Space (MB)                 231.34   Space in Use (MB)           18.65
  Largest Var Block (MB)          227.89   Smallest Var Block (MB)    227.89
  Number of Free Blocks             4796   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides         4795   Lookaside Space (MB)         3.45

Bus Addressable Memory       (Lists + Variable)
  Current Size (MB)                 1.49   Current Size (Pagelets)      3056
  Initial Size (MB)                 1.49   Initial Size (Pagelets)      3056
  Free Space (MB)                   1.37   Space in Use (MB)            0.11
  Largest Var Block (MB)            1.37   Smallest Var Block (bytes)    320
  Number of Free Blocks                7   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides            2   Lookaside Space (bytes)       192

Paged Dynamic Memory         (Lists + Variable)
  Current Size (MB)                16.89   Current Size (Pagelets)     34592
  Free Space (MB)                   6.31   Space in Use (MB)           10.57
  Largest Var Block (MB)            6.20   Smallest Var Block (bytes)     16
  Number of Free Blocks             1315   Free Blocks LEQU 64 bytes     373
  Free Blocks on Lookasides         1312   Lookaside Space (KB)       112.89

Lock Manager Dynamic Memory
  Current Size (MB)                83.23   Current Size (Pages)        10654
  Free Space (MB)                  71.80   Hits                     35004544
  Space in Use (MB)                11.42   Misses                          0
  Number of Empty Pages             9307   Expansions                  10654
  Number of Free Packets          260952   Packet Size (bytes)             0


detommaso_kenobi >mc sysgen sho npagedyn
Parameter Name            Current    Default     Min.       Max.   Unit  Dynamic
--------------            -------    -------   -------    -------  ----  -------
NPAGEDYN                262144000    4194304    163840 1879048192 Bytes


System Virtual Address Space Layout:
------------------------------------
   Item                                  Base               End          Length
Nonpaged Pool (initial size)      FFFFFFFF.A01BE000  FFFFFFFF.AFBBE000->0FA00000<-- 250MB
Nonpaged Pool Expansion Area      FFFFFFFF.AFBBE000  FFFFFFFF.CC3BE000  1C800000
Execlet Data Region               FFFFFFFF.CD000000  FFFFFFFF.CF000000  02000000
Fork Buffers Secondary to Primary FFFFFFFF.D2368000  FFFFFFFF.D236A000  00002000
Erase Pattern Buffer Page         FFFFFFFF.D009C000  FFFFFFFF.D009E000  00002000
Erase Pattern Page Table Page     FFFFFFFF.D009E000  FFFFFFFF.D00A0000  00002000
1050 Balance Slots, 2 pages each  FFFFFFFF.D00C8000  FFFFFFFF.D1130000  01068000
Paged Pool                        FFFFFFFF.D1130000  FFFFFFFF.D2214000  010E4000
System Control Block (SCB)        FFFFFFFF.A033C040  FFFFFFFF.A033C040  00000000
Restart Parameter Block (HWRPB)   FFFFFFFF.D2254000  FFFFFFFF.D22D6000  00082000
Window Page 1                     FFFFFFFF.D23CA000  FFFFFFFF.D23CC000  00002000
Window Page 2                     FFFFFFFF.D23CC000  FFFFFFFF.D23CE000  00002000
Swapper Process Kernel Stack      FFFFFFFF.D23BA000  FFFFFFFF.D23C4000  0000A000
Swapper Map                       FFFFFFFF.D26C8000  FFFFFFFF.D274A000  00082000
Idle Loop's Mapping of Zero Pages FFFFFFFF.D23C4000  FFFFFFFF.D23C6000  00002000
PrimCPU Machine Check Logout Area 00000000.00000000  00000000.00000000  00000000
PrimCPU Sys Context Kernel Stack  FFFFFFFF.D22E2000  FFFFFFFF.D22EC000  0000A000
Tape Mount Verification Buffer    FFFFFFFF.D32EE000  FFFFFFFF.D32F2000  00004000

--- Alpha tests ---

Code: Select all

system_shark >sho mem/pool/full
              System Memory Resources on  2-MAR-2024 19:18:21.35

Nonpaged Dynamic Memory      (Lists + Variable)
  Current Size (MB)                30.00   Current Size (Pagelets)     61440
  Initial Size (MB)                30.00   Initial Size (Pagelets)     61440
  Maximum Size (MB)               152.00   Maximum Size (Pagelets)    311296
  Free Space (MB)                  28.39   Space in Use (MB)            1.60
  Largest Var Block (MB)           28.24   Smallest Var Block (MB)     28.24
  Number of Free Blocks              183   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides          182   Lookaside Space (KB)       147.31

Bus Addressable Memory       (Lists + Variable)
  Current Size (KB)               128.00   Current Size (Pagelets)       256
  Initial Size (KB)               128.00   Initial Size (Pagelets)       256
  Free Space (KB)                 110.87   Space in Use (KB)           17.12
  Largest Var Block (KB)          104.00   Smallest Var Block (KB)      6.87
  Number of Free Blocks                2   Free Blocks LEQU 64 bytes       0
  Free Blocks on Lookasides            0   Lookaside Space (bytes)         0

Paged Dynamic Memory         (Lists + Variable)
  Current Size (MB)                14.68   Current Size (Pagelets)     30080
  Free Space (MB)                   2.61   Space in Use (MB)           12.06
  Largest Var Block (MB)            2.61   Smallest Var Block (bytes)     16
  Number of Free Blocks               26   Free Blocks LEQU 64 bytes      22
  Free Blocks on Lookasides            2   Lookaside Space (bytes)       256

Lock Manager Dynamic Memory
  Current Size (MB)                10.96   Current Size (Pages)         1404
  Free Space (MB)                   9.76   Hits                         4096
  Space in Use (MB)                 1.20   Misses                          0
  Number of Empty Pages             1283   Expansions                   1404
  Number of Free Packets           35540   Packet Size (bytes)             0


system_shark >mc sysgen sho npagedyn
Parameter Name            Current    Default     Min.       Max.   Unit  Dynamic
--------------            -------    -------   -------    -------  ----  -------
NPAGEDYN                 31457280    1048576    163840 1879048192 Bytes



System Virtual Address Space Layout:
------------------------------------
   Item                                  Base               End          Length
System Virtual Base Address       FFFFFEFE.00000000
PFN Database                      FFFFFEFE.00000000  FFFFFEFE.00500000  00500000
543 WSL Slots, 33 pages each      FFFFFEFE.00500000  FFFFFEFE.090FE000  08BFE000
Permanent Mapping of System L1PT  FFFFFEFE.090FE000  FFFFFEFE.09100000  00002000
Error Log Buffers, S2             FFFFFEFE.09100000  FFFFFEFE.09104000  00004000
Global Page Table (GPT)           FFFFFEFE.09104000  FFFFFEFE.091DD070  000D9070
Resource Hash Table               FFFFFFFF.7FFB6000  FFFFFFFF.7FFF6000  00040000
Lock ID Table                     FFFFFFFF.760EE000  FFFFFFFF.76800000  00712000
Execlet Code Region               FFFFFFFF.80000000  FFFFFFFF.80800000  00800000
S0S1 Resident Image Code Region   FFFFFFFF.80800000  FFFFFFFF.83800000  03000000
S0S1 Resident Image Data Region   FFFFFFFF.83C00000  FFFFFFFF.84400000  00800000
System Header                     FFFFFFFF.84400000  FFFFFFFF.84416000  00016000
Bus-Addressable Pool (BAP)        FFFFFFFF.84416000  FFFFFFFF.84436000  00020000
Error Log Buffers, S0             FFFFFFFF.84436000  FFFFFFFF.8443A000  00004000
Nonpaged Pool (initial size)      FFFFFFFF.8443A000  FFFFFFFF.8623A000->01E00000<-- 30MB
Nonpaged Pool Expansion Area      FFFFFFFF.8623A000  FFFFFFFF.8DC3A000  07A00000
Execlet Data Region               FFFFFFFF.83800000  FFFFFFFF.83C00000  00400000
Fork Buffers Secondary to Primary FFFFFFFF.8FCD8000  FFFFFFFF.8FCDA000  00002000
Last edited by m_detommaso on Sat Mar 09, 2024 9:26 am, edited 1 time in total.

Post Reply