|
From: <sv...@va...> - 2008-03-30 16:55:35
|
Author: bart Date: 2008-03-30 17:55:40 +0100 (Sun, 30 Mar 2008) New Revision: 7823 Log: Improved scalability in case of many synchronization objects. Modified: trunk/exp-drd/drd_clientobj.c Modified: trunk/exp-drd/drd_clientobj.c =================================================================== --- trunk/exp-drd/drd_clientobj.c 2008-03-30 16:55:10 UTC (rev 7822) +++ trunk/exp-drd/drd_clientobj.c 2008-03-30 16:55:40 UTC (rev 7823) @@ -123,6 +123,7 @@ p->any.type = t; VG_(OSetGen_Insert)(s_clientobj, p); tl_assert(VG_(OSetGen_Lookup)(s_clientobj, &a1) == p); + drd_start_suppression(a1, a1 + 1, "clientobj"); return p; } @@ -160,6 +161,10 @@ DrdClientobj* p; tl_assert(s_clientobj); + + if (! drd_is_any_suppressed(a1, a2)) + return; + VG_(OSetGen_ResetIter)(s_clientobj); p = VG_(OSetGen_Next)(s_clientobj); for ( ; p != 0; ) |