Re: Race condition in module load causing undefined symbols

Steve Lord
2005-06-14T17:40:21Z

K.R. Foley wrote:
> Steve Lord wrote:
> <snip>
>
>> So is this some P4 specific optimization which is not working as
>> intended?
>>
>> Steve
>>
>>
>
> I'd say not since the first system I saw this on was a dual PIII Xeon.
> While I am not 100% sure that the problems are related, the problem that
> I saw on my 2.6 system also went away when I disabled hyper-threading in
> the bios. It really just seems to me like it is some hard-to-trigger race.
>

Not too hard for me :-(

Definitely a race, and it appears to be somewhere in the fork/exec/wait
complex at the very least. insmod is not built into nash, so is getting
run as a seperate process. Since module loading itself is synchronous,
the error would seem most likely to be happening in sys_wait4.

It could be the compiler doing a bad optimization, it could be
some other optimization code triggered by the Pentium 4 config
option, or, as you say, it could be a race which is being
opened up by the changed build flags.

Steve