What’s New in Solaris Express 3/05 (Nevada Build 9)

I got chastised for not blogging often enough! I’ll try to do more in the coming month.
For now, Solaris Express 3/2005 is just around the corner (I believe it will come out
tomorrow, 3/29/2005); here’s a rundown on what’s new.

Notable New Features in Solaris “Nevada”, Build 9 (03/2005)


  • New “Never Print Banner” option in the Solaris Print Manager.

Hardware support

  • MPxIO (Solaris’s Multipath I/O feature) compatibility problems with
    IBM FAStT900 and FAStT600 arrays have been corrected.

  • A significant bug, 5042195 “Only part of disk is usable by fdisk or
    format on Solaris X86” has been fixed.

  • CD-ROM/DVD DMA is now always enabled; this had in the past caused
    problems with some CDROM and DVD drives. However, the performance
    benefit is significant. CD/DVD DMA can still be switched off via the
    configuration assistant. This is also known to cause problems
    with encrypted DVDs; to fix, disable DMA; this should be fixed when
    snv_11 comes out.


  • A new command, embedded_su(1M) allows an application
    to prompt for credentials and
    execute commands as the super user or another user using su(1M) as
    a backend. This makes it easy (easier) to develop non setuid GUIs
    which invoke privileged actions. Cool!


  • rand_r(3c), rand(3c) and pthread_once(3c) are faster.
    malloc(3c) and free(3c) are slightly faster.

Developer Support

  • The libc atomic_ops(3c) have been expanded.
    See atomic_cas(3c), atomic_bits(3c), atomic_swap(3c)
    and membar_ops(3c).
    These are great for writing tricky code which maintains portability across ISAs.
    Thanks to Jonathan for pointing out that
    I forgot to mention this.

  • The kernel gets a suite of handy atomic data manipulation routines,
    similar to those provided by atomic_ops(3c) (including all the new
    routines highlighted above). See atomic_ops(9F),
    atomic_bits(9F), etc. (but note a bug in the man pages: kernel code
    must #include <sys/atomic.h>, not <atomic.h>).

  • plockstat(1m) and lockstat(1m) pick up some new options. plockstat
    gains “-e ” (limit elapsed tracing time), “-n ” (limit
    entries printed in output), and “-v” (print a message to indicate
    that tracing has started). Both commands acquire a “-x ”
    option, which enables further tuning by setting various DTrace


  • The Network Layer 7 Cache (NL7C) revises the kernel NCA (Network Cache
    and Accelerator) by moving NCA’s HTTP layer and object
    cache into the kernel’s socket layer. Previously, NCA provided a
    completely separate TCP/IP stack inside the kernel, in order
    to provide the highest possible performance for web servers which
    were NCA-enabled. With the development of the FireEngine TCP/IP
    in Solaris 10, this extra TCP/IP stack can now be expunged.
    NL7C also further improves upon NCA performance by providing lower
    first-byte latency.
    Prefetch for sendfilev(3ext) is also added. Applications
    which already use the NCA apis are supported without modification.
    NL7C provides a framework for accelerating other L7 protocols in the future.

  • dhcpsvc.conf(4) and the dhcpmgr(1M) gui have a new “Owner IP” option.
    This allows you to optionally specify which IP address “owns” the
    dhcp network records a Solaris DHCP server manages. This is used
    by the server to determine which dhcp_network(4) records it is
    allowed to allocate. This feature is especially useful in cases where
    the DHCP server needs to be moved temporarily to a different system
    or address, and also in cases where the server may not have a stable
    IP address.

  • TCP and UDP ephemeral port selection is now randomized; this uses a
    high quality random number source in the kernel, raising the difficulty
    level of forging a valid RST.


  • New "poolbind -e" option allows one to easily run a command,
    binding that command to the resource pool in question.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s