Nmap Development mailing list archives

Re: Call for testers: nsock-engines experimental branch


From: Henri Doreau <henri.doreau () greenbone net>
Date: Sat, 23 Jul 2011 15:11:16 +0200

Hello,

2011/7/23 Fyodor <fyodor () insecure org>:
Thanks Henri.  This seems like a valuable feature.  Have you tested
whether it still compiles on Windows?  Have you thought about the
Windows "completion port" system?  Or maybe Windows has a better/newer
system now?  Even if you don't implement another system like
completion ports on Windows, do you think your changes will make that
easier for someone to do?

I am afraid I don't know enough about completion ports and windows
development in general to answer... Thanks to Arnaud Bellec
nsock-engines should now compile on windows but I have no windows box
and therefore can't test it.

The new infrastructure _should_ ease the addition of OS specific IO
notification facilities. People just have to create a new engine
exporting the io_engine interface to the rest of the library. Both
existing engines are around 440 lines long and I've tried to make them
as short and easy to read as possible.

Do you know if Mac offers epoll or some similar system for avoiding
the limitations of select in mass socket operations?

To the best of my knowledge Mac OS offers the BSD kqueue/kevent
system, which is known to be very efficient. Writing a kqueue/kevent
based engine will be my first priority after I can consider that the
rest of the code is stable and efficient enough.


I have identified a drawback in my infrastructure: as each IOD stores
its own event lists, the memory footprint increases. I am currently
working on a fix (that seems to improve performances as well). The fix
is simple: it simply restores the event lists in the nsock_pool, just
as they were before, but events are grouped by IOD within the lists,
and each IOD has pointers to its first event of each kind, instead of
having complete lists.

I'll make an announcement here as soon as this is ready, checked into
my branch and the benchmarks are updated.

I am also writing documentation to describe the changes and the new
infrastructure.

Cheers,
Fyodor

Regards.

-- 
Henri Doreau |  Greenbone Networks GmbH  |  http://www.greenbone.net
Neuer Graben 17, 49074 Osnabrueck, Germany | AG Osnabrueck, HR B 202460
Executive Directors: Lukas Grunwald, Dr. Jan-Oliver Wagner
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: