From krishna@sac.sfbay.sun.com Fri Jun 25 12:33:59 2010
Received: from sunmail6brm.central.sun.com (sunmail6brm.Central.Sun.COM [129.147.4.169])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o5PJXxft018136
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 25 Jun 2010 12:33:59 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail6brm.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id o5PJXwtN027609;
	Fri, 25 Jun 2010 14:33:58 -0500 (CDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0L4L00H1H50M0K00@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 25 Jun 2010 12:33:58 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0L4L0060T50LLU90@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 25 Jun 2010 12:33:58 -0700 (PDT)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4)
 with ESMTP id o5PJXvNk018445; Fri, 25 Jun 2010 12:33:57 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id o5PJXtcN018130; Fri,
 25 Jun 2010 12:33:55 -0700 (PDT)
Received: (from krishna@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id o5PJXtdo018126; Fri,
 25 Jun 2010 12:33:55 -0700 (PDT)
Date: Fri, 25 Jun 2010 12:33:55 -0700 (PDT)
From: Krishna Yenduri <krishna@sac.sfbay.sun.com>
Subject: Allow ranges for the 'cpus' datalink property [PSARC/2010/240 Self
 Review]
To: PSARC-ext@sun.com
Cc: michael.l.lim@oracle.com
Message-id: <201006251933.o5PJXtdo018126@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 3465

I am sponsoring this case for Michael Lim. I marked it closed
automatic since this is a straight forward change to dladm(1M). 

-Krishna

Template Version: @(#)sac_nextcase 1.70 03/30/10 SMI
This information is Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
1. Introduction
    1.1. Project/Component Working Name:
	 Allow ranges for the 'cpus' datalink property
    1.2. Name of Document Author/Supplier:
	 Author:  Michael Lim
    1.3  Date of This Document:
	25 June, 2010
4. Technical Description

Overview
--------

   Project Crossbow introduced the 'cpus' data link property.  This
   property is used by the mac kernel module to bind kernel threads
   (poll, worker, softrings) and interrupts to the CPUs assigned to
   the data link.

   The implementation allowed entry of individual CPU IDs for the
   'cpus' property.  For situations where large numbers of CPUs are
   entered or displayed, this interface is cumbersome.  PAE typically
   specifies 20 or more CPUs for performance testing.

   The use of ranges for the 'cpus' property will allow the administrator
   to select a range or list of ranges of CPUs for network processing.
   use of "#dladm show-linkprop" will also display the 'cpus' and
   'cpus-effective' datalink properties as a range or list of ranges 
   whenever possible.


Technical Description
---------------------

   For specification of ranges of CPUs for the 'cpus' datalink property,
   the following forms will be allowed:

     #dladm set-linkprop -p cpus=0-3 e1000g0
     #dladm set-linkprop -p cpus=0-3,5 e1000g0
     #dladm set-linkprop -p cpus=0-3,5-7 e1000g0

   And the CPU ranges will introduce the following restrictions:

     No duplicate CPUS
     #dladm set-linkprop -p cpus=0-3,2 e1000g0
     #dladm set-linkprop -p cpus=0-3,2-3 e1000g0

     No inverse ranges  
     #dladm set-linkprop -p cpus=3-0 e1000g0

   The display of CPUs in both the 'cpus' and 'cpus-effective' will
   be in the range format, regardless of input form.

     #dladm set-linkprop -p cpus=0-3,7 e1000g0
     #dladm show-linkprop -p cpus e1000g0
     LINK         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
     e1000g0      cpus            rw   0-3,7          --             -- 
     #dladm show-linkprop -p cpus-effective e1000g0
     LINK         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
     e1000g0      cpus-effective  rw   0-3,7          --             -- 

     #dladm set-linkprop -p cpus=0,1,2,3,7 e1000g3
     #dladm show-linkprop -p cpus e1000g0
     LINK         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
     e1000g3      cpus            rw   0-3,7          --             -- 

    The updated man page is in the case directory.

Interfaces Changes
------------------

Exported Interfaces
Interface Name                  Classification          Comments
-------------------------------------------------------------------------------
cpus                            Committed               dladm datalink property
cpus-effective			Committed		dladm datalink property


The release binding is Micro/Patch.
   
 
Reference Documents
-------------------

   PSARC 2006/357 Crossbow

   6822164 dladm set-linkprop for integers should be able to accept ranges




6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open


