Dhanaraj M

Saturday Jul 18, 2009

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()}'

Friday Jul 17, 2009

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.

Calendar

Feeds

Search

Links

Navigation

Referrers