From owner-svn-src-head@freebsd.org Mon Dec 16 23:10:16 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 2E5511D0F7C for ; Mon, 16 Dec 2019 23:10:16 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic314-20.consmr.mail.gq1.yahoo.com (sonic314-20.consmr.mail.gq1.yahoo.com [98.137.69.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47cH6v0hTpz4RLj for ; Mon, 16 Dec 2019 23:10:14 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: wf9PNyQVM1lL4.niL62cFzyfSC_jqZQflmD5knPDIVmjBYIxkkC3ydMgxtIMODS yfymBEnvzzPoJz7F0UNcP8dfrc_x__FJIGxdTbCPI2OlVqtXGQGrYjP4lN1SW416SHptlgpswHg. dJ_9LXlYjY3VOo8Qk6mNAWvgux_GbPoHeY7ab2vtDUl1f2C76I.34rgOWhQpp9jWy3ZCzf4DB8fU ENnuGvSyOkPwdQZRgYV5OEBR3vT3lPrLAe3nhK9ERxi3g2P6O6qyDNH6sn8VU1R859aX9vs4u2fR 0l8vV1b673ltnpc8g5gEG9Ppe5CsjaaSisRUUuLlpWqskpEiH_1.gsMk2Unh9dWWdHnKufEQP8rF SHN9QLqYBilja2I6Hv_Zzr2LhwxQjdd9pRsEY2h3djT1AVOnigKsh2mcW9B4hs4Zy_D0rhJsTIAC yf4td8owbsHkhw5Y5TER0W3IzmRYjZJWyCiIjq_YrYqIY91ag35g4nKC_NVoniRgf.fWxE5cKeWT nWTE5TzSosNhBhIqAerSse3PxOz4rDS2DhucLzMdJ6cVoQXWv7rJxKGou2.MhMeFAiHdpuAmWuTv 4bboiQkR5WAJ_.hAJwrOI66Gk.K6JzIJ0iutAnYpbHylpBUsyjGlXH_5_1PtgjJY9N801TPVCeaW yLmayu1OBNQEh0ICJ04U6eYFkpNHKW24mEiYbgEW4yhzYiXX4_PvPHWDC_mH1iJDPobafoEZ9jtM YFmoNRG0ikp739EE0CwKppr1bgnzxveQCn7Fo1Sg4LA1WzYG7yaBDM1EWLXIZQtlOPi1MKJe9FV2 iheKs5M5ZyBiqTxzKND1rKOD8P37jsXots9YUx8xEJEpcPFUSW.wNrcGvJrCZrmf41uyIJScApfG Zy7481hwFZcKNxfYh_dCBtG9tHAsEoBidHjSgefaK39b1PFKh2K3RpouP3STs4bn8VZuORiuu83s G37uqnzU6tTpP4oMJu64ZoH2csnjUMCY94Q.vsk9FXeMVDkfKXNcvIsJuFqg0zEMcewRT63edKDp xd3mKdwgxy.i6dM7iKhdP_qKC9399lAwyW6GFj_K80nqJam8Ivksr8hNwEnPo7YPReYb6K8yuyKV dn291qUps.pexwbSLc7Bo10ysm4R.yNXDQaFuSCDVRy5QhWmHKZz4AbXFo_zk32E1dCc2YGKIeKI dPdl6lHVQ6SrZI80Imhn8iN0WR1w2wsgsRO2LOs93NqoDU6dVEQ696DcVJILzfWfLdJS0vD05YBp hRmREjTlhKA07F7Ba9gstBlHX59k07WJCzzu7EYzk3OXSBEnHBLkwU1B_ticeNl5M1LSArgxXKhX Z1dKdoeBq1LxqScqCQ0IcN7o9m3H9rLj_jVQvKv.hOKmr3fAXMP13u4wSMYZepbqtj9y.g8Txw2J tLnnNIvODZT1N8ZmMKRbfw79Shi_aa1vALD4- Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.gq1.yahoo.com with HTTP; Mon, 16 Dec 2019 23:10:12 +0000 Received: by smtp429.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID ff788fb7ab3f2c847bde8afa754ea791; Mon, 16 Dec 2019 23:10:06 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\)) Subject: Re: svn commit: r355819 - in head/sys: arm/arm arm64/arm64 i386/i386 mips/mips powerpc/powerpc riscv/riscv Message-Id: <3C939E47-40DB-484D-9948-A88378051682@yahoo.com> Date: Mon, 16 Dec 2019 15:10:04 -0800 To: "jeff@freebsd.org " , svn-src-head@freebsd.org X-Mailer: Apple Mail (2.3608.40.2.2.4) References: <3C939E47-40DB-484D-9948-A88378051682.ref@yahoo.com> X-Rspamd-Queue-Id: 47cH6v0hTpz4RLj X-Spamd-Bar: - X-Spamd-Result: default: False [-1.65 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-0.71)[-0.706,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_GOOD(-0.10)[text/plain]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-0.44)[-0.440,0]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[83.69.137.98.list.dnswl.org : 127.0.5.0]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.00)[ip: (5.74), ipnet: 98.137.64.0/21(0.89), asn: 36647(0.71), country: US(-0.05)]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.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: Mon, 16 Dec 2019 23:10:16 -0000 > Author: jeff > Date: Mon Dec 16 20:15:04 2019 > New Revision: 355819 > URL:=20 > https://svnweb.freebsd.org/changeset/base/355819 >=20 >=20 > Log: > Repeat the spinlock_enter/exit pattern from amd64 on other = architectures to > fix an assert violation introduced in r355784. Without this = spinlock_exit() > may see owepreempt and switch before reducing the spinlock count. = amd64 > had been optimized to do a single critical enter/exit regardless of = the > number of spinlocks which avoided the problem and this optimization = had > not been applied elsewhere. > =20 > Reported by: emaste > Suggested by: rlibby > Discussed with: jhb, rlibby > Tested by: manu (arm64) >=20 > Modified: > head/sys/arm/arm/machdep.c > head/sys/arm64/arm64/machdep.c > head/sys/i386/i386/machdep.c > head/sys/mips/mips/machdep.c > head/sys/powerpc/powerpc/machdep.c > head/sys/riscv/riscv/machdep.c It looks like sparc64 still has the old code structure: =46rom /usr/src/sys/sparc64/sparc64/machdep.c . . . void spinlock_enter(void) { struct thread *td; register_t pil; td =3D curthread; if (td->td_md.md_spinlock_count =3D=3D 0) { pil =3D rdpr(pil); wrpr(pil, 0, PIL_TICK); td->td_md.md_spinlock_count =3D 1; td->td_md.md_saved_pil =3D pil; } else td->td_md.md_spinlock_count++; critical_enter(); } void spinlock_exit(void) { struct thread *td; register_t pil; td =3D curthread; critical_exit(); pil =3D td->td_md.md_saved_pil; td->td_md.md_spinlock_count--; if (td->td_md.md_spinlock_count =3D=3D 0) wrpr(pil, pil, 0); } (Not that I ever do anything with sparc64 machines.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)