iovisor / iovisor/bcc

funclatency yielding odd results

Open
#2,219 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

Hi,
funclatency is giving me bloated numbers, so I tried with an empty function, and funclatency tells me that this function lasts 1200 nsec, which is rather absurd on my 3.50 GHz CPU. Here are all details:
- I'm using a very recent version of bcc, cloned about ten days ago;
- the functions I'm measuring are invoked through pointers (if useful for you to know, I'm measuring the duration of the interface function of my BFQ I/O scheduler)
- to get stable results, I do the following:
cpupower frequency-set -g performance -d 3.50GHz -u 3.50GHz
cpupower idle-set -D 0

(/usr/share/bcc/tools/funclatency $FUNC_TO_MEASURE) &
BPFPID=$! # save pid, to stop funclatency when the test finishes

# do the test during which I want to measure the duration of my function of interest

kill -SIGINT $BPFPID
cpupower frequency-set -g powersave -d 800MHz
cpupower idle-set -E

Just ask if other information is needed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with /usr/share/bcc/tools/funclatency and reproduce the report using the empty function, function-pointer invocation, and CPU settings described. Compare the reported 1200 nsec result with the measurement setup and determine whether the behavior is specific to funclatency or pointer-invoked functions. Done means the discrepancy is explained and the appropriate correction or limitation is established.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
observability-sre, operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.