bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrii Nakryiko <andriin@fb.com>
To: Liu Yiding <liuyd.fnst@cn.fujitsu.com>
Cc: <linux-kselftest@vger.kernel.org>,
	"bpf@vger.kernel.org" <bpf@vger.kernel.org>,
	"andrii.nakryiko@gmail.com" <andrii.nakryiko@gmail.com>
Subject: Re: runqslower build failed on Debian9
Date: Sun, 29 Mar 2020 23:09:55 -0700	[thread overview]
Message-ID: <a2b1a025-6a70-c3a5-fc19-155f0266946a@fb.com> (raw)
In-Reply-To: <a2771f66-b7ff-f320-dbd6-0967c189834f@cn.fujitsu.com>

On 3/29/20 5:48 PM, Liu Yiding wrote:
> Add attachment.
> 

Your BTF seems to be invalid. It has struct perf_ibs, which has a first 
field `struct pmu pmu` field with valid-looking size of 296 bytes, 
**but** the type that field points to is not a complete `struct pmu` 
definition, but rather just forward declaration. The way it is it 
shouldn't be even compilable, because forward declaration of a struct 
doesn't specify the size of a struct, so compiler should have rejected 
it. So it must be that either DWARF generated by compiler isn't correct, 
or there is DWARF -> BTF conversion bug somewhere. Are you using any 
special DWARF Kconfig settings? Maybe you can share your full .config 
and I might try to repro it on my machine.

But either way, that warning you get is a valid one, it should be 
illegal to have non-pointer forward-declared struct as a type for a 
struct member.

> 
> On 3/30/20 8:46 AM, Liu Yiding wrote:
>> Something wrong with my smtp and this email missed.
>>
>> Send again.
>>
>>
>> On 3/27/20 11:09 AM, Liu Yiding wrote:
>>> Hi, Andrii.
>>>
>>> Thanks for your prompt reply!
>>>
>>> Please check attatchment for my_btf.bin.
>>>
>>>
>>> On 3/27/20 4:28 AM, Andrii Nakryiko wrote:
>>>> Would you be able to share BTF of vmlinux that is used to generate 
>>>> vmlinux.h? Please run in verbose mode: `make V=1` and search for 
>>>> `bpftool btf dump file` command. It should point either to
>>>> /sys/kernel/btf/vmlinux or some other location, depending on how 
>>>> things are set up on your side.
>>>>
>>>> If it's /sys/kernel/btf/vmlinux, you can just `cat 
>>>> /sys/kernel/btf/vmlinux > my_btf.bin`. If it's some other file, 
>>>> easiest would be to just share that file. If not, it's possible to 
>>>> extract .BTF ELF section, let me know if you need help with that. 
>>>


  parent reply	other threads:[~2020-03-30  6:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <60b05d23-6352-b978-3bf7-5a86466bb297@cn.fujitsu.com>
2020-03-26 20:28 ` runqslower build failed on Debian9 Andrii Nakryiko
     [not found]   ` <84a70348-62e3-728b-d934-28e902d40fd0@cn.fujitsu.com>
2020-03-30  0:46     ` Liu Yiding
     [not found]       ` <a2771f66-b7ff-f320-dbd6-0967c189834f@cn.fujitsu.com>
2020-03-30  6:09         ` Andrii Nakryiko [this message]
     [not found]           ` <7705ca15-0d63-2e17-b947-51852c196c4b@cn.fujitsu.com>
2020-03-31 19:47             ` Andrii Nakryiko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a2b1a025-6a70-c3a5-fc19-155f0266946a@fb.com \
    --to=andriin@fb.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=liuyd.fnst@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).