Re: insmod: error inserting '/usr/local/lib/click.ko': -1 Cannot allocate memory

Daniel Borkmann <[email protected]>
Newsgroups gmane.network.routing.click
Message-ID <CAD6jFUSP3nDTEDSqNcdVLhrZ_NN1dMexCz1-doKr-89pGbgPtg@mail.gmail.com>
Hi Roman,

On Wed, Oct 5, 2011 at 7:30 PM, rchertov <[email protected]> wrote:
> Daniel,
>
> Can you try running your config with undoing this update?
> https://github.com/kohler/click/commit/d65bfe4054a23468c808e95df4ab6b4a5ef9d9a3
> Change ret = dev_queue_xmit(skb1); to
>        ret = dev->netdev_ops->ndo_start_xmit(skb1, dev);

I don't use ToDevice. My config is that I fetch packets from a
FromDevice and then drop them immediately with a SimpleIdle element.

So that's why I _don't do_ an xmit. I assume that this config
combination works fine, since the system runs stable on a high packet
rate.

Thanks,
Daniel

> This change will send the packet straight to the device driver.
>
> Roman
>
> On Wed, 5 Oct 2011 19:23:31 +0200, Daniel Borkmann wrote:
>> Hi Cliff,
>>
>> On Wed, Oct 5, 2011 at 7:15 PM, Cliff Frey <[email protected]> wrote:
>>> You could try adding BURST 10 or something to your FromDevice
>>> configuration
>>> and see if that makes a difference.
>>> You could also try changing tasks_per_iter (there is a top level
>>> handler, so
>>> you could add "Script(write tasks_per_iter 300)" to your config).
>>> I don't actually think that either of the above will make much
>>> difference...
>>> as I believe that the click task should currently try and send 128
>>> packets
>>> each time it is scheduled (tasks_per_iter * BURST == 128 * 1 ==
>>> 128).
>>>  However, the BURST one is definitely worth trying.
>>> You could also try changing the "weight" on your ethernet driver,
>>> but that
>>> also should default to 64 or higher, so I don't understand how/why
>>> so few
>>> packets would be processed each time.
>>> If you run ifconfig after the test, are there any error counters
>>> that are
>>> very high?
>>
>> Thanks for the hints.
>>
>> No, there aren't any error values on the NIC driver. If I turn off
>> click (click-uninstall), then the packet rate rises up to approx 1,38
>> Mio pps (receive and drop by the kernel) and the context switch rate
>> decreases to less than 1000 per sec. I tried the whole experiment
>> multiple times - each time the same as described. Is the click kernel
>> thread running in high-priority or RT mode? This could maybe explain
>> the starvation of the ksoftirqd.
>>
>> Thanks,
>> Daniel
>>
>>> Cliff
>>> On Wed, Oct 5, 2011 at 8:58 AM, Daniel Borkmann
>>> <[email protected]>
>>> wrote:
>>>>
>>>> On Wed, Oct 5, 2011 at 4:06 PM, Eddie Kohler <[email protected]>
>>>> wrote:
>>>> > I'm thinking probably we should do that automatically.
>>>>
>>>> Hmm, if someone wants to do debugging, then it might not work
>>>> (since
>>>> the syms are stripped), except you have a special target for debug,
>>>> for instance.
>>>>
>>>> What I recently noticed running Click in kernelspace: the number of
>>>> context switches per second is very high (... too high) on a high
>>>> packet rate. More details:
>>>>
>>>> I have two machines Intel Core 2 Quad Q6600 CPU, 4 GB RAM, Intel
>>>> 82566DC Ethernet Controller (e1000e driver). Both have Debian 6.0.
>>>> One
>>>> machine has a vanilla Linux 3.0 running pktgen with 64 Byte packets
>>>> (max. load), the other one is running Linux 2.6.38 with click in
>>>> kernelspace. Both are directly connected. The config is:
>>>> source::FromDevice(eth0); drop::SimpleIdle; source->drop. I was
>>>> measuring packets per second and the system's context switches per
>>>> second, both gathered from procfs. The result was that I reached
>>>> about
>>>> 460k pps while having a context switch rate of about 200k cs/sec
>>>> (!).
>>>> (The high rate explains the rather low pps rate.) Running
>>>> (multithreaded) click in userspace on top of Linux 3.0, I got about
>>>> 545k pps and less than 1000 cs/sec.
>>>>
>>>> Has anyone measured similar values? Could it be, that the click
>>>> kernel
>>>> thread is pushing away CPU time for the ksoftirqd doing NAPI
>>>> (sofirqs
>>>> for RX) on the e1000e?
>>>>
>>>> Thanks,
>>>> Daniel
>>>>
>>>> >
>>>> > Eddie
>>>> >
>>>> > On 10/5/11 9:32 AM, Daniel Borkmann wrote:
>>>> >>
>>>> >> Hi Sandeep,
>>>> >>
>>>> >> thanks for your reply! :-)
>>>> >>
>>>> >> Stripping the debug symbols out of the module like ...
>>>> >>
>>>> >> root@xyz:~# strip -g /usr/local/lib/click.ko
>>>> >>
>>>> >> ... worked for me; I already was on the latest Git repository.
>>>> >>
>>>> >> Thanks,
>>>> >> Daniel
>>>> >>
>>>> >> On Wed, Oct 5, 2011 at 3:14 PM, sandeep<[email protected]>
>>>>  wrote:
>>>> >>>
>>>> >>> I also had the same problem but it disappeared after I updated
>>>> to the
>>>> >>> latest
>>>> >>> git repository. https://github.com/kohler/click/tarball/master
>>>> >>>
>>>> >>> Kind Regards,
>>>> >>> Sandeep,
>>>> >>> PhD Student,
>>>> >>> CTVR - Trinity College Dublin
>>>> >>> On Wed, Oct 5, 2011 at 1:36 PM, Daniel
>>>> >>> Borkmann<[email protected]>
>>>> >>> wrote:
>>>> >>>>
>>>> >>>> Hi list,
>>>> >>>> I managed to build the patchless Click kernel version under
>>>> 2.6.38,
>>>> >>>> but insmod fails with the following:
>>>> >>>>
>>>> >>>> root@pc-10089:~# click-install forw.click
>>>> >>>> insmod: error inserting '/usr/local/lib/click.ko': -1 Cannot
>>>> allocate
>>>> >>>> memory
>>>> >>>> click-install: '/sbin/insmod /usr/local/lib/click.ko' failed
>>>> >>>>
>>>> >>>> Any ideas? Did anyone have same issues?
>>>> >>>>
>>>> >>>> Thanks,
>>>> >>>> Daniel
>>>> >>>> _______________________________________________
>>>> >>>> click mailing list
>>>> >>>> [email protected]
>>>> >>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>> >>>
>>>> >>>
>>>> >>
>>>> >>
>>>> >>
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Web: http://gnumaniacs.org
>>>>
>>>> _______________________________________________
>>>> click mailing list
>>>> [email protected]
>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>>
>
>
> _______________________________________________
> click mailing list
> [email protected]
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



-- 
Web: http://gnumaniacs.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.