[PATCH 2/6] pstore: Add event tracing support
Sai Prakash Ranjan
saiprakash.ranjan at codeaurora.org
Sat Sep 22 10:32:37 PDT 2018
On 9/22/2018 10:07 PM, Sai Prakash Ranjan wrote:
> On 9/22/2018 2:35 PM, Joel Fernandes wrote:
>> On Sat, Sep 8, 2018 at 4:28 PM Sai Prakash Ranjan
>> <saiprakash.ranjan at codeaurora.org> wrote:
>> Could you just split the pstore space into a per-cpu event buffer like
>> we are doing for ftrace-on-pstore? Then you don't need to lock. I fear
>> the lock contention will be apparent. The pstore code already has
>> plumbing to split the store buffer per CPU.
> Hi Joel,
> Thanks a lot for reviewing.
> I just looked at per-cpu buffer for ftrace and itseems the pstore percpu
> records will need to be merged into one record if we add this support
> for events. Merging of ftrace logs is based on timestamp, but for events
> we do not have timestamp field (for this specific reason I have added
> timestamp field for IO event tracing so that atleast we can know the cpu
> number in pstore output). For example, the sched event pstore output
> below has no timestamp field, so how do we merge per-cpu logs?
> # tail /sys/fs/pstore/event-ramoops-0
> sched_waking: comm=rcu_sched pid=11 prio=120 target_cpu=002
> sched_wakeup: comm=rcu_sched pid=11 prio=120 target_cpu=002
> Also Pstore ftrace log format is fixed i.e.,(CPU:%d ts:%llu %08lx %08lx
> %pf <- %pF\n"), but different events will have different formats and
> we will not be able to add timestamp field like how pstore ftrace does
> using pstore_ftrace_write_timestamp() and pstore_ftrace_read_timestamp().
> Sorry if I am confusing you, I can explain better I guess.
To add to this on db410c board with the current patch I just measured
average throughput of dd over 60 seconds with sched event tracing
enabled (trace_event=sched tp_pstore) : 190 MB/s
# dd if=/dev/zero of=/dev/null status=progress
11402907648 bytes (11 GB, 11 GiB) copied, 60 s, 190 MB/s^C
22430312+0 records in
22430312+0 records out
11484319744 bytes (11 GB, 11 GiB) copied, 60.4277 s, 190 MB/s
It seems fine or maybe I am testing it wrongly? Anyways let me know if I
can test any additional things in some different ways.
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
More information about the linux-arm-kernel