From nobody Sun May 21 17:14:26 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QPRyq64zgz4CDlf for ; Sun, 21 May 2023 17:14:43 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-54.consmr.mail.gq1.yahoo.com (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4QPRyp3Zzcz3l8R for ; Sun, 21 May 2023 17:14:42 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=HS34FDZ9; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.30 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1684689280; bh=0r+kCCsMSwDl3lrwUH6v6+GKzVvgrtFJg7mdG7rujBk=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=HS34FDZ9rBor/R+00aOMrYx3/2eMJwhzz6bqZ4RDhaojj5R+PF3Spixqjn8I6ljbcCHWGbtYJR0qPABk8d5+f4rcOIPY9ycMldG25O436QKkjzt98Vf2mCMUZcZ1EwulVHUWHV+6z/F9HK6SBuMoCT8uDNRjNo+CB+VPBL3jj1pdIqtVp/JckZgAtcl9A3Wso7QJqCHuFly+fQjf/TGOAe3u00jPACs3lz4o1JF0SDX1RNLj3JJ8+GfIDV//s6xrMgZO7oyIG3Tk6bhz37do4YyY12AlPScMBQkltr0SkFe3rhZqh/T/HKCL8uf1DJo2AJoG+o2JOTU5gWole0jf8w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1684689280; bh=CWKZJUSaRIOOjNJQC9FPZ1pM/WOgc3vnPo5vitWZ3x6=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=qfWxWKDHDKYrIQ2L5EXLCN2o5PVZCObO0E8NTGgBneXfI2h1yH8r7myIrwy/tgR2ByGdkYXoZ0p0D1COQCYiWDqOHmDLZOTEjC8G+LLB8xH4i5s+7AZk4xBtgtBxC2v8AZM4/5yfR9KTZDAD23zSCDPbD9sUkJMfjAabpBTIanGJ4PllVJunBRoH7sN+UZ16cEfFdvBIZTK5/UHtdpjAsEzgX7++O3qRSSZPciBA2EkZVVeAtlBXF2VZfLjYy7RpeARFayEBoIDuPKPOlXnwdIDzpO8mB1+wpyZpJ/ydiP4KgFZhpi4jhp3IeBlGjnNW19ely+opABlZcVrXTKYnug== X-YMail-OSG: H.5jwHMVM1nA9vWZjLBTfdfKxzeoetFDMomftC2s64fXJsQGXo.uX5LQslgSX_J g7bTh_Qk95fDxZU4HzieHkZdx7ujDQhFKrRR5S5gMlx_2ifcvJTjUCiJ3pFocfXYFnpLWokJBLeU Z3sJvuIqpJab.FdQvvEz_hG_e.Xggf6rc1r0h9mfFyxO2gWwKiTcNHVqJC4ZK4Hj.WJ4pGwMxgzN hEFJvnE.Xbf7CPYHl1OW.KdXUzi1azRO.pl.7NE2TnmtybXAAPFqCxsqewiiYpI8.kq3B5faD8N4 pucEB54eRwa6wtOKL.NbhrxqBBNoRDGeaS8K6HXc9GnhlOXdNuj3YcW0vR6Ri4FQlxTczGVvYoPP nGnusJY7L9P3rSiv5q77WBcYFscuCtABmbO7vZY9SjtEJDoHsB53LuVelAQzFVxA9vTSlhkizlU6 9D_SGjCXC3vph4llI53cMZ82q0NWcmrvJDgGo0F3Ir8r742SCyVa45LfbVD2zXzjzl4Ruq5Nipwo ftYSq_Ruj5z6poElQrBhB8yNOM2tw9RLTW_Izgcy4AHDeYZw2EV.B9nYcqelos2gd.mSAsR6tPit 1MN8cbsh16jg4gNBrcpY3ujRQQTQuIVsCk75vth6QXKxqCRHIPXZxsHUvnCAu6t.Cdh7xJS1muPQ uIR3Jse2u7OT8C13RLh9katpNsgyjjmIX.ussKX4J133Ocdrhk6WcXcKiNdH7rNn.omYBU6mHmCv z37U5hQ1uwdyWsudOcN2JB_Xkb1T4e50y.qr8LaV7cfA0KEIzWHDtVpk92ItQGVsxgx5CQjBQDG2 .p1e3V2k3o0KyChDJMPW1T4v26W6Et327QYada.oB46WEUV2Ce5qLwPS63AH6H2v7iKyZhM09dGJ c4lZv1k9LOVm5ePwGfZ3al1ZY6xxUov27KRNZnECmyrByaYNeNMjD13xPHXCcQ.oNJGrL5Yy34Ke g87eUeVpN.KHhb3aQ1zOevGGafdJL0Rr6LYYWE.SWIbox21N82L0jVthsOHUFSgqC82rX.8Jb1dh t_DGBUiEL7sTF.1whTpLtizprErjJ49YWrFhAD7s7fyP9EyRJxYdH3IbA_OEVHMph2C2maoNfF1x 5fLJvRZUNhyyoWGbSzT8SpnvwMDSsGMzKR3IzOectG0bJ7n2AfeAhZyjbwzYVT9hlIWAlv4gBkO5 oCH9T.dlPbellULM1VAgsahmKWExtwueWtHWctUnAvqxfWVAJgS8qqm.k5nXqefimcx5GVAb4_AV myc.7HAUqmhrNzA9v4j.gVw_BnWMLdxryuW1voPIqBW03YZJlpZgKt0Y3Kz28N9SbFtl.s_T6ttO EsvZksuHnTf4xkdq_rR1vJ4gx_.mgJoMbQb.acq5vEurQOaE5IRqK2Ign5OLYb_obQXcHIBa4dSe VqTTCMzq2Rq4czVoy3AGl5jP_8j.5Ee86Nj2wNb4mcevCGdmpwqFRT0HAgXKOOEVu8VdjhFa_SQM .5zJuEd3Uj6Od2LlJA9EPinjV3ZIBmJ5KZG2oyU3ikkTeHsZnIDKCm3I018f50AJQjDPIlS.wHjY 38SS15tweNr.GsyNGgiqICWdTWeFmQIElIRRyayul471pQo_HpZfAhSrKNUKwEyWpNTUzuasAw.L JnybaQDnk46AHl0Q0d8k9A9JVL6_He_f6Gvkyj0RrVeetH.phCmbEYfxm0k.j7nqxUVxqtAXGOqH Ujgu8JPnpEps0lJhs8UVYdWnYIVGUHI19Rw9jWW51JaohJEj2Gf2XrmzUVyKofv1xKCf7oPP1aKr T9OQO6_L318Gm59QnVhnI7LFuO6JeVpja58iOrL9abDoE0_.8wZ6XDxmHH6697A8J1jrxx3NwTsq y37Ox6dIWlKxPZJo7NoAoCwGtLVodSK9Bc5QXk7FPNgFxuCVAdQRD2UaLhJqyDvvoPQryr1WDnB0 sJjffpQkx.cbKQd.lKBGM9mkwJWGdOrF94dq.Xl5APECLxVsAYAPSkfHk2WZ4nUy.wpToUSFFDDX 6UdFyhp2YNUTajlaxmlUuNvUzcYo6554kNgfx_Jv9MAmsvx05OdYSK6Eb7Nmd3tQL4HUNzMb0Sty g9MDshLAq5s4NYmGSOz4bwM4iyEwEcxaq8H8ndfkSwtpf.KfpgJRe8Nz1sz._DZAiqIk9kazLZo7 9csesQheohO_tRbeDoCCUbZir2Ppr4JZ_7wmfAlWmeHNf49jop.Sefmiu.XDntuw67xp2q2VtnFC 4yXajiOtqVsI8PfnXMZuzOFptgGUaHowpnV5W93X33uzVsJe7EVORzlQSKilt51k5uNYOaybuET9 vBQ-- X-Sonic-MF: X-Sonic-ID: 5f23f646-6c90-45d4-a9f8-2dff2a771562 Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Sun, 21 May 2023 17:14:40 +0000 Received: by hermes--production-bf1-54475bbfff-g6lsn (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID e03263792a8b8d05827d4542495e5b46; Sun, 21 May 2023 17:14:38 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: RE: git: 805d759338a2 - main - mlx4: Move DEFINE_MUTEX() outside function body. Message-Id: Date: Sun, 21 May 2023 10:14:26 -0700 To: hselasky@freebsd.org, dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3731.400.51.1.1) References: X-Spamd-Result: default: False [-3.43 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.93)[-0.929]; MV_CASE(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.30:from]; BLOCKLISTDE_FAIL(0.00)[98.137.69.30:server fail]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_NONE(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.30:from] X-Rspamd-Queue-Id: 4QPRyp3Zzcz3l8R X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N Hans Petter Selasky wrote on Date: Sun, 21 May 2023 16:57:47 UTC : > On 5/21/23 18:33, Jessica Clarke wrote: > > On 21 May 2023, at 17:21, Hans Petter Selasky = wrote: > >> > >> The branch main has been updated by hselasky: > >> > >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D805d759338a2be939fffc8bf3f25cfaa= b981a9be > >> > >> commit 805d759338a2be939fffc8bf3f25cfaab981a9be > >> Author: Hans Petter Selasky > >> AuthorDate: 2023-05-21 11:25:28 +0000 > >> Commit: Hans Petter Selasky > >> CommitDate: 2023-05-21 16:20:16 +0000 > >> > >> mlx4: Move DEFINE_MUTEX() outside function body. > >> > >> Move static mutex declaration outside function body, to avoid = global > >> variables being declared on the stack, when using SYSINITs. > >=20 > > What? This is nonsense. It=E2=80=99s not on the stack either way = round. > >=20 > > Please revert this. > >=20 > > Jess >=20 > Hi Jess, >=20 > I think this is a false positive of yours. You need to look through = all=20 > the macros used there. >=20 > Basically DEFINE_MUTEX() expands to a bunch of structures, which are = not=20 > in any block. DEFINE_MUTEX is from/for linux related code: # grep -r "define.*DEFINE_MUTEX" /usr/main-src/sys/ | more /usr/main-src/sys/compat/linuxkpi/common/include/linux/mutex.h:#define = DEFINE_MUTEX(lock) \ and looks like: #define DEFINE_MUTEX(lock) = \ mutex_t lock; = \ SX_SYSINIT_FLAGS(lock, &(lock).sx, mutex_name(#lock), SX_DUPOK) > The "static" you see in patch just covers the first mutex structure. >=20 > SYSINITs use "static" in front of all structure definitions. > If you want to change from static structures to global symbols, then = my=20 > change is correct. >=20 > Before: >=20 > static DEFINE_MUTEX(xxx); >=20 > Expands to something like: >=20 > static struct yyy xxx; static struct sysinit zzz; .... Not true. > If you want to change from "static struct sysinit zzz;" to "extern=20 > struct sysinit zzz" and also initialize the structure there, then that=20= > won't work, based on what I currently know about C-programming. I = tried,=20 > but clang gave me a warning about it. >=20 >=20 >=20 > You can't declare global variables inside a function or it is not good=20= > style. >=20 >=20 >=20 > =46rom what I can see, this location is the only place I've come = accross=20 > in the FreeBSD kernel, where a SYSINIT() is used inside a function, = and=20 > I thought I would just move that outside the function instead. >=20 > This change also allows for: >=20 > https://reviews.freebsd.org/D40193 >=20 =3D=3D=3D Mark Millard marklmi at yahoo.com