tron
e70ab693a2
Change the argument of _PROP_RWLOCK_TRYRDLOCK() to the lock member and not
...
its address to be consistent with all the other macros.
2008-05-07 10:16:41 +00:00
tron
2916b940f8
Replace _prop_rwlock_tryrdlock() by a macro _PROP_RWLOCK_TRYRDLOCK().
...
This avoids build failures in stand alone binaries (e.g. bootloaders)
where there is no "pa_rwlock" member in the "_prop_array" structure.
2008-05-07 10:01:50 +00:00
simonb
4ec02db9e9
Fix a "#define<tab><tab>" that crept in to previous.
2008-05-07 05:40:01 +00:00
xtraeme
35fe7cdcf1
prop_object_iterator_next() and prop_object_iterator_reset() were
...
acquiring the rwlock recursively in some paths.
Introduce _prop_rwlock_tryrdlock() and use it in these functions, so
that the rwlock is *always* acquired once, while here add some
_PROP_RWLOCK_OWNED asserts to verify.
This definitely fixes the "locking against myself" panics.
2008-05-06 22:57:26 +00:00
xtraeme
d69a8a8939
Xref prop_dictionary_util(3).
2008-05-06 17:23:38 +00:00
xtraeme
771a05b730
Do not acquire the rwlock recursively in prop_{array,dictionary}_iterator_reset()
...
when prop_{array,dictionary}_copyout_ioctl() is called.
Introduce _PROP_RWLOCK_OWNED() which is a KASSERT(rw_lock_held(lock))
and use it in those two functions, also acquire the rwlock in other
places where it is required now.
This fixes a LOCKDEBUG panic "locking against myself", as reported by
Geoff C. Wing in current-users@.
2008-05-06 13:52:51 +00:00
yamt
78eb84d14c
whitespace.
2008-05-03 05:43:05 +00:00
yamt
9093441576
rename END to ENDLABEL. i'll use END for other purpose. ok by Andrew Doran.
2008-05-03 05:40:21 +00:00
martin
11a6dbe728
Convert TNF licenses to new 2 clause variant
2008-04-30 13:10:46 +00:00
tsutsui
2be642537b
Make this compile (missing register prefix).
2008-04-30 09:59:42 +00:00
ad
9ba64b51be
Assembly _atomic_cas_up() for mips. PR lib/38482.
2008-04-30 00:17:34 +00:00
scw
4e2c4c42b4
Implement _atomic_cas_up() in assembly code as the compiler cannot be
...
trusted to generate fully restartable code sequences.
Addresses lib/38482 for ARM and m68000.
2008-04-29 20:57:50 +00:00
martin
3028e483e4
Convert to new 2 clause license
2008-04-29 06:53:00 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
nakayama
99adca9efa
Use %xcc for 64-bit comparisons.
2008-04-09 12:49:05 +00:00
tsutsui
c3b0f346ec
Fix pasto.
2008-04-06 04:01:56 +00:00
tsutsui
7dfcdee2a2
Use .c version atomic ops for m68010.
2008-04-05 22:28:36 +00:00
he
73e50f111b
Do like the non-__OPTIMIZE_SIZE__ variant, and compile memset() unless
...
BZERO is defined, instead of requiring MEMSET to be defined.
Avoids violating the principle of least astonishment, and also fixes
the build of stand/ and kernels for (at least) alpha.
2008-03-29 14:03:22 +00:00
he
a58a2cddc0
Make the size-optimized memset() actually conform to the man page
...
by returning the first arg.
2008-03-29 12:25:32 +00:00
apb
f5c2801052
Add /* __OPTIMIZE_SIZE__ */ comments on relevant #else and #endif lines.
...
Also change some #ifdef to #if defined() for consistency.
2008-03-26 06:19:36 +00:00
christos
9f2bc34fb9
bcopy does not return ptr.
2008-03-25 23:23:34 +00:00
christos
93f951ce0d
fix #ifdefs for BCOPY
2008-03-25 23:16:29 +00:00
christos
985a3d11e8
add bcopy and bzero for the benefit of loadfile.
2008-03-25 23:13:15 +00:00
christos
9e32ad04aa
add __OPTIMIZE_SIZE__ versions.
2008-03-25 21:22:37 +00:00
kochi
2ead1ed5c4
Add atomic_cas_foo_ni alias.
2008-03-24 14:59:30 +00:00
kochi
473f1b48ee
Add ia64 MI atomic ops.
...
(Not tested at all, just for reference)
2008-03-20 07:10:31 +00:00
ad
b0f548e27b
oops
2008-03-07 02:18:34 +00:00
ad
bb9b5eb92c
In libc, use the MI atomic_cas(). The assembly version is faster, but I
...
think there are PIC issues with it and I don't have a way to fix and test.
2008-03-07 01:18:54 +00:00
phx
e6d6e05cb1
Including assym.h is not needed and will break the build, because it does not
...
exist that early. Deleted it.
Approved by garbled.
2008-03-06 21:17:17 +00:00
cube
5b25d80ca0
Actually implement prop_dictionary_make_immutable. OK'd by thorpej@.
2008-03-05 07:47:09 +00:00
lukem
8346a6360d
Use mkstemp() + fchmod() instead of mktemp(), since the latter
...
results in linker warnings.
2008-02-23 01:26:01 +00:00
garbled
2ba84f0f9e
Add tuned powerpc assembler written by IBM and released under a 3-clause
...
BSD Lisc as part of the perflib project.
http://sourceforge.net/projects/ppcperflib/
Tested the new functions with microbenchmarks on a number of different
CPU types, and found that most cpus either benefited greatly, or were
unaffected. Primarily G4 CPU's were unaffected, and all others showed
speedups. My 7044 (POWER3) went from a 70.6 to a 73.2 (thats good) in
bytebench with a complete release built with these. Also passed
regression tests.
2008-02-21 17:35:47 +00:00
apb
267197ec1e
For all files under src/common, as well as related man pages under
...
src/lib/libc, or related headers under src/sys/sys: change u_intNN_t to
uintNN_t.
2008-02-16 17:37:13 +00:00
apb
cf01a0f8c8
C99 is no longer "very recent". Adjust a comment accordingly, and
...
start using uintNN_t instead of u_intNN_t in the definitions of
sha2_{byte,word32,word64}.
2008-02-16 17:15:32 +00:00
dogcow
26a84bff72
add missing %. (hi matt!)
2008-02-13 03:55:54 +00:00
ad
2d0314d313
Always enable memory barriers in userspace, otherwise libpthread won't
...
work correctly on MP systems.
2008-02-12 18:40:28 +00:00
ad
b86eac67c4
Correct a dodgy alias.
2008-02-12 18:35:38 +00:00
matt
360e0475e3
Use %rN as all new code is supposed to.
2008-02-12 07:58:01 +00:00
matt
131790b421
Fix pthread problem. (export membar* to userland)
2008-02-12 07:35:04 +00:00
ad
eff625dc0e
Put back a __predict_false removed during testing and fix atomic_cas_mp().
2008-02-11 23:48:23 +00:00
ad
a3fb849dfc
Clarify what membar_enter/membar_exit provide.
2008-02-11 15:12:07 +00:00
ad
1b2aff1f03
Note many of the restrictions, and clarify the section on global
...
visibility.
2008-02-11 15:01:24 +00:00
ad
b3193dc791
Only build atomic ops for libkern/libc.
2008-02-11 14:21:11 +00:00
ad
b5b3e9fb51
Enable the atomic ops in userspace.
2008-02-10 18:45:40 +00:00
ad
12190eee54
Fix name of the init function.
2008-02-10 13:41:02 +00:00
ad
646fc3baa9
Add atomic_cas_foo_ni().
2008-02-10 13:40:31 +00:00
ad
cc655ebd16
Add atomic_cas_foo_ni().
2008-02-10 13:25:46 +00:00
ad
a180c2a1f7
membar_enter was doing the wrong thing. For x86 we can alias:
...
membar_enter -> membar_consumer
membar_exit -> membar_producer
2008-02-09 13:42:21 +00:00
ad
d418b9fe8b
Some glue for atomic ops in userspace.
2008-02-09 13:30:54 +00:00
matt
350555cd1f
Add the .C versions for the atomic ops.
2008-02-03 07:46:38 +00:00