[Winpcap-users] pcap_sendqueue_transmit() has 128MB limit?

Gianluca Varenni gianluca.varenni at cacetech.com
Fri Apr 24 09:30:29 PDT 2009


Even if you need to transmit at gigabit rates, I wouldn't use a queue of 
more than 1-2 MB. Using large sendqueue reduces the number of system calls, 
but it gives a hard time to the I/O manager because that large chunk of 
virtual address space needs to be paged in and locked into memory when the 
driver needs to access it. This is extremely time consuming when you use 
large buffers.

Have a nice day
GV

----- Original Message ----- 
From: "Janne Heikkinen" <janne.m.heikkinen at helsinki.fi>
To: <winpcap-users at winpcap.org>
Sent: Friday, April 24, 2009 6:48 AM
Subject: Re: [Winpcap-users] pcap_sendqueue_transmit() has 128MB limit?


> Quoting "Janne Heikkinen" <janne.m.heikkinen at helsinki.fi>:
>
>> Quoting "Gianluca Varenni" <gianluca.varenni at cacetech.com>:
>>
>>> I haven't tested it myself, but I bet it's a limit of the OS itself. In
>>> practice the OS does not support a single write operation with a buffer 
>>> of
>>> more than 128/256MB (and this limit probably depends on the OS flavor 
>>> and
>>> version).
>>>
>>> Why are you trying to transmit such a big single buffer?
>>
>> I have embedded device that can send data more than 1GB with constant
>> throughput and was trying to simulate that situation with PC sending
>> the data.
>
> I tried using 10 send queues and there seems to be delay of about
> 150 milliseconds between different send queues.
>
> - Janne
>
> _______________________________________________
> Winpcap-users mailing list
> Winpcap-users at winpcap.org
> https://www.winpcap.org/mailman/listinfo/winpcap-users 



More information about the Winpcap-users mailing list