linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yang Shi <shy828301@gmail.com>
To: Shivank Garg <shivankgarg98@gmail.com>
Cc: David Hildenbrand <david@redhat.com>,
	Linux MM <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	gregkh@linuxfoundation.org, sergey.senozhatsky@gmail.com,
	pmladek@suse.com
Subject: Re: Profiling execution time for __alloc_pages_nodemask
Date: Tue, 11 May 2021 20:56:45 -0700	[thread overview]
Message-ID: <CAHbLzko9eh=5qD02jtYq4u4Awqrzc2F=jNWxRw4m0UdCMjjWnA@mail.gmail.com> (raw)
In-Reply-To: <CAOVCmzFiqASFCyoNrxksGzFtqJfR5FA06O-qFD-Jkv0tvsAMog@mail.gmail.com>

On Mon, May 10, 2021 at 10:31 PM Shivank Garg <shivankgarg98@gmail.com> wrote:
>
> >Are you maybe calling ktime_get() too early during boot, where some
> >subsystems are just about to be brought up?
>
> Thanks David, I guess this is the issue.
>
> >Is there any reason that prevents you from using some advanced tools,
> >i.e. perf, bcc/bpftrace, etc? They are much simpler than adding
> >instrumentation in kernel.
>
> Actually, I want to record the arguments for the memory allocator and
> filter out the calls I don't need (which are creating noise).
> For instance, I'm only interested in particular order and flags.

BPF can do so too. You can either attach to kprobe or tracepoint, then
filter out the calls by the function's parameters or tracepoint's
fields.

>
> This is the reason I added my custom tracepoint, which theoretically
> looked easy to implement without adding much overhead.
>
> Thanks,
> Shivank
>
> On Tue, May 11, 2021 at 5:30 AM Yang Shi <shy828301@gmail.com> wrote:
> >
> > On Mon, May 10, 2021 at 7:57 AM Shivank Garg <shivankgarg98@gmail.com> wrote:
> > >
> > > Hi Everyone!
> > >
> > > I want to profile the time taken to execute the __alloc_pages_nodemask
> > > for different linux configurations/parameters.
> > > To measure the execution time, I use the ktime_get() apis. I get the
> > > ktime_get() on the top, and I want to do ktime_sub(ktime_get(),ktime)
> > > and record it in a tracepoint.
> > > However, the patch on implementation prevents the kernel from booting
> > > up. I debugged the bug to find out that the issue recurs on adding
> > > ktime_get() inside the __alloc_pages_nodemask path. So, that the
> > > kernel fails to boot up ( and show the blank screen without any logs )
> > > I'm using the Linux kernel 5.6.13 (5821a5593fa9f28eb6fcc95c35d00454d9bb8624)
> >
> > Is there any reason that prevents you from using some advanced tools,
> > i.e. perf, bcc/bpftrace, etc? They are much simpler than adding
> > instrumentation in kernel.
> >
> > >
> > > Is it an expected behavior? or a BUG? Has anyone else faced the same issue?
> > >
> > > Can you please suggest, what would be a good way to measure execution
> > > time for page allocation (if not ktime_get)
> > >
> > > Stay Safe!
> > > Best Regards,
> > > Shivank Garg
> > > Open-Source Enthusiast and Student, IIT Kanpur
> > >

  reply	other threads:[~2021-05-12  3:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 14:57 Profiling execution time for __alloc_pages_nodemask Shivank Garg
2021-05-10 15:01 ` David Hildenbrand
2021-05-11  0:00 ` Yang Shi
2021-05-11  5:31   ` Shivank Garg
2021-05-12  3:56     ` Yang Shi [this message]
2021-05-12 17:39       ` Shivank Garg

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='CAHbLzko9eh=5qD02jtYq4u4Awqrzc2F=jNWxRw4m0UdCMjjWnA@mail.gmail.com' \
    --to=shy828301@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pmladek@suse.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=shivankgarg98@gmail.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).