->etype = iter->etype;
> + ent->key = (struct static_key *) iter->static_key_addr;
Nit, should there be a space between the typecast and the "iter"?
> ent->priv = priv;
> INIT_LIST_HEAD(&ent->list);
> list_
On Thu, 20 Jun 2024 00:48:55 +0200
Vlastimil Babka wrote:
> +static int debugfs_prob_set(void *data, u64 val)
> +{
> + struct fault_attr *attr = data;
> +
> + mutex_lock(&probability_mutex);
> +
> + if (attr->active) {
> + if (attr->probability != 0 && val == 0) {
> +
ap_pages |
sort -u |wc -l
6
Note, ureadahead ignores duplicate pages.
If these new events really do only show what is used and not what is
just pulled in, and doesn't miss anything, I can see it bringing down
the number of pages needed to be saved dramatically.
Reviewed-by: Steven Rostedt (Google)
-- Steve
On Tue, 18 Jun 2024 13:47:49 +0200
Alexander Graf wrote:
> IMHO the big fat disclaimer should be in the argument name.
> "reserve_mem" to me sounds like it actually guarantees a reservation -
> which it doesn't. Can we name it more along the lines of "debug" (to
> indicate it's not for product
On Tue, 18 Jun 2024 20:55:17 +0800
Zhengyejian wrote:
> > + start = memblock_phys_alloc(size, align);
> > + if (!start)
> > + return -ENOMEM;
> > +
> > + reserved_mem_add(start, size, name);
> > +
> > + return 0;
>
> Hi, steve, should here return 1 ? Other __setup functions
>
On Thu, 13 Jun 2024 10:32:24 +0300
Ilkka Naulapää wrote:
> ok, so if you don't have any idea where this bug is after those debug
> patches, I'll try to find some time to bisect it as a last resort.
> Stay tuned.
FYI,
I just debugged a strange crash that was caused by my config having
something
On Mon, 17 Jun 2024 23:01:12 +0200
Alexander Graf wrote:
> > This could be an added feature, but it is very architecture specific,
> > and would likely need architecture specific updates.
>
>
> It definitely would be an added feature, yes. But one that allows you to
> ensure persistence a lot
On Mon, 17 Jun 2024 09:07:29 +0200
Alexander Graf wrote:
> Hey Steve,
>
>
> I believe we're talking about 2 different things :). Let me rephrase a
> bit and make a concrete example.
>
> Imagine you have passed the "reserve_mem=12M:4096:trace" kernel command
> line option. The kernel now come
On Fri, 14 Jun 2024 14:10:58 -0400
Kris Van Hees wrote:
> On Fri, Jun 14, 2024 at 01:46:51PM -0400, Steven Rostedt wrote:
> > On Fri, 14 Jun 2024 13:14:26 -0400
> > Kris Van Hees wrote:
> >
> > > Module objects compiled from C source can be ident
On Fri, 14 Jun 2024 13:14:26 -0400
Kris Van Hees wrote:
> Module objects compiled from C source can be identified by the presence
> of -DKBUILD_MODFILE and -DKBUILD_MODNAME on their compile command lines.
> However, module objects from assembler source do not have this defines.
>
> Add $(modfile
From: "Steven Rostedt (Google)"
In order to allow for requesting a memory region that can be used for
things like pstore on multiple machines where the memory layout is not the
same, add a new option to the kernel command line called "reserve_mem".
The format is: reser
From: "Steven Rostedt (Google)"
Add a method to find a region specified by reserve_mem=nn:align:name for
ramoops. Adding a kernel command line parameter:
reserve_mem=12M:4096:oops ramoops.mem_name=oops
Will use the size and location defined by the memmap parameter where it
finds
is.org/
- Updated the change log of the first patch as well as added an entry
into kernel-parameters.txt about how reserve_mem is for soft reboots
and may not be reliable.
Steven Rostedt (Google) (2):
mm/memblock: Add "reserve_mem" to reserved named memory at boot up
On Thu, 13 Jun 2024 14:21:10 -0700
Andrew Morton wrote:
> On Thu, 13 Jun 2024 16:10:12 -0400 Steven Rostedt wrote:
>
> > > And... I'm a bit surprised that forward declarations are allowed in C.
> > > A billion years ago I used a C compiler which would use 16
On Thu, 13 Jun 2024 22:22:18 +0300
Alexey Dobriyan wrote:
> g++ doesn't like forward enum declarations:
>
> error: use of enum ‘E’ without previous declaration
> 64 | enum E;
But we don't care about g++. Do we?
I would make that a separate patch.
>
> Delete those which aren't
On Thu, 13 Jun 2024 13:04:20 -0700
Andrew Morton wrote:
> On Thu, 13 Jun 2024 15:34:02 -0400 Steven Rostedt wrote:
>
> > On Thu, 13 Jun 2024 22:22:18 +0300
> > Alexey Dobriyan wrote:
> >
> > > g++ doesn't like forward enum declarations:
> &g
On Thu, 13 Jun 2024 15:19:50 -0300
"Guilherme G. Piccoli" wrote:
> > +
> > + reserver_mem=2M:4096:oops ramoops.mem_name=oops
> > +
>
> Likely this could be fixed on merge, to avoid another version, but...
>
> s/reserver_mem/reserve_mem
That 'r' is my nemesis! Almost every time I type "res
- Added EXPORT_SYMBOL_GPL() for reserve_mem_find_by_name()
- Removed "built-in" from module description that was changed from v1.
Changes since v1:
https://lore.kernel.org/all/2024060320.801075...@goodmis.org/
- Updated the change log of the first patch as well as added an entry
into
On Thu, 13 Jun 2024 18:54:12 +0200
Alexander Graf wrote:
>
> Do you have a "real" pstore on these systems that you could store
> non-volatile variables in, such as persistent UEFI variables? If so, you
> could create an actually persistent mapping for your trace pstore even
> across kernel ve
ping a stale partially
> unpoisoned stack frame. Poisoning stack frames before returns [1]
> makes the issue appear on x86_64 as well.
>
> [1]
> https://github.com/iii-i/llvm-project/commits/msan-poison-allocas-before-returning-2024-06-12/
>
> Reviewed-by: Alexander Potapenko
&g
From: "Steven Rostedt (Google)"
In order to allow for requesting a memory region that can be used for
things like pstore on multiple machines where the memory layout is not the
same, add a new option to the kernel command line called "reserve_mem".
The format is: reser
From: "Steven Rostedt (Google)"
Add a method to find a region specified by reserve_mem=nn:align:name for
ramoops. Adding a kernel command line parameter:
reserve_mem=12M:4096:oops ramoops.mem_name=oops
Will use the size and location defined by the memmap parameter where it
finds
From: "Steven Rostedt (Google)"
In function_graph_enter() there's a loop that looks at fgraph_array[]
elements which are fgraph_ops. It first tests if it is a fgraph_stub op,
and if so skips it, as that's just there as a place holder. Then it checks
the fgraph_ops filters to
On Thu, 13 Jun 2024 15:11:07 +0800
Andy Chiu wrote:
> kernel_text_address() and __kernel_text_address() are called in
> arch_stack_walk() of riscv. This results in excess amount of un-related
> traces when the kernel is compiled with CONFIG_TRACE_IRQFLAGS. The
> situation worsens when function_gr
From: "Steven Rostedt (Google)"
For a persistent ring buffer that is saved across boots, if function
tracing was performed in the previous boot, it only saves the address of
the functions and uses "%pS" to print their names. But the current boot,
those functions may be in
From: "Steven Rostedt (Google)"
The addresses of a stack trace event are relative to the kallsyms. As that
can change between boots, when printing the stack trace from a buffer that
was from the last boot, it needs all the addresses to be added to the
"text_delta" that giv
From: "Steven Rostedt (Google)"
Use the saved text_delta and data_delta of a persistent memory mapped ring
buffer that was saved from a previous boot, and use the delta in the trace
event print output so that strings and functions show up normally.
That is, for an event like tra
From: "Steven Rostedt (Google)"
If an instance is mapped to memory on boot up, create a new file called
"last_boot_info" that will hold information that can be used to properly
parse the raw data in the ring buffer.
It will export the delta of the addresses for text and d
From: "Steven Rostedt (Google)"
Add an option to the trace_instance kernel command line parameter that
allows it to use the reserved memory from memmap boot parameter.
memmap=12M$0x28450 trace_instance=boot_mapped@0x28450:12M
The above will reserves 12 megs at the physic
From: "Steven Rostedt (Google)"
When a ring buffer is mapped to a specific address, save the address of a
text function and some data. This will be used to determine the delta
between the last boot and the current boot for pointers to functions as
well as to data.
Signed-off-by: Stev
From: "Steven Rostedt (Google)"
Add a test against the ring buffer memory range to see if it has valid
data. The ring_buffer_meta structure is given a new field called
"first_buffer" which holds the address of the first sub-buffer. This is
used to both determine if the other
From: "Steven Rostedt (Google)"
Make sure all the events in each of the sub-buffers that were mapped in a
memory region are valid. This moves the code that walks the buffers for
time-stamp validation out of the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS
ifdef block and is used to va
From: "Steven Rostedt (Google)"
Add a buffer_meta per-cpu file for the trace instance that is mapped to
boot memory. This shows the current meta-data and can be used by user
space tools to record off the current mappings to help reconstruct the
ring buffer after a reboot.
It does not
From: "Steven Rostedt (Google)"
Populate the ring_buffer_meta array. It holds the pointer to the
head_buffer (next to read), the commit_buffer (next to write) the size of
the sub-buffers, number of sub-buffers and an array that keeps track of
the order of the sub-buffers.
This inform
From: "Steven Rostedt (Google)"
Allow for creating a new instance by passing in an address and size to map
the ring buffer for the instance to.
This will allow features like a pstore memory mapped region to be used for
an tracing instance ring buffer that can be retrieved from one b
From: "Steven Rostedt (Google)"
In preparation to allowing the trace ring buffer to be allocated in a
range of memory that is persistent across reboots, add
ring_buffer_alloc_range(). It takes a contiguous range of memory and will
split it up evenly for the per CPU ring buffers.
If t
From: "Steven Rostedt (Google)"
In preparation for having the ring buffer mapped to a dedicated location,
which will have the same restrictions as user space memory mapped buffers,
allow it to use the "mapped" field of the ring_buffer_per_cpu structure
without having the
code.
- Added hard coded address to map to (from memmap=nn$ss), instead of relying
on using reserve_mem (which I still want to add).
- Updated comments
- Restructured the validate code as the previous version broke the ring
buffer timestamp validation code.
Steven Rostedt (Google) (13):
On Wed, 12 Jun 2024 16:09:40 +0200
"Jason A. Donenfeld" wrote:
> >
> > I think "Depends-on" is the way to go, as it is *not* a stable thing, and
> > what is in stable rules is only about stable patches.
>
> How does "Depends-on" not spiral out of control? There's a *lot* of
> "Depends-on" rela
e previous one is needed
> > also, let me know and I'll rerun it.
> >
> > --Ilkka
> >
> > On Thu, May 30, 2024 at 5:00 PM Steven Rostedt wrote:
> >
> >>
> >> On Thu, 30 May 2024 16:02:37 +0300
> >> Ilkka Naulapää wrote:
>
On Tue, 11 Jun 2024 22:16:43 -0400
Steven Rostedt wrote:
> From: "Steven Rostedt (Google)"
>
> In preparation for having the ring buffer mapped to a dedicated location,
> which will have the same restrictions as user space memory mapped buffers,
> allow it to use
From: "Steven Rostedt (Google)"
The addresses of a stack trace event are relative to the kallsyms. As that
can change between boots, when printing the stack trace from a buffer that
was from the last boot, it needs all the addresses to be added to the
"text_delta" that giv
From: "Steven Rostedt (Google)"
If an instance is mapped to memory on boot up, create a new file called
"last_boot_info" that will hold information that can be used to properly
parse the raw data in the ring buffer.
It will export the delta of the addresses for text and d
From: "Steven Rostedt (Google)"
For a persistent ring buffer that is saved across boots, if function
tracing was performed in the previous boot, it only saves the address of
the functions and uses "%pS" to print their names. But the current boot,
those functions may be in
From: "Steven Rostedt (Google)"
Use the saved text_delta and data_delta of a persistent memory mapped ring
buffer that was saved from a previous boot, and use the delta in the trace
event print output so that strings and functions show up normally.
That is, for an event like tra
From: "Steven Rostedt (Google)"
When a ring buffer is mapped to a specific address, save the address of a
text function and some data. This will be used to determine the delta
between the last boot and the current boot for pointers to functions as
well as to data.
Signed-off-by: Stev
From: "Steven Rostedt (Google)"
Add an option to the trace_instance kernel command line parameter that
allows it to use the reserved memory from memmap boot parameter.
memmap=12M$0x28450 trace_instance=boot_mapped@0x28450:12M
The above will reserves 12 megs at the physic
From: "Steven Rostedt (Google)"
Make sure all the events in each of the sub-buffers that were mapped in a
memory region are valid. This moves the code that walks the buffers for
time-stamp validation out of the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS
ifdef block and is used to va
From: "Steven Rostedt (Google)"
Add a test against the ring buffer memory range to see if it has valid
data. The ring_buffer_meta structure is given a new field called
"first_buffer" which holds the address of the first sub-buffer. This is
used to both determine if the other
From: "Steven Rostedt (Google)"
Add a buffer_meta per-cpu file for the trace instance that is mapped to
boot memory. This shows the current meta-data and can be used by user
space tools to record off the current mappings to help reconstruct the
ring buffer after a reboot.
It does not
From: "Steven Rostedt (Google)"
Allow for creating a new instance by passing in an address and size to map
the ring buffer for the instance to.
This will allow features like a pstore memory mapped region to be used for
an tracing instance ring buffer that can be retrieved from one b
From: "Steven Rostedt (Google)"
Populate the ring_buffer_meta array. It holds the pointer to the
head_buffer (next to read), the commit_buffer (next to write) the size of
the sub-buffers, number of sub-buffers and an array that keeps track of
the order of the sub-buffers.
This inform
From: "Steven Rostedt (Google)"
In preparation for having the ring buffer mapped to a dedicated location,
which will have the same restrictions as user space memory mapped buffers,
allow it to use the "mapped" field of the ring_buffer_per_cpu structure
without having the
o map to (from memmap=nn$ss), instead of relying
on using reserve_mem (which I still want to add).
- Updated comments
- Restructured the validate code as the previous version broke the ring
buffer timestamp validation code.
Steven Rostedt (Google) (13):
ring-buffer: Allow mapped field
From: "Steven Rostedt (Google)"
In preparation to allowing the trace ring buffer to be allocated in a
range of memory that is persistent across reboots, add
ring_buffer_alloc_range(). It takes a contiguous range of memory and will
split it up evenly for the per CPU ring buffers.
If t
On Tue, 11 Jun 2024 21:39:37 -0400
Steven Rostedt wrote:
> >
> > Maybe explain why sometimes __rb_inc_dec_mapped() is called to
> > increment or decrement ->mapped, and sometimes it id done directly ?
> > I can see that the function also acquires the buffer mutex, wh
On Tue, 11 Jun 2024 16:53:43 -0700
Guenter Roeck wrote:
> >>> @@ -6403,7 +6407,8 @@ int ring_buffer_unmap(struct trace_buffer *buffer,
> >>> int cpu)
> >>> mutex_lock(&buffer->mutex);
> >>> raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
> >>>
> >>> - cpu_buffer->
the generated events are cleaned up.
> And if not, we cannot guarantee that the kprobe events will work
> correctly. So, anyway, there is no need to clean it up.
>
> Signed-off-by: Masami Hiramatsu (Google)
Reviewed-by: Steven Rostedt (Google)
-- Steve
On Tue, 11 Jun 2024 15:43:59 -0700
Guenter Roeck wrote:
> On 6/11/24 12:28, Steven Rostedt wrote:
> > From: "Steven Rostedt (Google)"
> >
> > In preparation for having the ring buffer mapped to a dedicated location,
> > which will have the same restriction
From: "Steven Rostedt (Google)"
The addresses of a stack trace event are relative to the kallsyms. As that
can change between boots, when printing the stack trace from a buffer that
was from the last boot, it needs all the addresses to be added to the
"text_delta" that giv
From: "Steven Rostedt (Google)"
Use the saved text_delta and data_delta of a persistent memory mapped ring
buffer that was saved from a previous boot, and use the delta in the trace
event print output so that strings and functions show up normally.
That is, for an event like tra
From: "Steven Rostedt (Google)"
For a persistent ring buffer that is saved across boots, if function
tracing was performed in the previous boot, it only saves the address of
the functions and uses "%pS" to print their names. But the current boot,
those functions may be in
From: "Steven Rostedt (Google)"
If an instance is mapped to memory on boot up, create a new file called
"last_boot_info" that will hold information that can be used to properly
parse the raw data in the ring buffer.
It will export the delta of the addresses for text and d
From: "Steven Rostedt (Google)"
Add an option to the trace_instance kernel command line parameter that
allows it to use the reserved memory from memmap boot parameter.
memmap=12M$0x28450 trace_instance=boot_mapped@0x28450:12M
The above will reserves 12 megs at the physic
From: "Steven Rostedt (Google)"
When a ring buffer is mapped to a specific address, save the address of a
text function and some data. This will be used to determine the delta
between the last boot and the current boot for pointers to functions as
well as to data.
Signed-off-by: Stev
From: "Steven Rostedt (Google)"
Make sure all the events in each of the sub-buffers that were mapped in a
memory region are valid. This moves the code that walks the buffers for
time-stamp validation out of the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS
ifdef block and is used to va
From: "Steven Rostedt (Google)"
Add a test against the ring buffer memory range to see if it has valid
data. The ring_buffer_meta structure is given a new field called
"first_buffer" which holds the address of the first sub-buffer. This is
used to both determine if the other
From: "Steven Rostedt (Google)"
Add a buffer_meta per-cpu file for the trace instance that is mapped to
boot memory. This shows the current meta-data and can be used by user
space tools to record off the current mappings to help reconstruct the
ring buffer after a reboot.
It does not
From: "Steven Rostedt (Google)"
Populate the ring_buffer_meta array. It holds the pointer to the
head_buffer (next to read), the commit_buffer (next to write) the size of
the sub-buffers, number of sub-buffers and an array that keeps track of
the order of the sub-buffers.
This inform
From: "Steven Rostedt (Google)"
In preparation to allowing the trace ring buffer to be allocated in a
range of memory that is persistent across reboots, add
ring_buffer_alloc_range(). It takes a contiguous range of memory and will
split it up evenly for the per CPU ring buffers.
If t
From: "Steven Rostedt (Google)"
Allow for creating a new instance by passing in an address and size to map
the ring buffer for the instance to.
This will allow features like a pstore memory mapped region to be used for
an tracing instance ring buffer that can be retrieved from one b
From: "Steven Rostedt (Google)"
In preparation for having the ring buffer mapped to a dedicated location,
which will have the same restrictions as user space memory mapped buffers,
allow it to use the "mapped" field of the ring_buffer_per_cpu structure
without having the
ress to map to (from memmap=nn$ss), instead of relying
on using reserve_mem (which I still want to add).
- Updated comments
- Restructured the validate code as the previous version broke the ring
buffer timestamp validation code.
Steven Rostedt (Google) (13):
ring-buffer: Allow mapped fie
the generated events are cleaned up.
> And if not, we cannot guarantee that the kprobe events will work
> correctly. So, anyway, there is no need to clean it up.
>
> Signed-off-by: Masami Hiramatsu (Google)
Reviewed-by: Steven Rostedt (Google)
-- Steve
> ---
> kernel/trace/t
s makes it easy to handle errors from ktest.
>
> Suggested-by: Steven Rostedt
> Signed-off-by: Masami Hiramatsu (Google)
> ---
> Changes in v3:
> - integrate WARN_ON_ONCE() and pr_warn() instead of remove
> WARN_ONCE().
Reviewed-by: Steven Rostedt (Google)
-- Steve
On Tue, 11 Jun 2024 11:03:25 +0200
Daniel Bristot de Oliveira wrote:
> On 6/10/24 21:20, Qais Yousef wrote:
> > - if (realtime_prio(p->prio)) /* includes deadline */
> > + if (rt_or_dl_prio(p->prio))
>
> that is it... no thinking, no recall, no comment, no confusion...
How about "not_norm
On Tue, 11 Jun 2024 10:42:28 +0200
Vlastimil Babka wrote:
> AFAICS that documented way is for a different situation? I assume you mean
> this part:
>
> * Specify any additional patch prerequisites for cherry picking::
>
> Cc: # 3.3.x: a1f84a3: sched: Check for idle
>
> But that would assu
On Tue, 11 Jun 2024 08:23:11 +0200
Greg KH wrote:
> > Depends-on: c9929f0e344a ("mm/slob: remove CONFIG_SLOB")
>
> Ick, no, use the documented way of handling this as described in the
> stable kernel rules file.
You mentioned this before, I guess you mean this:
> To send additional instructi
On Tue, 11 Jun 2024 06:26:44 +0900
"Masami Hiramatsu (Google)" wrote:
> From: Masami Hiramatsu (Google)
>
> Since the kprobe-events selftest shows OK or NG with the reason, the
> WARN_ON_ONCE()s for each place are redundant. Let's remove it.
>
> Signed-off-by: Masami Hiramatsu (Google)
> ---
On Fri, 7 Jun 2024 16:49:57 +0800
Yang Li wrote:
> Added kernel-doc comments for the unregister_ftrace_direct() function to
> improve code documentation and readability.
>
Someone else beat you to this.
-- Steve
> Reported-by: Abaci Robot
> Closes: https://bugzilla.openanolis.cn/show_bug.cg
On Fri, 7 Jun 2024 16:49:56 +0800
Yang Li wrote:
> Added kernel-doc comments for the ftrace_graph_ret_addr() function to
> improve code documentation and readability.
>
> Reported-by: Abaci Robot
> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=9299
> Signed-off-by: Yang Li
> ---
> k
because those
> are designed for playing as modules.
>
> If we make those modules as built-in, those events are left locked in the
> kernel, and never be removed. This causes kprobe event self-test failure
> as below.
Reviewed-by: Steven Rostedt (Google)
-- Steve
On Tue, 11 Jun 2024 06:26:44 +0900
"Masami Hiramatsu (Google)" wrote:
> From: Masami Hiramatsu (Google)
>
> Since the kprobe-events selftest shows OK or NG with the reason, the
> WARN_ON_ONCE()s for each place are redundant. Let's remove it.
Note, the ktests we run to validate commits, fail wh
On Mon, 10 Jun 2024 22:42:30 +0200
Vlastimil Babka wrote:
> On 6/10/24 5:46 PM, Paul E. McKenney wrote:
> > On Mon, Jun 10, 2024 at 11:22:23AM -0400, Steven Rostedt wrote:
> >> On Sun, 9 Jun 2024 10:27:17 +0200
> >> Julia Lawall wrote:
> >>
> &g
a kmalloc()?
>
> A recent change to kfree() allows it to correctly handle memory allocated
> via kmem_cache_alloc(). News to me as of a few weeks ago. ;-)
If that's the case then:
Acked-by: Steven Rostedt (Google)
Do we have a way to add a "Depends-on" tag so that anyone backporting this
will know that it requires the change to whatever allowed that to happen?
Or we need to update the change log to explicitly state that this should
*not* be backported.
-- Steve
On Mon, 10 Jun 2024 11:10:01 +0900
Masami Hiramatsu (Google) wrote:
> > But you don't explain what exactly the conflict is. What about those
> > events causes kprobe selftests to fail?
>
> I also found another problem on these modules. These modules get trace
> event file references to prevent
On Thu, 6 Jun 2024 10:37:46 -0500
Yan Zhai wrote:
> > name: kfree_skb
> > ID: 1799
> > format:
> > field:unsigned short common_type; offset:0; size:2;
> > signed:0;
> > field:unsigned char common_flags; offset:2; size:1;
> > signed:0;
> > field:un
On Fri, 7 Jun 2024 10:29:03 +0200
Petr Pavlu wrote:
> Another option could be to try traversing the whole list in smaller
> parts and give up the reader_lock in between them. This would need some
> care to make sure that the operation completes, e.g. the code would need
> to bail out if it detect
On Sun, 9 Jun 2024 10:27:17 +0200
Julia Lawall wrote:
> diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c
> index 7c29f4afc23d..338c52168e61 100644
> --- a/fs/tracefs/inode.c
> +++ b/fs/tracefs/inode.c
> @@ -53,14 +53,6 @@ static struct inode *tracefs_alloc_inode(struct
> super_block *sb)
>
On Wed, 5 Jun 2024 09:42:45 -0700
Andrii Nakryiko wrote:
> Another ping. It's been two weeks since Jiri posted the last revision
> that got no more feedback to be addressed and everyone seems to be
> happy with it.
Sorry, there's been a lot going on.
>
> This is an important speed up improveme
On Fri, 7 Jun 2024 17:02:28 +0200
Peter Zijlstra wrote:
> > There may be following resolutions:
>
> Oh gawd, sodding weak functions again.
>
> I would suggest changing scipts/kallsyms.c to emit readily identifiable
> symbol names for all the weak junk, eg:
>
> __weak_junk_N
>
> That i
From: "Steven Rostedt (Google)"
When CONFIG_DYNAMIC_FTRACE is not set, the function
fgraph_update_pid_func() doesn't do anything. Currently, most of its logic
is within a "#ifdef CONFIG_DYNAMIC_FTRACE" block, but its variables were
declared outside that, and when DYNA
Memory management folks. Please review this patch.
Specifically the "map_pages()" function below.
On Thu, 06 Jun 2024 17:17:43 -0400
Steven Rostedt wrote:
> From: "Steven Rostedt (Google)"
>
> Add an option to the trace_instance kernel command line paramete
From: "Steven Rostedt (Google)"
If an instance is mapped to memory on boot up, create a new file called
"last_boot_info" that will hold information that can be used to properly
parse the raw data in the ring buffer.
It will export the delta of the addresses for text and d
From: "Steven Rostedt (Google)"
The addresses of a stack trace event are relative to the kallsyms. As that
can change between boots, when printing the stack trace from a buffer that
was from the last boot, it needs all the addresses to be added to the
"text_delta" that giv
From: "Steven Rostedt (Google)"
When a ring buffer is mapped to a specific address, save the address of a
text function and some data. This will be used to determine the delta
between the last boot and the current boot for pointers to functions as
well as to data.
Signed-off-by: Stev
From: "Steven Rostedt (Google)"
For a persistent ring buffer that is saved across boots, if function
tracing was performed in the previous boot, it only saves the address of
the functions and uses "%pS" to print their names. But the current boot,
those functions may be in
From: "Steven Rostedt (Google)"
Use the saved text_delta and data_delta of a persistent memory mapped ring
buffer that was saved from a previous boot, and use the delta in the trace
event print output so that strings and functions show up normally.
That is, for an event like tra
From: "Steven Rostedt (Google)"
Add an option to the trace_instance kernel command line parameter that
allows it to use the reserved memory from memmap boot parameter.
memmap=12M$0x28450 trace_instance=boot_mapped@0x28450:12M
The above will reserves 12 megs at the physic
From: "Steven Rostedt (Google)"
Make sure all the events in each of the sub-buffers that were mapped in a
memory region are valid. This moves the code that walks the buffers for
time-stamp validation out of the CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS
ifdef block and is used to va
101 - 200 of 7784 matches
Mail list logo