dbus/glib
Havoc Pennington ab10ae902d 2003-05-11 Havoc Pennington <hp@pobox.com>
Write a "test-profile" that does echo client-server with threads;
	profile reveals lock contention, memcpy/realloc of buffers, and
	UTF-8 validation as hot spots. 20% of lock contention eliminated
	with dbus_atomic_inc/dec implementation on x86.  Much remaining
	contention is global mempool locks for GList and DBusList.

	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
	x86 implementation

	* dbus/dbus-connection.c (struct DBusConnection): use
	dbus_atomic_t for the reference count

	* dbus/dbus-message.c (struct DBusMessage): declare
	dbus_atomic_t values as volatile

	* configure.in: code to detect ability to use atomic integer
	operations in assembly, from GLib patch

	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
	time, tired of it being wrong in threads and forked processes

	* glib/test-profile.c: a little program to bounce messages back
	and forth between threads and eat CPU

	* dbus/dbus-connection.c: add debug spew macros for debugging
	thread locks; include config.h at top; fix deadlock in
	dbus_connection_flush()
2003-05-11 07:59:08 +00:00
..
.cvsignore 2003-04-10 Alexander Larsson <alexl@redhat.com> 2003-04-10 12:09:00 +00:00
dbus-glib.h 2003-04-23 James Willcox <jwillcox@gnome.org> 2003-04-24 02:22:49 +00:00
dbus-gmain.c 2003-04-29 Havoc Pennington <hp@redhat.com> 2003-04-29 22:57:13 +00:00
dbus-gthread.c 2003-02-26 Havoc Pennington <hp@pobox.com> 2003-02-26 06:42:57 +00:00
Makefile.am 2003-05-11 Havoc Pennington <hp@pobox.com> 2003-05-11 07:59:08 +00:00
test-dbus-glib.c 2003-04-24 Havoc Pennington <hp@redhat.com> 2003-04-24 19:18:23 +00:00
test-profile.c 2003-05-11 Havoc Pennington <hp@pobox.com> 2003-05-11 07:59:08 +00:00
test-thread-client.c 2003-04-24 Havoc Pennington <hp@redhat.com> 2003-04-24 19:18:23 +00:00
test-thread-server.c 2003-04-23 James Willcox <jwillcox@gnome.org> 2003-04-24 02:22:49 +00:00
test-thread.h 2003-02-26 Alexander Larsson <alexl@redhat.com> 2003-02-26 15:52:25 +00:00