[Gc] RE: gc6.5 patch for AIX 5.1

Boehm, Hans hans.boehm at hp.com
Tue Jul 19 18:03:32 PDT 2005


I put it into the 6.6 tree as is.  I omitted the ucontext.h include
from the 7.0 tree, since it should be getting pulled in more generically
than that.

"Blocking" with a sched_yield loop seems dubious.  You may end up
handing the processor back and forth between higher priority processes
which are all trying to simulate blocking.  If someone cares enough,
this should probably (after a while) do some kind of short sleep.
But certainly the patch is far better than nothing.  And with Unix
priorities, I think it will eventually work.  It's only a performance


> -----Original Message-----
> From: Dan Bonachea [mailto:bonachea at cs.berkeley.edu] 
> Sent: Tuesday, July 19, 2005 3:08 PM
> To: gc at napali.hpl.hp.com
> Cc: Boehm, Hans
> Subject: gc6.5 patch for AIX 5.1
> The threaded collector fails at startup on AIX ver 5.1 and 
> earlier starting in 
> GC v6.5, due to the recent removal of the GC's AIX-specific 
> thread support (in 
> favor of the generic thread support). The problem is POSIX 
> semaphores (which 
> are used by the generic thread support) were not implemented 
> until AIX 5.2.
> The small patch to gc 6.5 attached fixes this issue by 
> implementing the needed 
> semaphore functionality as a thin wrapper around the AIX 
> compare-and-swap 
> support, which dates back to at least AIX 3.1. It also fixes 
> a compile error 
> in the threaded support due to a missing system header #include.
> Dan

More information about the Gc mailing list