EV on AIX?

Darin McBride darin.mcbride at shaw.ca
Thu Mar 22 23:38:39 CET 2012


On Wednesday March 21 2012 11:15:54 AM Marc Lehmann wrote:
> On Tue, Mar 20, 2012 at 02:58:14PM -0600, Darin McBride 
<darin.mcbride at shaw.ca> wrote:
> > "EV.xs", line 131.1: 1506-046 (S) Syntax error.
> > make: 1254-004 The error code from the last command is 1.
> > 
> > I'm imagining here, then, that AIX is not supported (yet?).
> 
> It is, there are even workarounds against it's buggy poll implementation,
> but the new version of libev requires memory fences.
> 
> Which cpu architecture are you running aix on? To port libev to that
> architecture, you would need to add the relevant memory fences to ecb.h (in
> ev.c, somewhere around line 577).

uname -p reports "powerpc".  I see that present, but maybe you require gcc.  
Since this is largely an IBM shop, I have xlC available for use.

> Easier would be to use a non-antique gcc version (e.g. 4.4), which should
> have the relevant memory fences built-in, or llvm/clang.

I bet xlC is considered antique :-)  (Looks like xlC 10.1.0.2, but that's 
probably not important.)

> If neither is an option, and you are running on a single-cpu box, you can
> disable memory fences entirely by compiling with -DECB_NO_SMP.

Definitely not running on a single CPU box.  I think it has 4 quad-core CPUs in 
it.  Though I'm curious as to how much of an issue it is if I'm running 
single-threaded (even if through Coro).

> > Fair enough.  I'm kind of curious, then, which event loop might be
> > recommended on AIX?  Again, not a big deal as the pure-perl one seems to
> > work, just curious.
> 
> Any event loop you like and can get compiled, I guess.

Makes sense :-)  I just know that you have some recommendations in the AE 
docs, but wasn't entirely sure how big of a deal it is.

> AIX only really supports select, so the only speed gains over the
> pure-perl loop would be with regards to timer, and overall more efficient
> (by a constant factor) handling of data structures in C. Also, EV should
> use less memory, again by a constant factor.
> 
> So, using the pure perl event loop on aix is definitely an option that
> shouldn't lose out much.

Fair enough.  I won't worry about it too much, then, since I have more CPU 
power than I need, and likely far too much RAM as well, since when I'm 
running, usually nothing else is (and vice versa - when I'm not running, 
usually *everything* else is).  Thanks!



More information about the anyevent mailing list