From owner-p4-projects@FreeBSD.ORG Fri Jun 2 00:26:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A95DC16AAC2; Fri, 2 Jun 2006 00:26:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CAA6B16A92B for ; Fri, 2 Jun 2006 00:26:24 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA8A943D49 for ; Fri, 2 Jun 2006 00:26:19 +0000 (GMT) (envelope-from kip.macy@gmail.com) Received: by nz-out-0102.google.com with SMTP id 9so623455nzo for ; Thu, 01 Jun 2006 17:26:19 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Z0+GoCGubMqB7nhuN8RPyKwSAXgHtuUxfhMvZgJitlopJ429ThT/8+p36RBm0CbGcO7FfB4hj1j5PuJq1AGyZGULnFzVXx55LL+9kZzCdqD/t2uM1vulR7NCDhDXC24tZmNNqhKKoH5Wk5RZpwxvl5AFPLboFplz0z8T1KR7Gi0= Received: by 10.65.236.9 with SMTP id n9mr1059359qbr; Thu, 01 Jun 2006 17:26:18 -0700 (PDT) Received: by 10.65.225.13 with HTTP; Thu, 1 Jun 2006 17:26:18 -0700 (PDT) Message-ID: Date: Thu, 1 Jun 2006 17:26:18 -0700 From: "Kip Macy" To: "John Baldwin" In-Reply-To: <200605311657.44921.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200605301926.k4UJQkgt055284@repoman.freebsd.org> <200605311657.44921.jhb@freebsd.org> Cc: Perforce Change Reviews , Kip Macy Subject: Re: PERFORCE change 98153 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: kmacy@fsmware.com List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jun 2006 00:26:37 -0000 > I'd rather avoid this for now as it will have to be backed out for interrupt > filters. I don't know anything about interrupt filters, so please let me know what you have in mind. The whole of interrupt handling is far too heavyweight at the moment. -Kip > > > > > Affected files ... > > > > .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/intr_machdep.c#8 edit > > > > Differences ... > > > > ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/intr_machdep.c#8 > (text+ko) ==== > > > > @@ -205,9 +205,15 @@ > > > > ps = intr_disable(); > > if (vec != -1) { > > - intr_vectors[vec].iv_func = ivf; > > - intr_vectors[vec].iv_arg = iva; > > - intr_vectors[vec].iv_pri = pri; > > + if ((char *)intr_vectors[vec].iv_func == (char *)intr_stray_level) { > > + intr_vectors[vec].iv_func = ivf; > > + intr_vectors[vec].iv_arg = iva; > > + } else { > > + intr_vectors[vec].iv_func = intr_execute_handlers; > > + intr_vectors[vec].iv_arg = &intr_vectors[vec]; > > + } > > + if (pri > intr_vectors[vec].iv_pri) > > + intr_vectors[vec].iv_pri = pri; > > intr_vectors[vec].iv_vec = vec; > > } > > snprintf(pilname, MAXCOMLEN + 1, "pil%d: %s", pri, pil_names[pri]); > > @@ -315,8 +321,9 @@ > > struct intr_vector *iv; > > struct intr_event *ie; /* descriptor for the IRQ */ > > struct intr_event *orphan; > > - int errcode; > > - > > + int errcode, pil; > > + iv_func_t *ivf; > > + void *iva; > > /* > > * Work around a race where more than one CPU may be registering > > * handlers on the same IRQ at the same time. > > @@ -347,8 +354,11 @@ > > if (errcode) > > return (errcode); > > > > - intr_setup(flags & INTR_FAST ? PIL_FAST : PIL_ITHREAD, intr_fast, vec, > > - intr_execute_handlers, iv); > > + pil = (flags & INTR_FAST) ? PIL_FAST : PIL_ITHREAD; > > + ivf = (flags & INTR_FAST) ? handler : intr_execute_handlers; > > + iva = (flags & INTR_FAST) ? arg : iv; > > + > > + intr_setup(pil, intr_fast, vec, ivf, iva); > > > > intr_stray_count[vec] = 0; > > > > > > -- > John Baldwin >