From owner-freebsd-hackers Mon Aug 6 23:27:28 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from robin.mail.pas.earthlink.net (robin.mail.pas.earthlink.net [207.217.120.65]) by hub.freebsd.org (Postfix) with ESMTP id 8BCE037B401 for ; Mon, 6 Aug 2001 23:27:24 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from mindspring.com (dialup-209.245.136.130.Dial1.SanJose1.Level3.net [209.245.136.130]) by robin.mail.pas.earthlink.net (EL-8_9_3_3/8.9.3) with ESMTP id XAA14061; Mon, 6 Aug 2001 23:27:15 -0700 (PDT) Message-ID: <3B6F8A6C.B95966B7@mindspring.com> Date: Mon, 06 Aug 2001 23:27:56 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Matt Dillon Cc: Zhihui Zhang , freebsd-hackers@FreeBSD.ORG Subject: Re: Allocate a page at interrupt time References: <200108051955.f75Jtk882156@earth.backplane.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Matt Dillon wrote: > Yes, that is precisely the reason. In -current this all changes, though, > since interrupts are now threads. *But*, that said, interrupts cannot > really afford to hold mutexes that might end up blocking them for > long periods of time so I would still recommend that interrupt code not > attempt to allocate pages out of PQ_CACHE. I keep wondering about the sagicity of running interrupts in threads... it still seems like an incredibly bad idea to me. I guess my major problem with this is that by running in threads, it's made it nearly impossibly to avoid receiver livelock situations, using any of the classical techniques (e.g. Mogul's work, etc.). It also has the unfortunate property of locking us into virtual wire mode, when in fact Microsoft demonstrated that wiring down interrupts to particular CPUs was good practice, in terms of assuring best performance. Specifically, running in virtual wire mode means that all your CPUs get hit with the interrupt, whereas running with the interrupt bound to a particular CPU reduces the overall overhead. Even what we have today, with the big giant lock and redirecting interrupts to "the CPU in the kernel" is better than that... -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message