linux-toolchains.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Indu Bhagat <indu.bhagat@oracle.com>
To: linux-toolchains@vger.kernel.org, rostedt@goodmis.org,
	peterz@infradead.org
Cc: Indu Bhagat <indu.bhagat@oracle.com>
Subject: [POC,V2 2/5] task_struct : add additional member for sframe state
Date: Thu, 25 May 2023 22:32:12 -0700	[thread overview]
Message-ID: <20230526053215.3617580-3-indu.bhagat@oracle.com> (raw)
In-Reply-To: <20230526053215.3617580-1-indu.bhagat@oracle.com>

[Changes in V2]
  - No changes yet.
  - ATM, it is understood that this POC is broken because accessing
    SFrame sections may fault while the perf event is being handled in
    the NMI context. The changes in this patch will likely be reworked.
[End of Changes in V2]

Add a new member to keep track of the SFrame sections for the current
task (program and its DSOs).

The definition of struct sframe_state is owned by the SFrame unwinder,
and added in a later commit.  Regarding the state management of the
task_struct.sframe_state:
  - Allocation and initialization is done at the task initialization
    time in the kernel.
  - Update: Not clear. We need to be able to track dlopen/dlclose, or
    additional shared libraries loaded via the dynamic linker at the
    task execution time.

Signed-off-by: Indu Bhagat <indu.bhagat@oracle.com>
---
 include/linux/sched.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index eed5d65b8d1f..fc0b0c720979 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -71,6 +71,7 @@ struct signal_struct;
 struct task_delay_info;
 struct task_group;
 struct user_event_mm;
+struct sframe_state;
 
 /*
  * Task state bitmask. NOTE! These bits are also
@@ -1534,6 +1535,10 @@ struct task_struct {
 	struct user_event_mm		*user_event_mm;
 #endif
 
+#ifdef CONFIG_USER_UNWINDER_SFRAME
+	struct sframe_state		*sframe_state;
+#endif
+
 	/*
 	 * New fields for task_struct should be added above here, so that
 	 * they are included in the randomized portion of task_struct.
-- 
2.39.2


  parent reply	other threads:[~2023-05-26  5:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-26  5:32 [POC,V2 0/5] SFrame based stack tracer for user space in the kernel Indu Bhagat
2023-05-26  5:32 ` [POC,V2 1/5] Kconfig: x86: Add new config options for userspace unwinder Indu Bhagat
2023-05-26  5:32 ` Indu Bhagat [this message]
2023-05-26  5:32 ` [POC,V2 3/5] sframe: add new SFrame library Indu Bhagat
2023-05-26  5:32 ` [POC,V2 4/5] sframe: add an SFrame format stack tracer Indu Bhagat
2023-05-26  5:32 ` [POC,V2 5/5] x86_64: invoke SFrame based stack tracer for user space Indu Bhagat
2023-05-26  7:56 ` [POC,V2 0/5] SFrame based stack tracer for user space in the kernel Steven Rostedt

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=20230526053215.3617580-3-indu.bhagat@oracle.com \
    --to=indu.bhagat@oracle.com \
    --cc=linux-toolchains@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    /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).