Dhanaraj M
An Interesting debugging D-Script
In Solaris, segmap/KPM/VPM are the available interfaces to cache file system pages.
This segment driver in VM layer plays a major role and improves UFS read/write performance.
The KPM address is mapped once at the boot time and it never gets unmapped/remapped.
Hence, this avoids hat_unload() calls and reduces number of cross-calls.
6836343 - a bug in segmap_release() code. The KPM address is getting unmapped by mistake.
We came up with a d-trace script to capture the thread/stack, which is unmapping KPM address.
#dtrace -w -n hat_unload:entry'/args[1] >= `kpm_vbase && args[1] <= (`kpm_vbase + `kpm_size)/ { panic()}'
Posted at 07:07PM Jul 18, 2009 by dhanarajm in Sun | Comments[1]
VPM is enabled for SPARC platforms
With the following CR got integrated into SNV_113 and S10U8,
6811473 VPM interfaces should provide multiple pagelength mappings per request,
we see the following changes
1. VPM is enabled by default for SPARC platform also
2. Multi page length support improves the sendfilev performance
SPARC:
By default VPM is enabled.
1. To enable segmap/KPM, add the following in /etc/system
set vpm_enable = 0
2. To enable segmap, add the following in /etc/system
set kpm_enable = 0
x86:
By default segmap is enabled.
x64:
By default VPM is enabled.
1. To enable segmap/KPM, add the following in /etc/system
set vpm_enable = 0
2. To enable segmap, add the following in /etc/system
set kpm_desired = 0
NOTE: Till S10U7, VPM was supported for X64 platform.
'set kpm_desired = 0' was used to disable VPM.
Posted at 04:41PM Jul 17, 2009 by dhanarajm in Sun | Comments[0]