The NetBSD Project

CVS log for src/lib/libpthread/pthread_tsd.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libpthread

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.25 / (download) - annotate - [select for diffs], Sun Apr 10 10:38:33 2022 UTC (9 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.24: +7 -7 lines
Diff to previous 1.24 (colored)

pthread: Nix trailing whitespace.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Feb 12 14:59:32 2022 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (colored)

libpthread: Move namespacing include to top of .c files.

Stuff like libc's namespace.h, or atomic_op_namespace.h, which does
namespacing tricks like `#define atomic_cas_uint _atomic_cas_uint',
has to go at the top of each .c file.  If it goes in the middle, it
might be too late to affect the declarations, and result in compile
errors.

I tripped over this by including <sys/atomic.h> in mips
<machine/lock.h>.

(Maybe we should create a new pthread_namespace.h file for the
purpose, but this'll do for now.)

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jun 11 18:42:02 2020 UTC (2 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.22: +3 -5 lines
Diff to previous 1.22 (colored)

Drop self->pt_lock before clearing TSD / malloc TSD.

Revision 1.16.6.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:00 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.16.6.2: +19 -16 lines
Diff to previous 1.16.6.2 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Sync with HEAD

Revision 1.22 / (download) - annotate - [select for diffs], Sun Apr 19 20:47:03 2020 UTC (2 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-20200421
Changes since 1.21: +14 -17 lines
Diff to previous 1.21 (colored)

Improve TSD behavior

Optimistically check whether the key has been used by this thread
already and avoid locking in that case. This avoids the atomic operation
in the hot path. When the value is set to non-NULL for the first time,
put the entry on the to-be-freed list and keep it their until
destruction or thread exit. Setting the key to NULL and back is common
enough and updating the list is more expensive than the extra check on
the final round.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Apr 19 20:46:04 2020 UTC (2 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.20: +9 -3 lines
Diff to previous 1.20 (colored)

Reinit TSD mutex in the child to avoid issues with former waiters

Revision 1.16.6.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:15 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.16.6.1: +16 -2 lines
Diff to previous 1.16.6.1 (colored) to branchpoint 1.16 (colored)

Merge changes from current as of 20200406

Revision 1.20 / (download) - annotate - [select for diffs], Sun Feb 16 17:45:11 2020 UTC (2 years, 11 months ago) by kamil
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp
Changes since 1.19: +15 -20 lines
Diff to previous 1.19 (colored)

Revert "Enhance the pthread(3) + malloc(3) init model"

It is reported to hand on aarch64 with gzip.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Feb 15 23:59:30 2020 UTC (2 years, 11 months ago) by kamil
Branch: MAIN
Changes since 1.18: +22 -17 lines
Diff to previous 1.18 (colored)

Enhance the pthread(3) + malloc(3) init model

Separate the pthread_atfork(3) call from pthread_tsd_init()
and move it into a distinct function.

Call inside pthread__init() late TSD initialization route, just after
"pthread_atfork(NULL, NULL, pthread__fork_callback);".

Document that malloc(3) initialization is now controlled again and called
during the first pthread_atfork(3) call.

Remove #if 0 code from pthread_mutex.c as we no longer initialize malloc
prematurely.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Dec 25 00:44:45 2019 UTC (3 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.17: +16 -2 lines
Diff to previous 1.17 (colored)

Since pthread_setspecific requires locks, ensure that they are acquired
before fork and dropped in both parent and child. At least Python
depends on TSD after fork, even though it is undefined behavior in
POSIX.

Revision 1.16.6.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:26 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.16: +23 -2 lines
Diff to previous 1.16 (colored)

Sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Tue Mar 5 01:35:52 2019 UTC (3 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9
Changes since 1.16: +23 -2 lines
Diff to previous 1.16 (colored)

Transfer all the keys that were created in the libc stub implementation
to the pthread tsd implementation when the main thread is created.
This corrects a problem where a process created keys before libpthread
was loaded (either from the libc constructor or because libpthread
was dlopened later). This fixes a problem with jemalloc which creates
keys in the constructor.

Revision 1.15.8.1 / (download) - annotate - [select for diffs], Mon Jul 24 05:47:59 2017 UTC (5 years, 6 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.15: +5 -4 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Pull up following revision(s) (requested by kamil in ticket #119):
	lib/libpthread/pthread_tsd.c: revision 1.16
PR/52386: Use the number of iterations we document.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jul 9 20:21:08 2017 UTC (5 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646
Branch point for: phil-wifi
Changes since 1.15: +5 -4 lines
Diff to previous 1.15 (colored)

PR/52386: Use the number of iterations we document.

Revision 1.11.8.1 / (download) - annotate - [select for diffs], Tue Nov 24 17:37:16 2015 UTC (7 years, 2 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Changes since 1.11: +56 -13 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Pull up following revision(s) (requested by manu in ticket #829):
	lib/libpthread_dbg/pthread_dbg.c: revision 1.43 (via patch)
	lib/libpthread/pthread_int.h: revision 1.91-1.92 (via patch)
	lib/libc/stdlib/jemalloc.c: revision 1.37-1.38
	lib/libpthread/pthread_tsd.c: revision 1.12-1.14 (via patch)
	include/limits.h: revision 1.34 (via patch)
	lib/libpthread/pthread.c: revision 1.146-1.147 (via patch)
	lib/libpthread/pthread_key_create.3: revision 1.7 (via patch)

libpthread:

Make PTHREAD_KEYS_MAX dynamically adjustable
NetBSD's PTHREAD_KEYS_MAX is set to 256, which is low compared to
other systems like Linux (1024) or MacOS X (512). As a result some
setups tested on Linux will exhibit problems on NetBSD because of
pthread_keys usage beyond the limit. This happens for instance on
Apache with various module loaded, and in this case no particular
developper can be blamed for going beyond the limit, since several
modules from different sources contribute to the problem.
This patch makes the limit conigurable through the PTHREAD_KEYS_MAX
environement variable. If undefined, the default remains unchanged
(256). In any case, the value cannot be lowered below POSIX-mandated
_POSIX_THREAD_KEYS_MAX (128).

While there:
- use EXIT_FAILURE instead of 1 when calling err(3) in libpthread.
- Reset _POSIX_THREAD_KEYS_MAX to POSIX mandated 128, instead of 256.

Fix previous: Can't use calloc/malloc before we complete initialization
of the thread library, because malloc uses pthread_foo_specific, and it will
end up initializing itself incorrectly.

Thanks rump for not letting us use even mmap during initialization.

libc/jemalloc:

Fix non _REENTRANT build.
Defer using pthread keys until we are threaded.
From Christos, fixes PR port-arm/50087 by allowing malloc calls prior
to libpthread initialization.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Aug 25 13:46:23 2015 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, netbsd-8-base, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.14: +1 -4 lines
Diff to previous 1.14 (colored)

Revert 1.14 now that the arduous task of fixing rumphijack to allow
mmap() in early init has been completed.

Revision 1.14 / (download) - annotate - [select for diffs], Sat May 30 14:42:26 2015 UTC (7 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.13: +6 -3 lines
Diff to previous 1.13 (colored)

Thanks rump for not letting us use even mmap during initialization.

Revision 1.13 / (download) - annotate - [select for diffs], Fri May 29 16:05:13 2015 UTC (7 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.12: +28 -21 lines
Diff to previous 1.12 (colored)

Fix previous: Can't use calloc/malloc before we complete initialization
of the thread library, because malloc uses pthread_foo_specific, and it will
end up initializing itself incorrectly.

Revision 1.12 / (download) - annotate - [select for diffs], Fri May 29 07:37:31 2015 UTC (7 years, 8 months ago) by manu
Branch: MAIN
Changes since 1.11: +46 -13 lines
Diff to previous 1.11 (colored)

Make PTHREAD_KEYS_MAX dynamically adjustable

NetBSD's PTHREAD_KEYS_MAX is set to 256, which is low compared to
other systems like Linux (1024) or MacOS X (512). As a result some
setups tested on Linux will exhibit problems on NetBSD because of
pthread_keys usage beyond the limit. This happens for instance on
Apache with various module loaded, and in this case no particular
developper can be blamed for going beyond the limit, since several
modules from different sources contribute to the problem.

This patch makes the limit conigurable through the PTHREAD_KEYS_MAX
environement variable. If undefined, the default remains unchanged
(256). In any case, the value cannot be lowered below POSIX-mandated
_POSIX_THREAD_KEYS_MAX (128).

While there:
- use EXIT_FAILURE instead of 1 when calling err(3) in libpthread.
- Reset _POSIX_THREAD_KEYS_MAX to POSIX mandated 128, instead of 256.

Revision 1.7.4.3 / (download) - annotate - [select for diffs], Thu May 22 11:36:59 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.7.4.2: +11 -3 lines
Diff to previous 1.7.4.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

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")

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:21:08 2013 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.8.2.1: +11 -3 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

resync from head

Revision 1.7.24.3 / (download) - annotate - [select for diffs], Mon Apr 29 01:50:19 2013 UTC (9 years, 9 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1
Changes since 1.7.24.2: +11 -3 lines
Diff to previous 1.7.24.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

Pull up following revision(s) (requested by manu in ticket #869):
	lib/libpthread/pthread_rwlock.c: revision 1.33
	lib/libc/include/reentrant.h: revision 1.16
	lib/libpthread/pthread_cond.c: revision 1.59
	lib/libpthread/pthread_misc.c: revision 1.15
	lib/libc/thread-stub/thread-stub.c: revision 1.23
	lib/libpthread/pthread_cancelstub.c: revision 1.38
	lib/libpthread/pthread_specific.c: revision 1.26
	lib/libpthread/pthread_mutex.c: revision 1.56
	lib/libpthread/pthread_tsd.c: revision 1.11
	lib/libpthread/Makefile: revision 1.80
	lib/libpthread/pthread.c: revision 1.143
	lib/libpthread/pthread_int.h: revision 1.89
- Allow libpthread to be dlopened again, by providing libc stubs to
libpthread.
- Fail if the dlopened libpthread does pthread_create(). From manu@
- Discussed at length in the mailing lists; approved by core@
- This was chosen as the least intrusive patch that will provide
  the necessary functionality.
XXX: pullup to 6

Revision 1.11 / (download) - annotate - [select for diffs], Thu Mar 21 16:49:12 2013 UTC (9 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.10: +11 -3 lines
Diff to previous 1.10 (colored)

- Allow libpthread to be dlopened again, by providing libc stubs to libpthread.
- Fail if the dlopened libpthread does pthread_create(). From manu@
- Discussed at length in the mailing lists; approved by core@
- This was chosen as the least intrusive patch that will provide
  the necessary functionality.
XXX: pullup to 6

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:27:59 2013 UTC (9 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.8: +110 -21 lines
Diff to previous 1.8 (colored)

resync with head

Revision 1.7.4.2 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:27 2013 UTC (10 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.7.4.1: +110 -21 lines
Diff to previous 1.7.4.1 (colored) to branchpoint 1.7 (colored)

sync with (a bit old) head

Revision 1.7.24.2 / (download) - annotate - [select for diffs], Sun Dec 2 18:47:36 2012 UTC (10 years, 2 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1
Changes since 1.7.24.1: +21 -110 lines
Diff to previous 1.7.24.1 (colored) to branchpoint 1.7 (colored)


Back out ticket #724 (libpthread changes) until they can be better
understood, as they broke threaded programs on (at least) i386 and amd64.

Revision 1.7.24.1 / (download) - annotate - [select for diffs], Wed Nov 28 23:58:35 2012 UTC (10 years, 2 months ago) by riz
Branch: netbsd-6
Changes since 1.7: +110 -20 lines
Diff to previous 1.7 (colored)

Pull up following revision(s) (requested by christos in ticket #724):
	lib/libpthread/pthread_specific.c: revision 1.24
	lib/libpthread/pthread_tsd.c: revision 1.10
	lib/libpthread/pthread_tsd.c: revision 1.9
	lib/libpthread/pthread_int.h: revision 1.88
Replace the simple implementation of pthread_key_{create,destroy}
and pthread_{g,s}etspecific functions, to one that invalidates
values of keys in other threads when pthread_key_delete() is called.
This fixes chromium, which expects pthread_key_delete() to do
cleanup in all threads.
Don't call the destructor in pthread_key_delete() following the standard.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Nov 22 08:32:36 2012 UTC (10 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7
Changes since 1.9: +13 -19 lines
Diff to previous 1.9 (colored)

Don't call the destructor in pthread_key_delete() following the standard.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Nov 21 19:19:24 2012 UTC (10 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.8: +114 -19 lines
Diff to previous 1.8 (colored)

Replace the simple implementation of pthread_key_{create,destroy}
and pthread_{g,s}etspecific functions, to one that invalidates
values of keys in other threads when pthread_key_delete() is called.
This fixes chromium, which expects pthread_key_delete() to do
cleanup in all threads.

Revision 1.7.4.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:05:31 2012 UTC (10 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.7: +9 -8 lines
Diff to previous 1.7 (colored)

sync with head

Revision 1.8 / (download) - annotate - [select for diffs], Fri Mar 2 18:11:53 2012 UTC (10 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4
Branch point for: tls-maxphys
Changes since 1.7: +9 -8 lines
Diff to previous 1.7 (colored)

Fix indentation.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:30:40 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.6: +2 -9 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

sync with head.

Revision 1.7.8.2 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:02 2008 UTC (14 years, 9 months ago) by martin
Branch: christos-time_t
Changes since 1.7.8.1: +225 -0 lines
Diff to previous 1.7.8.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.7.8.1, Mon Apr 28 20:23:01 2008 UTC (14 years, 9 months ago) by martin
Branch: christos-time_t
Changes since 1.7: +0 -225 lines
FILE REMOVED

file pthread_tsd.c was added on branch christos-time_t on 2008-04-28 20:23:02 +0000

Revision 1.7 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:01 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, netbsd-6-base, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, christos-time_t-nbase, christos-time_t-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, netbsd-6, christos-time_t
Changes since 1.6: +2 -9 lines
Diff to previous 1.6 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:46 2008 UTC (14 years, 10 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

sync with head.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Sun Mar 23 00:40:28 2008 UTC (14 years, 10 months ago) by matt
Branch: matt-armv6
Changes since 1.3.2.1: +6 -6 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

sync with HEAD

Revision 1.6 / (download) - annotate - [select for diffs], Sat Mar 8 13:22:22 2008 UTC (14 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, matt-armv6-nbase, keiichi-mipv6-base
Branch point for: yamt-pf42
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

Add a cast to make lint happy.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Mar 7 22:27:07 2008 UTC (14 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored)

pthread_key_create: instead of using a simple 1/0 value to record a key
as allocated, use an array of pointers and save __builtin_return_address(0)
so keys can be identified when doing post-mortem debugging.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:36:40 2008 UTC (15 years ago) by matt
Branch: matt-armv6
Changes since 1.3: +5 -3 lines
Diff to previous 1.3 (colored)

sync with HEAD

Revision 1.4 / (download) - annotate - [select for diffs], Mon Dec 24 14:46:29 2007 UTC (15 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, hpcarm-cleanup-base
Branch point for: keiichi-mipv6
Changes since 1.3: +5 -3 lines
Diff to previous 1.3 (colored)

- Fix pthread_rwlock_trywrlock() which was broken.

- Add new functions: pthread_mutex_held_np, mutex_owner_np, rwlock_held_np,
  rwlock_wrheld_np, rwlock_rdheld_np. These match the kernel's locking
  primitives and can be used when porting kernel code to userspace.

- Always create LWPs detached. Do join/exit sync mostly in userland. When
  looped on a dual core box this seems ~30% quicker than using lwp_wait().
  Reduce number of lock acquire/release ops during thread exit.

Revision 1.2.20.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:14:16 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.2: +8 -3 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Aug 16 12:01:49 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base5, nick-csl-alignment-base4, nick-csl-alignment-base3, matt-armv6-prevmlocking, cube-autoconf-base, cube-autoconf
Branch point for: matt-armv6
Changes since 1.2: +8 -3 lines
Diff to previous 1.2 (colored)

- Reinitialize the absolute minimum when recycling user thread state.
  Chops another ~10% off create/join in a loop on i386.
- Disable low level debugging as this is stable. Improves benchmarks
  across the board by a small percentage. Uncontested mutex acquire
  and release in a loop becomes about 8% quicker.
- Minor cleanup.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Sep 29 09:50:22 2003 UTC (19 years, 4 months ago) by wiz
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, nick-csl-alignment-base2, nick-csl-alignment-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, matt-mips64-base, matt-mips64, hpcarm-cleanup, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: nick-csl-alignment
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

available, not avaliable. From miod@openbsd.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Aug 13 18:52:02 2003 UTC (19 years, 5 months ago) by nathanw
Branch: MAIN

Split out pthread_{set,get}specific() into a separate file and arrange
for that file to not be built with profiling. This makes it reasonable to
use pthread_{set,get}specific() to implement thread-safe profiline call counts.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>