From owner-freebsd-current Sat Feb 23 18:18:47 2002 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 973C337B402; Sat, 23 Feb 2002 18:18:43 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id g1O2IfL40500; Sat, 23 Feb 2002 18:18:41 -0800 (PST) (envelope-from dillon) Date: Sat, 23 Feb 2002 18:18:41 -0800 (PST) From: Matthew Dillon Message-Id: <200202240218.g1O2IfL40500@apollo.backplane.com> To: Bruce Evans Cc: Terry Lambert , Alfred Perlstein , Bosko Milekic , Seigo Tanimura , , John Baldwin Subject: Re: malloc_bucket() idea (was Re: How to fix malloc.) References: <20020224130010.W31250-100000@gamplex.bde.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG : :On Sat, 23 Feb 2002, Matthew Dillon wrote: : :> :It's too messy and unfinished (doesn't work right for SMP or irqs >= 16), :> :and dificult to untangle from my other patches. I posted these partial :> :ones to attempt to inhibit() recomplication of the current critical* :> :functions in directions that I don't want to go :-). :> :> Oh, ok. Hmm. Well, do you mind if I throw together an interrupt-set-cli- :> in-return-frame patch set? I think it would wind up being just as fast. : :I don't see how that would work. We need to call critical_enter() from :ordinary code, so there is no free frame pop. : :Bruce I'm trying it your way, with an ipending variable. The set-cli-in-return-frame mechanism would only work well for level interrupts. Basically the interrupt occurs and you set PS_I in the return frame (that was pushed on entry to the interrupt). critical_exit() would then detect the 1->0 transition and simply STI. But since we have a combination of level and edge it gets too messy for my tastes, so I'm trying it with an ipending variable. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message