Re: Socket NKE performance
On jeudi, juin 5, 2003, at 18:36 Europe/Paris, Justin C. Walker wrote: On Thursday, June 5, 2003, at 07:33 AM, Stiphane Sudre wrote: I'm testing what kind of performance I can get from a Socket NKE communication from a Kernel Extension to a user land application. I set the recv_space of the socket to be 224 KB in the Kernel In the application, I'm using a CFSocket to read the data when available. To communicate with the application I'm sbappending 32 Bytes data using the same kind of code that the NKE tcpdumper sample code. My unrealistic dream is to reach a peak of 1 MB/s. But 300 KB/s would already be fair.
From the test I'm making, the performance can just reach 25 KB/s. Is this not a bit weak compared to what should be expected?
Yup, it's quite low. If you are just in a loop, sbappending 32 bytes at a time, I don't know that you'll get high performance, and you will certainly churn up a lot of CPU cycles no matter what. What are you trying to achieve? Basically doing what tcplogger is doing without having to use a waiting list when there is no more so_rcv space available. This is the reason why I increased the so_rcv space for the NKE socket. I want to do this for 3 reasons: 1) I can't be sure that when one event is to be sent and there is no memory available at this instant, there will be another opportunity to send this event. 2) I want the smallest delay between the event and the report of the event 3) I'm afraid of the amount of memory I may have to allocate in the Kernel if I implement a waiting list. But I may be wrong as I'm always thinking that 1 KB is a lot and one i++ instruction is hogging the CPU. _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Stéphane Sudre