From owner-svn-src-head@freebsd.org Sat Aug 24 16:15:19 2019 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 11E75C39D4; Sat, 24 Aug 2019 16:15:19 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46G3Jk5tqmz3NTV; Sat, 24 Aug 2019 16:15:18 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id x7OGF4gp011064 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sat, 24 Aug 2019 19:15:07 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua x7OGF4gp011064 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id x7OGF3rU011063; Sat, 24 Aug 2019 19:15:03 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 24 Aug 2019 19:15:03 +0300 From: Konstantin Belousov To: Conrad Meyer Cc: src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r351456 - head/sys/amd64/amd64 Message-ID: <20190824161503.GA71821@kib.kiev.ua> References: <201908241528.x7OFSemm026182@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on tom.home X-Rspamd-Queue-Id: 46G3Jk5tqmz3NTV X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.91 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; NEURAL_HAM_SHORT(-0.91)[-0.910,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 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: Sat, 24 Aug 2019 16:15:19 -0000 On Sat, Aug 24, 2019 at 08:49:42AM -0700, Conrad Meyer wrote: > Hi Konstantin, > > What is the motivation for this change? The commit message doesn't > really describe why it was done. Really it does. There is no point to request allocations for e.g. doublefault stack to be at the local domain, because this stack is only used once. Doublefault is definitely a machine halt situation, it does not matter if it generates inter-socket traffic to handle. Same for boot stacks, and for mce. The change avoids unnecessary constraints. > > Thanks, > Conrad > > On Sat, Aug 24, 2019 at 8:28 AM Konstantin Belousov wrote: > > > > Author: kib > > Date: Sat Aug 24 15:28:40 2019 > > New Revision: 351456 > > URL: https://svnweb.freebsd.org/changeset/base/351456 > > > > Log: > > Do not constrain allocations for doublefault, boot, and mce stacks. > > > > All these stacks are used only once (doublefault, boot) or very rare > > (mce). > > > > Reviewed by: markj > > Tested by: pho > > Sponsored by: The FreeBSD Foundation > > Differential revision: https://reviews.freebsd.org/D21320 > > > > Modified: > > head/sys/amd64/amd64/mp_machdep.c > > > > Modified: head/sys/amd64/amd64/mp_machdep.c > > ============================================================================== > > --- head/sys/amd64/amd64/mp_machdep.c Sat Aug 24 15:25:53 2019 (r351455) > > +++ head/sys/amd64/amd64/mp_machdep.c Sat Aug 24 15:28:40 2019 (r351456) > > @@ -475,13 +475,11 @@ native_start_all_aps(void) > > domain = acpi_pxm_get_cpu_locality(apic_id); > > #endif > > /* allocate and set up an idle stack data page */ > > - bootstacks[cpu] = (void *)kmem_malloc_domainset( > > - DOMAINSET_FIXED(domain), kstack_pages * PAGE_SIZE, > > + bootstacks[cpu] = (void *)kmem_malloc(kstack_pages * PAGE_SIZE, > > M_WAITOK | M_ZERO); > > - doublefault_stack = (char *)kmem_malloc_domainset( > > - DOMAINSET_FIXED(domain), PAGE_SIZE, M_WAITOK | M_ZERO); > > - mce_stack = (char *)kmem_malloc_domainset( > > - DOMAINSET_FIXED(domain), PAGE_SIZE, M_WAITOK | M_ZERO); > > + doublefault_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | > > + M_ZERO); > > + mce_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO); > > nmi_stack = (char *)kmem_malloc_domainset( > > DOMAINSET_FIXED(domain), PAGE_SIZE, M_WAITOK | M_ZERO); > > dbg_stack = (char *)kmem_malloc_domainset( > >