Bug 1121 - [Anck 4.19][ck26_rc1][x86_64]Use_vfs_getname_probe_to_get_syscall_args_filename Check_open_filename_arg_using_perf_trace_+_vfs_getname失败
Summary: [Anck 4.19][ck26_rc1][x86_64]Use_vfs_getname_probe_to_get_syscall_args_filena...
Status: CONFIRMED
Alias: None
Product: ANCK 4.19 Dev
Classification: ANCK
Component: general/others (show other bugs) general/others
Version: 4.19-026.x
Hardware: x86_64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: 陈善佩
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-06 12:01 UTC by kangjiangbo
Modified: 2023-05-23 15:00 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kangjiangbo 2022-05-06 12:01:50 UTC
Description of problem:
an7 ck26_rc1内核 Use_vfs_getname_probe_to_get_syscall_args_filename Check_open_filename_arg_using_perf_trace_+_vfs_getname失败 

只在x86内核失败,arm上成功
an8上测试成功

Version-Release number of selected component (if applicable):
# uname -a
Linux iZ2ze6n8cezigzjqlcfjaeZ 4.19.91-26_rc1.an7.x86_64 #1 SMP Mon Apr 25 17:24:24 CST 2022 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/os-release
NAME="Anolis OS"
VERSION="7.7"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="7.7"
PRETTY_NAME="Anolis OS 7.7"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
BUG_REPORT_URL="https://bugs.openanolis.cn/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 106
Model name:            Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz
Stepping:              6
CPU MHz:               2699.998
BogoMIPS:              5399.99
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             48K
L1i cache:             32K
L2 cache:              1280K
L3 cache:              49152K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities



How reproducible:
# perf test -v 63
63: Use vfs_getname probe to get syscall args filenames   :
--- start ---
test child forked, pid 25560
Added new event:
  probe:vfs_getname    (on getname_flags:73 with pathname=filename:string)

You can now use it in all perf tools, such as:

        perf record -e probe:vfs_getname -aR sleep 1

Recording open file:
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.013 MB /tmp/__perf_test.perf.data.e2hMs (5 samples) ]
Looking at perf.data file for vfs_getname records for the file we touched:
test child finished with -1
---- end ----
Use vfs_getname probe to get syscall args filenames: FAILED!


# perf test -v 64
64: Check open filename arg using perf trace + vfs_getname:
--- start ---
test child forked, pid 25590
Added new event:
  probe:vfs_getname    (on getname_flags:73 with pathname=filename:string)

You can now use it in all perf tools, such as:

        perf record -e probe:vfs_getname -aR sleep 1

test child finished with -1
---- end ----
Check open filename arg using perf trace + vfs_getname: FAILED!



Additional info:
Additional info:
只在x86内核失败,arm上成功
an8上测试成功
# rpm -qa|grep perf
python-perf-4.19.91-26_rc1.an7.x86_64
gperftools-libs-2.6.1-1.an7.x86_64
perf-4.19.91-26_rc1.an7.x86_64

# gcc --version
gcc (GCC) 4.8.5 20150623 (Anolis 4.8.5-44.0.1)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


rpm -qa|grep glibc
glibc-static-2.17-323.1.an7.1.x86_64
glibc-common-2.17-323.1.an7.1.x86_64
glibc-headers-2.17-323.1.an7.1.x86_64
glibc-devel-2.17-323.1.an7.1.x86_64
glibc-2.17-323.1.an7.1.x86_64
Comment 1 Banana alibaba_cloud_group 2023-05-23 15:00:54 UTC
Anolis23-ANCK-5.10-014.1 arm机型也有相同问题

[内核信息]:
uname -r
5.10.134-14.1.an23.aarch64

[操作系统信息]:
[root@iZbp1ay5ksb4v5dta0i5kqZ 5.10-134.14.1]# cat /etc/os-release
NAME="Anolis OS"
VERSION="23"
ID="anolis"
VERSION_ID="23"
PLATFORM_ID="platform:an23"
PRETTY_NAME="Anolis OS 23"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
BUG_REPORT_URL="https://bugzilla.openanolis.cn/"

问题:
73: probe libc's inet_pton & backtrace it with ping                 : FAILED!
74: Use vfs_getname probe to get syscall args filenames             : FAILED!