From owner-svn-src-head@freebsd.org Wed Nov 28 23:42:30 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 C63631140FD8; Wed, 28 Nov 2018 23:42:30 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com [IPv6:2607:f8b0:4864:20::832]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0DA3F8CF91; Wed, 28 Nov 2018 23:42:30 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-qt1-x832.google.com with SMTP id y20so32991qtm.13; Wed, 28 Nov 2018 15:42:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=iqIJUM7FXxcRsce00oI88z03xGchVAdgCK6ip1DYyVc=; b=j7ct+UOHevB8leES7et319zBbrkfc74FBg2DLGYuoradxZZImaTFAn/IdeJRI2MOp5 XRfJ166odWiU75C6D1s5BvCs9h/RKFqVcyt91dsUi2uR3FCMxLE+FshEQbR7OgFqPwIy SDbOGUKcNkTTyjjqcAeWZJ89r5ywh8dLzgkFted9/mdg2HMT9IifWl7W1GWoL4aVqvVC uwbxYTwKigEznBu9RGLAiJ0xEobyqCKrmyZr69BEuftKcsz7Rj7dEK2rSZZl2Y2Xk+3J Adz+jwKKuoF7GBsI8ypqoMXt75DjrhjM6vC9xVo81KTyipeZpyObh1DElEAzld/8x6vb 3mlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=iqIJUM7FXxcRsce00oI88z03xGchVAdgCK6ip1DYyVc=; b=hhEQmblQuhpvY9ePPOMWPpeIMRYnhd7UWQ7zUz/vcilNy7oC7BU7LSEwdX8TvWKiRW Ad5Bq9Sa9zNawFtgIiWMdXvpW9QpH8zUGlJG8fuEd3oEJk/gI8nUC3PG6AFwTpcIG0Qt 7CatYSM6RIh09frk41ft+l9BdS4Lx9r1MMJAE+qGAXcHwynSfszkzChRgPHzdSMJ1bnH cbigvHzd3xaRdTU7kFyt+Vnhqr6bj2w3TvqO9DGQE+bLI9yUd5pw6iUZ4KRicww1mlhG c8+fD128XXOzeL7tcSLe3R1XZTUJvLdunlFwJTksTRsJoPIfIlSl8bTms38hkGYBCKWJ hh2g== X-Gm-Message-State: AA+aEWZUQF7Kf0RhtnEYbjVG+jgTJWHrO9/vVSbNrKKN1WSe3xqXNrYQ zjjKsb4ow9UIpWymsYjtQb1GaMpumLxjq1kma2TvDw== X-Google-Smtp-Source: AFSGD/W7wRoErQwOJ708ThCC17yJ7TXvnbArVOLcawtQ8Sq88/c8wWTfdKSb2T6rM+2JLTNV0/Gxfbu6eNXY0ISlSls= X-Received: by 2002:a0c:8b64:: with SMTP id d36mr36663171qvc.233.1543448549505; Wed, 28 Nov 2018 15:42:29 -0800 (PST) MIME-Version: 1.0 Received: by 2002:ac8:784:0:0:0:0:0 with HTTP; Wed, 28 Nov 2018 15:42:28 -0800 (PST) In-Reply-To: <8cae923a-2b14-c16b-23e7-e6eb7e9a8c3a@FreeBSD.org> References: <201811201458.wAKEwftP033152@repo.freebsd.org> <20181120150756.GD2378@kib.kiev.ua> <8cae923a-2b14-c16b-23e7-e6eb7e9a8c3a@FreeBSD.org> From: Mateusz Guzik Date: Thu, 29 Nov 2018 00:42:28 +0100 Message-ID: Subject: Re: svn commit: r340676 - in head/sys: kern sys To: John Baldwin Cc: Warner Losh , Konstantin Belousov , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 0DA3F8CF91 X-Spamd-Result: default: False [-4.63 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2.3.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; NEURAL_HAM_SHORT(-0.97)[-0.969,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; IP_SCORE(-0.65)[ipnet: 2607:f8b0::/32(-1.80), asn: 15169(-1.36), country: US(-0.09)] X-Rspamd-Server: mx1.freebsd.org 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: Wed, 28 Nov 2018 23:42:31 -0000 On 11/26/18, John Baldwin wrote: > On 11/22/18 9:28 AM, Mateusz Guzik wrote: >> diff --git a/sys/sys/systm.h b/sys/sys/systm.h >> index a1b98c5660c..fab94ee7979 100644 >> --- a/sys/sys/systm.h >> +++ b/sys/sys/systm.h >> @@ -523,7 +523,11 @@ int alloc_unr_specific(struct unrhdr *uh, u_int >> item); >> int alloc_unrl(struct unrhdr *uh); >> void free_unr(struct unrhdr *uh, u_int item); >> >> -#if defined(__mips__) || defined(__powerpc__) >> +#if defined(mips) && !defined(__mips_n64) && !defined(__mips_n32) >> +#define UNR64_LOCKED >> +#endif > > This would perhaps be shorter as: > > #if defined(__mips__) && defined(__mips_o32) > >> + >> +#if defined(__powerpc__) && !defined(__powerpc64__) >> #define UNR64_LOCKED >> #endif > > It's not clear to me why this isn't just conditional on LP64 though. > If 32-bit riscv existed in FreeBSD it would also not have this. If we > really care that much about i386 and 32-bit arm you could write it as: > > #if !(defined(__LP64__) || defined(__i386__) || defined(__arm__)) > > (I'm not sure we care that much though and think we could just use __LP64__ > alone and call it a day.) > There will be future optimizations which would be defeated for platforms resorting to the lock, but playing around it may not be worth it. That said, if noone objects I'll just __LP64__ as suggested: diff --git a/sys/sys/systm.h b/sys/sys/systm.h index a1b98c5660c..b250c54033c 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -523,7 +523,7 @@ int alloc_unr_specific(struct unrhdr *uh, u_int item); int alloc_unrl(struct unrhdr *uh); void free_unr(struct unrhdr *uh, u_int item); -#if defined(__mips__) || defined(__powerpc__) +#ifndef __LP64__ #define UNR64_LOCKED #endif -- Mateusz Guzik