From owner-freebsd-current@FreeBSD.ORG Tue Sep 28 18:41:16 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 854C9106564A; Tue, 28 Sep 2010 18:41:16 +0000 (UTC) (envelope-from seanbru@yahoo-inc.com) Received: from mrout1.yahoo.com (mrout1.yahoo.com [216.145.54.171]) by mx1.freebsd.org (Postfix) with ESMTP id 667308FC08; Tue, 28 Sep 2010 18:41:16 +0000 (UTC) Received: from [127.0.0.1] (cheese.corp.yahoo.com [216.145.50.99]) by mrout1.yahoo.com (8.14.4/8.14.4/y.out) with ESMTP id o8SIeitJ014147; Tue, 28 Sep 2010 11:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=yahoo-inc.com; s=cobra; t=1285699244; bh=HCL7O7ycLSkCJKQKzS7oE4Ns41ewekPJjq3r8xk+xzE=; h=Subject:From:Reply-To:To:Cc:In-Reply-To:References:Content-Type: Date:Message-ID:Mime-Version:Content-Transfer-Encoding; b=ES1dweAI0I/I9WXhk97qn99tsSBrim1ZJ8vDDalF1LW8NV9LnXHMlXZp+nszCMvg0 bvSXX3V3T3A6T+7Ahpb1mTkNmBHcbJ7jjajEc8ngPJL7Aoq8/Kgq0VmHMT01Jx0mD1 vpgPQCvvD4HDTbv2zGDs0zHf5RUxyBqU1MeA/39Y= From: Sean Bruno To: John Baldwin In-Reply-To: <201009281429.30747.jhb@freebsd.org> References: <1285601161.7245.7.camel@home-yahoo> <1285692311.2454.11.camel@home-yahoo> <201009281429.30747.jhb@freebsd.org> Content-Type: text/plain; charset="UTF-8" Date: Tue, 28 Sep 2010 11:40:44 -0700 Message-ID: <1285699244.2454.63.camel@home-yahoo> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 (2.28.3-1.fc12) Content-Transfer-Encoding: 7bit Cc: "sbruno@freebsd.org" , "freebsd-current@FreeBSD.org" , Robert Watson , Joshua Neal Subject: Re: MAXCPU preparations X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: sbruno@freebsd.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Sep 2010 18:41:16 -0000 On Tue, 2010-09-28 at 13:29 -0500, John Baldwin wrote: > On Tuesday, September 28, 2010 12:45:11 pm Sean Bruno wrote: > > On Tue, 2010-09-28 at 02:48 -0500, Robert Watson wrote: > > > On Mon, 27 Sep 2010, Joshua Neal wrote: > > > > > > > I hit this bug at one point, and had to bump MEMSTAT_MAXCPU. It's already > > > > asking the kernel for the max number and throwing an error if it doesn't > > > > agree: > > > > > > Yes, it looks like MAXCPU was bumped in the kernel without bumping the limit > > > in libmemstat. The bug could be in not having a comment by the definition of > > > MAXCPU saying that MEMSTAT_MAXCPU needs to be modified as well. > > > > > > > I was thinking a more future-proof fix would be to get rid of the static > > > > allocations and allocate the library's internal structures based on the > > > > value of kern.smp.maxcpus. > > > > > > Agreed. I'm fairly preoccupied currently, but would be happy to accept > > > patches :-). > > > > > > Robert > > > > Working on a dynamic version today. I'll spam it over to you for review > > later. > > > > I'm moving the percpu struct definitions outside of struct memory_type, > > allocating quantity kern.smp.maxcpus, removing the boundary checks based > > on MEMSTAT_MAXCPU and then removing MEMSTAT_MAXCPU all together. > > If you go fully dynamic you should use mp_maxid + 1 rather than maxcpus. > I assume that mp_maxid is the new kern.smp.maxcpus? Can you inject some history here so I can understand why one is "better" than the other? Sean