site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Jordan, Regards, John Falling You - exploring the beauty of voice and sound http://www.fallingyou.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... However, i'm running into a problem -- the C++ server can create the test files (i've successfully tested up to 10000 of them on my 1.5ghz 12" PowerBook, and it can go much higher than that I think) fine on the local disk, but when trying to do so on a remote disk (my dual 2ghz G5, across AE), it can't make any more than 1248. This is with the filedescriptor limit set to 10000 (via /bin/csh limit), so it appears that the filedescriptor limit that csh sets isn't honored on a remote disk. What's the point of registering kqueue() notifications against files on a remote disk? If you modify them on the system doing the monitoring then fine, it will catch them, but if any other client of that remote filesystem (or the server machine itself) modifies them, you won't. Yeah, I started suspecting that and it makes sense ... the files are on the G5, it's the G5s xnu that is handling the kqueue / kevent stuff, and it's kernel and the kernel on my PowerBook don't have some sort of psychic mindlink (that I know of, anyway) :-) I still don't know about the filedescriptor limit, though ... i'm going to research that more. It's also not very performant to monitor 1000's of files like this. You can do it this way, but the overheads are non-trivial. I'm just fascinated with very scalable servers, is all -- C10K and stuff like that. I like to see exactly how many simultaneous connections a machine / OS can handle, and i'm always trying to push it just a little bit more. I figured a quick test with files would give me some indication of how far kqueue / kevent can scale with regards to multiplexing than say, epoll() or the venerable select(). I'd also like to try pools of kqueues, and see if 10 of them monitoring 1000 FDs scales better than 1 handling 10000, and how kqueue / kevent compare with modwatch(). I'm silly * eyes roll out of sync with one another * :-) This email sent to site_archiver@lists.apple.com