History log of /src/sys/arch/x86/include/lock.h |
Revision | | Date | Author | Comments |
1.29 |
| 12-Feb-2022 |
riastradh | __cpu_simple_lock(9): Omit needless barriers in init.
It is, and always has been, the caller's responsibility to ensure the lock is initialized before it can be used -- otherwise the memory could hold garbage; it is nonsensical to even attempt locking operations on it before initialization.
So there's no need to issue explicit barriers here. The barrier seems to have been introduced in sys/arch/alpha/alpha/lock_machdep.c rev. 1.1 (since moved to inline asm in alpha/include/lock.h) and then copied & pasted into several other architectures.
|
1.28 |
| 16-Sep-2017 |
christos | more const
|
1.27 |
| 22-Jan-2013 |
christos | Allow for non inlined definitions for RUMP
|
1.26 |
| 11-Oct-2012 |
apb | Change "=r" to "=qQ" in a register constraint in an asm statement for a register that is used with the "xchgb" instruction in the definition of __cpu_simple_lock_try(). This fixes PR 45673, or at least works around the gcc bug that might be behind PR 45673.
The output from "objdump -d" before and after this change is identical, for the amd64 GENERIC kernel, the i386 GENERIC kernel, and the i386 MONOLITHIC kernel.
|
1.25 |
| 15-Jan-2009 |
pooka | branches: 1.25.14; 1.25.20; 1.25.24; 1.25.26; The last _KERNEL -> _HARDKERNEL in locking operations.
|
1.24 |
| 28-Apr-2008 |
martin | branches: 1.24.8; Remove clause 3 and 4 from TNF licenses
|
1.23 |
| 09-Jan-2008 |
yamt | branches: 1.23.6; 1.23.8; 1.23.10; fix SPINLOCK_BACKOFF_HOOK.
|
1.22 |
| 04-Jan-2008 |
ad | Start detangling lock.h from intr.h. This is likely to cause short term breakage, but the mess of dependencies has been regularly breaking the build recently anyhow.
|
1.21 |
| 25-Dec-2007 |
perry | Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.20 |
| 20-Dec-2007 |
ad | - Make __cpu_simple_lock and similar real functions and patch at runtime. - Remove old x86 atomic ops. - Drop text alignment back to 16 on i386 (really, this time). - Minor cleanup.
|
1.19 |
| 07-Nov-2007 |
ad | branches: 1.19.2; 1.19.6; __cpu_simple_locks really should be simple, otherwise they can cause problems for e.g. profiling.
|
1.18 |
| 17-Oct-2007 |
garbled | branches: 1.18.2; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.17 |
| 26-Sep-2007 |
ad | branches: 1.17.2; Make it build in userspace again.
|
1.16 |
| 11-Sep-2007 |
skrll | branches: 1.16.2; Always provide __cpu_simple_lock_{set,clear}.
Fixes LOCKDEBUG kernel builds.
|
1.15 |
| 10-Sep-2007 |
skrll | Merge nick-csl-alignment.
|
1.14 |
| 10-Feb-2007 |
ad | branches: 1.14.6; 1.14.12; 1.14.14; 1.14.18; 1.14.22; 1.14.24; NSPR builds seem to choke on 'inline'. Replace it with __inline.
|
1.13 |
| 09-Feb-2007 |
ad | Merge newlock2 to head.
|
1.12 |
| 18-Dec-2006 |
ad | __cpu_simple_unlock(): add a note about memory ordering and why this is correct, contrary to Intel's documentation.
|
1.11 |
| 28-Dec-2005 |
perry | branches: 1.11.20; 1.11.22; inline -> __inline
|
1.10 |
| 24-Dec-2005 |
perry | Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.9 |
| 16-Apr-2005 |
yamt | branches: 1.9.2; make multi inclusion protection macros consistent.
|
1.8 |
| 25-Nov-2004 |
yamt | branches: 1.8.4; 1.8.10; remove __lockbarrier, which i forgot to remove in the previous.
|
1.7 |
| 31-Oct-2004 |
yamt | use __insn_barrier rather than homegrown equivalents.
|
1.6 |
| 23-Oct-2004 |
yamt | __cpu_simple_lock: loop without locking cache or asserting LOCK#.
|
1.5 |
| 27-Oct-2003 |
junyoung | Nuke __P().
|
1.4 |
| 26-Oct-2003 |
yamt | define SPINLOCK_SPIN_HOOK to let LK_SPIN lockmgr locks call x86_pause.
|
1.3 |
| 26-Sep-2003 |
nathanw | Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h so that they can be used in a namespace-friendly way.
|
1.2 |
| 08-May-2003 |
fvdl | branches: 1.2.2; Add x86_pause() inline function, containing the "pause" instruction for i386, and nothing for amd64. Sprinkle it in various spinloops, as recommended by Intel.
|
1.1 |
| 27-Feb-2003 |
fvdl | Move a few more files to x86/include. Trim the list of files to install in /usr/include a bit.
|
1.2.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.2.2.5 |
| 29-Nov-2004 |
skrll | Sync with HEAD.
|
1.2.2.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.2.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.2.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.2.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.8.10.1 |
| 21-Apr-2005 |
tron | Pull up revision 1.9 (requested by yamt in ticket #174): make multi inclusion protection macros consistent.
|
1.8.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.9.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.9.2.4 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.9.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.9.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.9.2.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.11.22.1 |
| 18-Dec-2006 |
yamt | sync with head.
|
1.11.20.4 |
| 02-Feb-2007 |
ad | - Define memory barrier ops in lock_stubs.S. - If lfence/mfence are available, patch them in at boot. - Patch to a no-op if !MULTIPROCESSOR. XXX Should be determined at runtime.
|
1.11.20.3 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.11.20.2 |
| 29-Dec-2006 |
ad | Checkpoint work in progress.
|
1.11.20.1 |
| 20-Oct-2006 |
ad | Define memory barriers: mb_read(), mb_write(), mb_memory()
|
1.14.24.4 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.14.24.3 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.14.24.2 |
| 08-Nov-2007 |
matt | sync with -HEAD
|
1.14.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.14.22.2 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.14.22.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.14.18.2 |
| 15-Aug-2007 |
skrll | Provide __SIMPLELOCK_{UN,}LOCKED_P and __cpu_simple_lock_{set,clear} for all architectures.
|
1.14.18.1 |
| 18-Jul-2007 |
skrll | Initial work on provided correctly aligned __cpu_simple_lock_t for hppa and first attempt at adapting i386 to the changes.
More to come.
|
1.14.14.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.14.12.1 |
| 18-Apr-2007 |
thorpej | Convert i386 and amd64 to the new atomic ops API.
|
1.14.6.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.14.6.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.16.2.1 |
| 06-Oct-2007 |
yamt | sync with head.
|
1.17.2.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.18.2.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.18.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.18.2.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.19.6.3 |
| 10-Jan-2008 |
bouyer | Sync with HEAD
|
1.19.6.2 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.19.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.19.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.23.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.23.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.23.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.23.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.23.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.24.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.25.26.1 |
| 19-Oct-2012 |
riz | Pull up following revision(s) (requested by apb in ticket #606): sys/arch/x86/include/lock.h: revision 1.26 Change "=r" to "=qQ" in a register constraint in an asm statement for a register that is used with the "xchgb" instruction in the definition of __cpu_simple_lock_try(). This fixes PR 45673, or at least works around the gcc bug that might be behind PR 45673. The output from "objdump -d" before and after this change is identical, for the amd64 GENERIC kernel, the i386 GENERIC kernel, and the i386 MONOLITHIC kernel.
|
1.25.24.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.25.24.2 |
| 25-Feb-2013 |
tls | resync with head
|
1.25.24.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.25.20.1 |
| 17-Oct-2012 |
riz | Pull up following revision(s) (requested by apb in ticket #606): sys/arch/x86/include/lock.h: revision 1.26 Change "=r" to "=qQ" in a register constraint in an asm statement for a register that is used with the "xchgb" instruction in the definition of __cpu_simple_lock_try(). This fixes PR 45673, or at least works around the gcc bug that might be behind PR 45673. The output from "objdump -d" before and after this change is identical, for the amd64 GENERIC kernel, the i386 GENERIC kernel, and the i386 MONOLITHIC kernel.
|
1.25.14.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.25.14.1 |
| 30-Oct-2012 |
yamt | sync with head
|