[Click] Queue Memory Allocation: vmalloc or kmalloc

rchertov at cs.ucsb.edu rchertov at cs.ucsb.edu
Thu Jul 1 17:08:16 EDT 2010


Typically, the packets are created when the Packet::make is called and an
skb is allocated.  The queue just keeps a track of pointers to the Packet
objects.  The skbmanager is used to deal with the packet buffers
themselves.  It might be that there is a problem with the skbmanager, when
there are that many packets at once.

ThreadSafeQueue appears to be a good choice for what you are doing.

On 1:42 pm 07/01/10 Latency Buster <latencybuster at gmail.com> wrote:
> Thanks.. The 'problem' is that I am not able to find out whether the
> queue  element is storing the packets via vmalloc or kmalloc. I
> observed that after 700,000 packets (for my system), y the drain rate
> of the queue is decreasing rapidly under constant service rate...
> 
> Also, do I need to use ThreadSafeQueue for a multicore system? There
> is only one producer pushing into the queue and only one consumer..
> But both the producer and consumer elements have been mapped to
> different cores.
> 
> On Thu, Jul 1, 2010 at 4:00 PM,  <rchertov at cs.ucsb.edu> wrote:
> > Not sure on the largest size array that you can allocate in Click,
> > but if the Queue element complains about the size, you should be able
> > to just link the packets back to back using "next" defined in the
> > Packet class.  That will require making a custom element, but it
> > should do the trick.
> >
> > Roman
> >
> > On 12:44 pm 07/01/10 Latency Buster <latencybuster at gmail.com> wrote:
> >> I have a machine with 32GB Ram... I am testing a scenario to find out
> >> how long a burst can click handle based on varying service rate. If I
> >> make the incoming queue length = 1.5 million packets, will click
> >> allocate the memory using kmalloc or vmalloc? Since I have a machine
> >> with large ram (32GB), I was thinking of allocating 2GB for packet
> >> queues. Is that feasible with the current version of Click?
> >>
> >> Thanks,
> >> _______________________________________________
> >> click mailing list
> >> click at amsterdam.lcs.mit.edu
> >> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list