This was with Twisted 10.1.0 and Python 2.6.6. I remember being in extreme disbelief when I found that it was using select/poll instead of epoll (who does that, especially when they already have epoll support?). I ended up writing this:
for reactor in ["epoll", "kq"]:
try:
rn = reactor + "reactor"
getattr(__import__("twisted.internet", fromlist=[rn], rn).install()
print "Auto-selecting reactor: " + reactor
break
except ImportError:
pass