Queue

Adam Smith alive_smith at yahoo.com
Thu Nov 14 09:30:52 EST 2002


Hi Eddie,
I looked into it a bit more.Here is a brief sample of what I am trying.
FromDevice(eth1)->Counter->Queue(10000)->DelayUnqueue(0.5)->Counter->ToHost
now it is a gigabit link being driven at 100's of mbps. 
Say I have 200Mbps at delays of 500ms. I notice that the first counter shows the correct rate but the second counter is showing a much lower rate. Specifically Delay Unqueue seems to be pulling packets much slower resulting in overflow of Queue.Any thoughts ?
Adam
 Eddie Kohler <kohler at icir.org> wrote:Hi Adam,

> I am using click as a linux module. When I try to create a Queue of size
> greater than 32000, it gives me an out of memory error. Is this due to
> the system limitation or is there an artificial limit imposed within
> click . I need to have a large queue since I am using a gigabit link and
> there are a lot of packets. Please suggest any alternative if possible. I
> have close to 1GB RAM. 32000 packets is not a very big number considering
> large packets.

It is due to a system limitation of sorts. In the kernel, you cannot
allocate extremely large objects unless you use a special allocation
strategy.

A queue of 32000 packets is almost certainly a bad idea anyway. It would
take a very long time to drain such a large queue. I'd try a much smaller
queue and see if it overflows in practice. It probably won't, unless you
are going down from a gigabit link to a much smaller link, in which case
any queue would overflow.

Eddie


---------------------------------
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
-------------- next part --------------
Hi Eddie,
I looked into it a bit more.Here is a brief sample of what I am trying.
FromDevice(eth1)->Counter->Queue(10000)->DelayUnqueue(0.5)->Counter->ToHost
now it is a gigabit link being driven at 100's of mbps.
Say I have 200Mbps at delays of 500ms. I notice that the first counter shows the correct rate but the second counter is showing a much lower rate. Specifically Delay Unqueue seems to be pulling packets much slower resulting in overflow of Queue.Any thoughts ?
Adam
 
Eddie Kohler <kohler at icir.org>
wrote:
Hi Adam,
> I am using click as a linux module. When I try to create a Queue of size
> greater than 32000, it gives me an out of memory error. Is this due to
> the system limitation or is there an artificial limit imposed within
> click . I need to have a large queue since I am using a gigabit link and
> there are a lot of packets. Please suggest any alternative if possible. I
> have close to 1GB RAM. 32000 packets is not a very big number considering
> large packets.
It is due to a system limitation of sorts. In the kernel, you cannot
allocate extremely large objects unless you use a special allocation
strategy.
A queue of 32000 packets is almost certainly a bad idea anyway. It would
take a very long time to drain such a large queue. I'd try a much smaller
queue and see if it overflows in practice. It probably wo! n't, unless you
are going down from a gigabit link to a much smaller link, in which case
any queue would overflow.
Eddie
Do you Yahoo!?
Yahoo! Web Hosting
- Let the expert host your site


More information about the click mailing list