Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752134AbeAQCvZ (ORCPT + 1 other); Tue, 16 Jan 2018 21:51:25 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:48254 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751876AbeAQCu5 (ORCPT ); Tue, 16 Jan 2018 21:50:57 -0500 From: Sukadev Bhattiprolu To: Michael Ellerman Cc: Benjamin Herrenschmidt , mikey@neuling.org, hbabu@us.ibm.com, linuxppc-dev@ozlabs.org, Subject: [PATCH 4/5] powerpc/ftw: Add a couple of trace points Date: Tue, 16 Jan 2018 18:50:42 -0800 X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516157443-17716-1-git-send-email-sukadev@linux.vnet.ibm.com> References: <1516157443-17716-1-git-send-email-sukadev@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18011702-0056-0000-0000-0000040A7A32 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00008392; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000246; SDB=6.00976119; UDB=6.00494794; IPR=6.00756046; BA=6.00005781; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00019083; XFM=3.00000015; UTC=2018-01-17 02:50:54 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18011702-0057-0000-0000-00000841D766 Message-Id: <1516157443-17716-5-git-send-email-sukadev@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-01-16_12:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1801170039 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Add a couple of trace points in the FTW driver Signed-off-by: Sukadev Bhattiprolu --- drivers/misc/ftw/ftw-trace.h | 75 ++++++++++++++++++++++++++++++++++++++++++++ drivers/misc/ftw/ftw.c | 6 ++++ 2 files changed, 81 insertions(+) create mode 100644 drivers/misc/ftw/ftw-trace.h diff --git a/drivers/misc/ftw/ftw-trace.h b/drivers/misc/ftw/ftw-trace.h new file mode 100644 index 0000000..0d96046 --- /dev/null +++ b/drivers/misc/ftw/ftw-trace.h @@ -0,0 +1,75 @@ +/* + * Copyright 2018 IBM Corp. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM ftw + +#if !defined(_FTW_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) + +#define _FTW_TRACE_H +#include +#include + +TRACE_EVENT( ftw_open_event, + + TP_PROTO(struct task_struct *tsk, + int instid), + + TP_ARGS(tsk, instid), + + TP_STRUCT__entry( + __field(struct task_struct *, tsk) + __field(int, instid) + __field(int, pid) + ), + + TP_fast_assign( + __entry->pid = tsk->pid; + __entry->instid = instid; + ), + + TP_printk("pid=%d, inst=%d", __entry->pid, __entry->instid) +); + +TRACE_EVENT( ftw_mmap_event, + + TP_PROTO(struct task_struct *tsk, + int instid, + unsigned long paste_addr, + unsigned long vma_start), + + TP_ARGS(tsk, instid, paste_addr, vma_start), + + TP_STRUCT__entry( + __field(struct task_struct *, tsk) + __field(int, pid) + __field(int, instid) + __field(unsigned long, paste_addr) + __field(unsigned long, vma_start) + ), + + TP_fast_assign( + __entry->pid = tsk->pid; + __entry->instid = instid; + __entry->paste_addr = paste_addr; + __entry->vma_start = vma_start; + ), + + TP_printk( + "pid=%d, inst=%d, pasteaddr=0x%16lx, vma_start=0x%16lx", + __entry->pid, __entry->instid, __entry->paste_addr, + __entry->vma_start) +); + +#endif /* _FTW_TRACE_H */ + +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH . +#define TRACE_INCLUDE_FILE ftw-trace +#include diff --git a/drivers/misc/ftw/ftw.c b/drivers/misc/ftw/ftw.c index 6fcb4e2..a01c9e6 100644 --- a/drivers/misc/ftw/ftw.c +++ b/drivers/misc/ftw/ftw.c @@ -21,6 +21,9 @@ #include #include +#define CREATE_TRACE_POINTS +#include "ftw-trace.h" + /* * FTW is a device driver used to provide user space access to the * Core-to-Core aka Fast Thread Wakeup (FTW) functionality provided by @@ -81,6 +84,8 @@ static int ftw_open(struct inode *inode, struct file *fp) fp->private_data = instance; + trace_ftw_open_event(current, instance->id); + return 0; } @@ -234,6 +239,7 @@ static int ftw_mmap(struct file *fp, struct vm_area_struct *vma) pr_devel("paste addr %llx at %lx, rc %d\n", paste_addr, vma->vm_start, rc); + trace_ftw_mmap_event(current, instance->id, paste_addr, vma->vm_start); set_thread_uses_vas(); -- 2.7.4