Re: git: 805d759338a2 - main - mlx4: Move DEFINE_MUTEX() outside function body.

From: Hans Petter Selasky <hselasky_at_freebsd.org>
Date: Sun, 21 May 2023 17:46:51 UTC
On 5/21/23 19:05, Jessica Clarke wrote:
> On 21 May 2023, at 17:57, Hans Petter Selasky <hselasky@freebsd.org> wrote:
> 
>> If you want to change from static structures to global symbols, then my change is correct.
> 
> Which will bloat symbol tables excessively. But you didn’t state this as your goal, you stated it as a behavioural change *today*, which it’s not (other than changing the scope). Your commit message was entirely nonsense, and so I told you that. If your goal is instead to allow for future changes, put that in your commit message. I am not a mind reader, nor is anyone else. It is extremely unhelpful to have commits that say one thing but intend to achieve a different thing.

Hi Jess,

To me the word "avoid" is agnostic of time. And that's why I used it 
there. It doesn't mean there is a bug, but there may easily be a bug there.

If you have time, I can add you for review more often. Let me know what 
you prefer.

When the kernel uses dynamic linking, you end up having tons of 
relocation entries in the resulting ELF file. Getting rid of symbol 
names doesn't stop relocation entries from piling up.

For example declaring a static mutex:

At first you have the static mutex. Then the sysinit structure needs one 
relocation to refer to the static mutex. Then after that the dataset 
mechanism needs another relocation to refer to the sysinit structure.

sysinit's work, but there may be better ways to do it.

>>
>> This change also allows for:
>>
>> https://reviews.freebsd.org/D40193
> 
> Which looks like a mess to me.
If you have a better way in your mind to do this, then implement it, and 
let me know.

--HPS