This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [HELP] Systemtap fails to load kernel module
- From: Jovi Zhangwei <jovi at cloudflare dot com>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: systemtap at sourceware dot org
- Date: Thu, 7 Jan 2016 17:21:56 +0000
- Subject: Re: [HELP] Systemtap fails to load kernel module
- Authentication-results: sourceware.org; auth=none
- References: <CABPcSqLiPoC=d2zHsVXTPgb+DppYfNO8x0=a+Fzvoj637h7gmw at mail dot gmail dot com> <y0mr3hvivc0 dot fsf at fche dot csb>
Hi Frank,
Thanks for your reply.
On Tue, Jan 5, 2016 at 9:13 PM, Frank Ch. Eigler <fche@redhat.com> wrote:
>
> Hi, Jovi -
>
> jovi wrote:
>
>> [...] I found one workaround is decrease the value of
>> /proc/sys/vm/min_free_kbytes, it works, but it's still a workaround,
>> and it's annoying to change that value again and again.
>
> We could put such logic into staprun perhaps - to try to empty out a
> bit of kernel memory just before loading the module.
>
>
>> We also tried to use bulk mode in systemtap, it eliminated the
>> memory allocation error, but the retrieved output is unreadable, so
>> we discard the bulk mode.
>
> One uses the stap_merge script to combine the per-cpu output files
> into a single readable file.
>
>
>> Note that there have a lot of free memory in system, it's not
>> because of out of memory, it's memory fragmentation.
>
> Have you experimented with a smaller "stap -s1"? (Maybe we could
> support fractions-of-megabytes.) Or maybe we are using an
> unnecessarily fragmentation-sensitive allocation machinery in that
> part of the runtime code.
>
Tried with "stap -s1", still failed.
ERROR: context (size 66144) allocation failed
WARNING: /usr/local/systemtap/bin/staprun exited with status: 1
Pass 5: run failed. [man error::pass5]
Is there have something wrong? I think that smaller allocation should
be successful.
And the context size doesn't changes after add "-s1".