cvs commit: src/sys/sys bus.h kobj.h param.h src/sys/kern
subr_bus.c subr_kobj.c
Poul-Henning Kamp
phk at phk.freebsd.dk
Thu Oct 16 15:11:46 PDT 2003
In message <20031016210328.T930 at gamplex.bde.org>, Bruce Evans writes:
>> * Change the kobj method lookup algorithm to one which is SMP-safe. This
>> relies only on the constraint that an observer of a sequence of writes
>> of pointer-sized values will see exactly one of those values, not a
>> mixture of two or more values. This assumption holds for all processors
>> which FreeBSD supports.
>
>This assumption should be avoided by using atomic_load() (and
>atomic_store_mumble()). See a discussion of "atomicity of unlocked
>reads" last month. First implement atomic_load(). There is currently
>only atomic_load_acq_<type>(). "acq" gives acquire semantics which
>is more than what is needed here and our implementations may do more
>than what is required anyway for some arches. "<type>" is part of a
>bad API.
There are _so_ many things which explode if this assumption does not
hold that I think doing anything but gold-plating it would be a
total waste of time.
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the cvs-src
mailing list