From owner-freebsd-ppc@freebsd.org Sun Jun 28 01:01:26 2020 Return-Path: Delivered-To: freebsd-ppc@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 75AC133901E for ; Sun, 28 Jun 2020 01:01:26 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic308-8.consmr.mail.gq1.yahoo.com (sonic308-8.consmr.mail.gq1.yahoo.com [98.137.68.32]) (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 49vXPd3dhwz4gDP for ; Sun, 28 Jun 2020 01:01:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: jRLdA0kVM1nQEZUfC6VyLk66Pn78e0QNxwLjmo1wvaCFJV__SUm0C1tO7U6Hhny dMK.gVmaSjpXtiQmwEAqVK3.hckmDEFgbGFn9ZMVErB.UIas2bXleC2Gb.JL5sRa7Dqq8umhDacQ QDtmDyPwz07XyeeaKngeR7n0bKisX5RE9.Z6i8sR9x.lOJDhMTvGjlsN8gfhMVjNLNAro7f2RQjb ujNIMYu2EnkTrlEjfliic3.IP6meWcir3YFo9YpcaIQjylZVaflM7pC1pEdcNpCmODzw2P4gOobM 8yYcNDzIFkjBr63H6ieAsxDU6650MQeF8T7bdaFnAGQ68eAJUzmbFLQfeu6Mntf9bq.3Ui7BqHBx jjUfz8V1UmO2L6eWz7zK.sS4X22zw7EZ6J6ZpP_TjGg0iDvc_lsTOwZUsrmBkhoQ462WnSTB3EWV RRkcWUU479kI2XXjbKK7on5PjV3y6kLOXZC98.j7KDyL2P0rwzbq2r7t2_VXIoxdctH0PKkzmL7J rg8L34DUPtFFLpDCtMUaGSitouKVY0Sff.tNSLlX4vthdQpwLIo_GSf8QbI15NbyPtbgKYW1qwbO 6BCByLFhkIC7ezMUNkMyRothiIk7lNBfmGHnuZmzKDyV_6tFk69AFtCSyjhLf11iH2RCEnmYPg5v hBscoD9KvyS9XBwEYfMrEWvpSs5GmpBnfWdkyoyt0qWWROr56miL1GJaEjUBeIqJWOweprLNkc_V MJ.wv37j6uFddawXG5KsmFt_AocLmkGdAxnVUpwYkImwlJQNZU8KottUVNYQ5XNaD3T5008MoZxD uaK1tGKMSothHs1I8o68RJA1jsGC3oOGs07ZnxrIWEltOttu1knx7mPWkQHqeO9aRaA5B_szFClU vJVDvCK5znyINg9JG0IOlQ1_dV9s6f6dYJC50JVPJSVOCXoJ2zzyZgS128.3_yK7Yf_thO0OppSW ZQvlcxk9otTtE0dBpjby_eUpY0ADtJHwk1IJWz_AfugY928asyljbSsR7PniNUW0130c2yUirTnZ U.WBFHDSmiLX0ClI9UTSB2.QmdHf.1WsKoLrQ.XOn3jvYVoNQa0PHKJ6oUlpV1nKvDPZX0bd2QEq wi60y0oxtqS.Ip36FmcdyfJ6yMSDUwltpafjozG9.latD2OV7z4Y7ak1xMlpuzbBYKYGOxYMrJ._ q.tW3_Z80Qfbm3rVObd2Q8Rpg2mFwzaas3hnAGbWJeAFeEhm5D3NrKJLf5s_IQTNyByZV.IG2Nr0 HRQgkPr9IRQii4gML2MOxxYRD7WQABW2S8ByWKYTLRm61X45xHP5lFIVpS6Pk2qaWL_qK4YFCi3U VOE.K0J1KA7Nldy.r66we8M.clEfsRTT50RB_5rhwlCkahcOkWlSUVP8JMD80HHTNIdV_F7ozHb4 0YqjVXwQ06nGlooS98o2JXpRNEw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.gq1.yahoo.com with HTTP; Sun, 28 Jun 2020 01:01:23 +0000 Received: by smtp425.mail.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 2ecaa41c13a8d90f614f7db3988b3ac4; Sun, 28 Jun 2020 01:01:20 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r360233 - in head: contrib/jemalloc . . . : This partially breaks a 2-socket 32-bit powerpc (old PowerMac G4) based on head -r360311 From: Mark Millard In-Reply-To: Date: Sat, 27 Jun 2020 18:01:20 -0700 Cc: Justin Hibbits , FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <78B7326C-A706-4F6F-B3A3-7ABC3F74E6B9@yahoo.com> References: <18E62746-80DB-4195-977D-4FF32D0129EE@yahoo.com> <9562EEE4-62EF-4164-91C0-948CC0432984@yahoo.com> <9B68839B-AEC8-43EE-B3B6-B696A4A57DAE@yahoo.com> <359C9C7D-4106-42B5-AAB5-08EF995B8100@yahoo.com> <20200513105632.06db9e21@titan.knownspace> <20200611155545.55526f7c@ralga.knownspace> <5542B85D-1C3A-41D8-98CE-3C02E990C3EB@yahoo.com> <20200611164216.47f82775@ralga.knownspace> <20200611212532.59f677be@ralga.knownspace> <1EDCA498-0B67-4374-B7CA-1ECDA8EE32AD@yahoo.com> <3605089E-7B5D-4FBA-B0D1-14B789BDF09B@yahoo.com> <20200616213205.05f365dd@titan.knownspace> <45988F4F-56D0-4FDD-90C9-97570B2F0FCF@yahoo.com> To: Brandon Bergren X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Rspamd-Queue-Id: 49vXPd3dhwz4gDP X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.35 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.86)[-0.857]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(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)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.03)[-1.030]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-0.96)[-0.965]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.32:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.32:from]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2020 01:01:26 -0000 On 2020-Jun-27, at 17:02, Brandon Bergren = wrote: > On Sat, Jun 27, 2020, at 5:32 PM, Mark Millard wrote: >=20 >> where moea64_pvo_remove_from_page involves >> vm_page_aflag_clear(????,PGA_WRITEABLE | PGA_EXECUTABLE) via: >>=20 >> static inline void >> moea64_pvo_remove_from_page_locked(mmu_t mmu, struct pvo_entry *pvo, >> vm_page_t m) >> { >>=20 >> . . .=20 >> /* >> * Update vm about page writeability/executability if managed >> */ >> PV_LOCKASSERT(pvo->pvo_pte.pa & LPTE_RPGN); >> if (pvo->pvo_vaddr & PVO_MANAGED) { >> if (m !=3D NULL) { >> LIST_REMOVE(pvo, pvo_vlink); >> if (LIST_EMPTY(vm_page_to_pvoh(m))) >> vm_page_aflag_clear(m, >> PGA_WRITEABLE | PGA_EXECUTABLE); >> } >> } >> . . . >> } >>=20 >> But 32-bit has/uses: >>=20 >> static void mmu_null_remove_pages(mmu_t mmu, pmap_t pmap) >> { >> return; >> } >>=20 >>=20 >> so it does not involve: >>=20 >> vm_page_aflag_clear(????,PGA_WRITEABLE | PGA_EXECUTABLE) >>=20 >> but apparently should involve such in order to pass: >>=20 >> KASSERT((m->a.flags & (PGA_EXECUTABLE | PGA_WRITEABLE)) = =3D=3D 0, >> ("vm_page_free_prep: mapping flags set in page %p", = m)); >>=20 >=20 > looking at the history of the 64 bit code: > r233017 -- "Implement pmap_remove_pages(). This will be added later to = the 32-bit MMU module." >=20 > Oops! Looks like -r233949 is the first version of mmu_oea64.c to involve clearing PGA_EXECUTABLE from the a.flags . Later versions changed various aspects over the years but clearing PGA_EXECUTABLE and PGA_WRITEABLE has been a sustained property for PVO_MANANGED contexts from what I see. (Not that I have any general understanding of the code involved or what can be common for 32-bit vs. what can not.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)