From gd78059@sac.sfbay.sun.com Mon Sep 21 16:45:42 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8LNjg7f000810
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 21 Sep 2009 16:45:42 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n8LNjeAZ007379;
	Mon, 21 Sep 2009 17:45:42 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KQC00G1LI04XY00@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Sep 2009 16:45:40 -0700 (PDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQC00DH4I04OX50@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Sep 2009 16:45:40 -0700 (PDT)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n8LNjdaq060139; Mon, 21 Sep 2009 16:45:40 -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 n8LNjc4C000805; Mon,
 21 Sep 2009 16:45:38 -0700 (PDT)
Received: (from gd78059@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id n8LNjcUf000801; Mon,
 21 Sep 2009 16:45:38 -0700 (PDT)
Date: Mon, 21 Sep 2009 16:45:38 -0700 (PDT)
From: "Garrett D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Subject: IRM Framework Extension(s) [PSARC/2009/505 FastTrack timeout
 09/28/2009]
To: PSARC-ext@sun.com
Cc: apic-dev@sun.com
Message-id: <200909212345.n8LNjcUf000801@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 4687


Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 IRM Framework Extension(s)
    1.2. Name of Document Author/Supplier:
	 Author:  Prasad Singamsetty
    1.3  Date of This Document:
	21 September, 2009
4. Technical Description


	 	IRM Framework Extension(s) 

1.0  Introduction

     PSARC/2008/628 introduced the generic Interrupt Resource Management
     (IRM) feature and it was enabled on SPARC platforms. It also defined
     DDI and NDI interfaces necessary for creating and managing interrupt
     resource pool(s). But this feature was not enabled or delivered
     for x86 platforms.

     On x86 platforms, the global interrupt resources (vectors) are
     associated with the local APIC (Advanced Programmable Interrupt
     Controller) which is a component of CPU. So, the number of
     interrupt resources in the system scales with the number of
     CPUs present in the system. Since the number of CPUs present
     in the system can dynamically change due to CPU hot-plug,
     CPU offlineing, etc., the available interrupt resource pool
     can change dynamically. In the current IRM framework there is
     no interface defined to allow the IRM pool to be resized
     dynamically.

     This project will define the additional interface(s) needed in the
     generic IRM framework and support the IRM feature on x86 platforms.

2.0  Problem

     Dynamic resizing of IRM pool is not supported with the current
     IRM framework. This is necessary to enable IRM feature on
     x86 platforms.

3.0  Technical Details

     A new NDI interface will be added to the IRM framework that
     would allow dynamic resizing of an IRM pool by the platform
     specific nexus drivers. This interface will be available for
     both x86 and SPARC platforms but it is not needed on SPARC
     at this time.

	int ndi_irm_resize_pool(ddi_irm_pool_t *poolp, uint_t size);

		poolp		Pointer to IRM pool

		size		New total number of available vectors
				in the pool (i.e. new value for ipool_totsz)

     The ndi_irm_resize_pool() function will reset the pool size
     to the specified value. If the new pool size is reduced from the
     previous size then it may trigger resource re-balancing
     operation by IRM if the number of free vectors is less
     than the reduction in pool size.

4.0  Interfaces

     This project exports the following interfaces:

     Interface			Classification		Comments
     -------------------------------------------------------------------
     ndi_irm_resize_pool	Consol. Private		Resize the pool
     -------------------------------------------------------------------

5.0  Release Summary

     Solaris Next, S10 Update
     Micro/Patch Release

6.0  Man Pages

6.1  ndi_irm_resize_pool

     NAME
	ndi_irm_resize_pool - resize the pool size

     SYNOPSIS
	#include <sys/types.h>
	#include <sys/ddi.h>
	#include <sys/sunndi.h>
	
	int ndi_irm_resize_pool(ddi_irm_pool_t *poolp, uint_t size);

     INTERFACE LEVEL
	ON Consolidation Private

     PARAMETERS
	poolp		Pointer to IRM pool

	size		New total number of available vectors in the pool
			(i.e. new value for ipool_totsz)

	The ndi_irm_resize_pool() function will reset the pool size
	to the specified value. If the new pool size is reduced from the
	previous size then it may trigger resource re-balancing operation
	by IRM.

     RETURN VALUES
	DDI_SUCCESS	on success
	
	DDI_EINVAL	invalid parameters

	DDI_FAILURE	failure to resize the pool
			(e.g: rebalance operation failed)

     PLATFORMS
	x86, SPARC

7.0  Dependencies

     Enabling IRM feature on x86 platforms is done as a follow on
     work to the following RFE:

     CR 6669984 Solaris x86 need to provide large number of interrupt vectors
		 for MSI/MSI-X

     The reason for this dependency is the inherent limitations on the
     current implementation of pcplusmp module (APIC module) where the
     number of vectors available for each interrupt priority level (IPL)
     is limited to 32, 16 or less in the system. So, having an IRM feature
     on the current implementation adds no value to the system.

     NOTE: The current plan is to integrate IRM feature along with
     the APIC code changes for the above RFE.

8.0  References

     [1] Interrupt Resource Management
         http://sac.sfbay/PSARC/2008/628/

     [2] Advanced DDI Interrupt Framework
         http://sac.eng/arc/PSARC/2004/253/

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


From Sebastien.Roy@sun.com Wed Sep 30 07:06:04 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n8UE63m2015820
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 30 Sep 2009 07:06:03 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n8UE61Yf006387;
	Wed, 30 Sep 2009 15:06:02 +0100 (BST)
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 <0KQS00F1DF61NY00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 30 Sep 2009 07:06:01 -0700 (PDT)
Received: from brmea-mail-2.sun.com ([192.18.98.43])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KQS009DWF5ZU850@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 30 Sep 2009 07:05:59 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n8UE5xxc026199; Wed,
 30 Sep 2009 14:05:59 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KQS00700EPME500@mail-amer.sun.com>; Wed, 30 Sep 2009 08:05:59 -0600 (MDT)
Received: from [129.148.174.103] ([unknown] [129.148.174.103])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KQS004NQF5YAI50@mail-amer.sun.com>; Wed,
 30 Sep 2009 08:05:58 -0600 (MDT)
Date: Wed, 30 Sep 2009 10:03:42 -0400
From: Sebastien Roy <Sebastien.Roy@sun.com>
Subject: Re: IRM Framework Extension(s) [PSARC/2009/505 FastTrack timeout
 09/28/2009]
In-reply-to: <200909212345.n8LNjcUf000801@sac.sfbay.sun.com>
Sender: Sebastien.Roy@sun.com
To: "Garrett D'Amore - sun microsystems" <gd78059@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com, apic-dev@sun.com
Message-id: <1254319422.19199.14.camel@strat>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200909212345.n8LNjcUf000801@sac.sfbay.sun.com>
Status: RO
Content-Length: 162

On Mon, 2009-09-21 at 16:45 -0700, Garrett D'Amore - sun microsystems
wrote:
>     1.1. Project/Component Working Name:
> 	 IRM Framework Extension(s)

+1
-Seb



