From owner-svn-src-head@freebsd.org Fri Jul 6 21:32:23 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6BFB102F726; Fri, 6 Jul 2018 21:32:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8FF31706CB; Fri, 6 Jul 2018 21:32:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-2.local (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id 058C510AFD4; Fri, 6 Jul 2018 17:32:20 -0400 (EDT) Subject: Re: svn commit: r336020 - in head/sys: amd64/include arm/include arm64/include i386/include kern mips/include powerpc/include riscv/include sparc64/include sys vm x86/acpica To: Matt Macy , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201807060206.w662636M035282@repo.freebsd.org> From: John Baldwin Message-ID: <2c818e79-bcce-670c-9521-c4d171c3f5b1@FreeBSD.org> Date: Fri, 6 Jul 2018 14:32:19 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <201807060206.w662636M035282@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Fri, 06 Jul 2018 17:32:21 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jul 2018 21:32:23 -0000 On 7/5/18 7:06 PM, Matt Macy wrote: > Author: mmacy > Date: Fri Jul 6 02:06:03 2018 > New Revision: 336020 > URL: https://svnweb.freebsd.org/changeset/base/336020 > > Log: > Back pcpu zone with domain correct pages > > - Change pcpu zone consumers to use a stride size of PAGE_SIZE. > (defined as UMA_PCPU_ALLOC_SIZE to make future identification easier) > > - Allocate page from the correct domain for a given cpu. > > - Don't initialize pc_domain to non-zero value if NUMA is not defined > There are some misconceptions surrounding this field. It is the > _VM_ NUMA domain and should only ever correspond to valid domain > values as understood by the VM. > > The former slab size of sizeof(struct pcpu) was somewhat arbitrary. > The new value is PAGE_SIZE because that's the smallest granularity > which the VM can allocate a slab for a given domain. If you have > fewer than PAGE_SIZE/8 counters on your system there will be some > memory wasted, but this is obviously something where you want the > cache line to be coming from the correct domain. > > Reviewed by: jeff > Sponsored by: Limelight Networks > Differential Revision: https://reviews.freebsd.org/D15933 So one thing about this change that confused me abit is why any of srat.c is being run at all in a non-NUMA kernel. When we reworked the NUMA options in HEAD to merge DEVICE_NUMA and VM_NUMA_ALLOC or whatever it was called into a single NUMA, my impression is that srat.c should be 'optional numa' in sys/conf/files.*. Is it just oversight that that wasn't done earlier, and should we in fact do that now? -- John Baldwin