From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sai Prakash Ranjan Subject: Re: [PATCH 2/6] pstore: Add event tracing support Date: Sat, 22 Sep 2018 23:02:37 +0530 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Joel Fernandes Cc: Steven Rostedt , Ingo Molnar , Laura Abbott , Kees Cook , Anton Vorontsov , Rob Herring , devicetree@vger.kernel.org, Colin Cross , Jason Baron , Tony Luck , Arnd Bergmann , Catalin Marinas , Will Deacon , Masami Hiramatsu , Joe Perches , Jim Cromie , Rajendra Nayak , Vivek Gautam , Sibi Sankar , linux-arm-kernel@lists.infradead.org, LKML List-Id: linux-arm-msm@vger.kernel.org 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 >> 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. Thanks, Sai -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation