Date: Mon, 07 Apr 2008 15:23:49 +0300 From: Alexander Motin <mav@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netgraph ng_base.c Message-ID: <47FA1255.60002@FreeBSD.org> In-Reply-To: <200804061526.m36FQWid082581@repoman.freebsd.org> References: <200804061526.m36FQWid082581@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi. Alexander Motin wrote: > mav 2008-04-06 15:26:32 UTC > > FreeBSD src repository > > Modified files: > sys/netgraph ng_base.c > Log: > Rewrite node's r/w/q-lock semantics using only atomics instead of mutex > and atomics combination. Mutex is now used only for queue protection. > Also avoid unneded extra swi scheduling calls. > > Revision Changes Path > 1.155 +76 -247 src/sys/netgraph/ng_base.c This patch broke tinderbox build on powerpc. But as soon as I have only replaced _add_ with _set_ and _subtract_ with _clear_ IMHO problem is powerpc atomic.h related. That atomic.h looks something strange: #define atomic_set_long atomic_set_32 #define atomic_clear_long atomic_clear_32 #define atomic_add_long(p, v) atomic_add_32((uint32_t *)p, (uint32_t)v) #define atomic_subtract_long(p, v) atomic_subtract_32((uint32_t *)p, (uint32_t)v) #define atomic_readandclear_long atomic_readandclear_32 Can somebody with powerpc experience check this? - -- Alexander Motin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFH+hJV0kCgngV3usoRAjtBAJ9+f7dzmXv8xVcmLG3h3x22eg8B9gCfVuvE 5aDm6E5iX1r7tfsQ/kmR0GU= =14ws -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47FA1255.60002>