Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1387645pxb; Wed, 30 Mar 2022 02:13:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxyTcAUAPh11RpfcGzRDZI6QjRdqBOToptjtvj55iGeMr5MKJWdhdrujDfJhaUtjf8UPKuN X-Received: by 2002:a17:90b:504:b0:1c7:3095:fd78 with SMTP id r4-20020a17090b050400b001c73095fd78mr3954867pjz.142.1648631634975; Wed, 30 Mar 2022 02:13:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648631634; cv=none; d=google.com; s=arc-20160816; b=ECcLkOPP9haL2wyrZ8X9jSEWKUDRm3/wYu7irz1ErFF07jRCP6diMIDnZRPl/flnG7 OlKh8WMI62pEE8h7U4aOPTVGZEBe38EfLNdapfaNf3crIHrtP80l19osoSaH1nER2Ial AlREgibWZWWPXhGZr85uwYbheUPgTjFBfa7O16d2IgRkFbIhGkl4IGKAPlSjHtCEl9Qx V1zFQI7cEalp05dMgQDWKNzKS5ulx0xeIKMKTOYLFy+uIazmutnXUKblwCsKSaKnxrcd tgw+2IwgZJjWXFSmcR/EZe/ldOB8F1QY5KsvlI8pjqkE1DqpQuhwo6Afw0M1U7LydjNx adnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bY4yoSxK19Dtv/Qi8ChzxOAQ2XrcNZsR1mA3eXn+KCA=; b=pqRo8kSrjX7yaRzOcpMdYF02WjxZ6hTWpyZfn1tNBjMLWz1z/OB2+XcpYvvsTDBFf8 1y/0lHH4vPWrMJqZUSA+L7wRTednSGgSmqIZ83v9aSFOHm3yQFJOlO3cPy7vhLpBmHuP ozfbBoR3zOIOBM7yqTc+skyHL87WhkDTG0jnLFV1Gs9HjdkGZ6k/wCBYFOKzXnfpH0G+ sjwc88R/FMoHRFWYjkv4+io5WrF/UpIUh2ttksL28Lp5MBDsALc95SXclBNY4lE6iFUq gycGp3dKJUkwew3k40YceA9J71QeQM8yBMpYqtcmjfjU7QhScPf4WIB5DggEUX0vuldH H/Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=SjIFPOQO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s10-20020a6550ca000000b003828bf085dbsi19277372pgp.850.2022.03.30.02.13.41; Wed, 30 Mar 2022 02:13:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=SjIFPOQO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239017AbiC2Qlv (ORCPT + 99 others); Tue, 29 Mar 2022 12:41:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239716AbiC2Qlo (ORCPT ); Tue, 29 Mar 2022 12:41:44 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6F8FDA0AA for ; Tue, 29 Mar 2022 09:40:00 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id c23so18170330plo.0 for ; Tue, 29 Mar 2022 09:40:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bY4yoSxK19Dtv/Qi8ChzxOAQ2XrcNZsR1mA3eXn+KCA=; b=SjIFPOQOeYzdLloArY51xqeWUzTrssM2d7IsP/MqClZEUugvZ66Ph3KpLWYGhgkgK1 e9WR9MN3M3ZlCVufHpEm9iCNy9iYfydQb0zskFruQQEG/x5YDoL2kCk/+IiaoZfLY8AX Fvm5vkf5Zz4cbKMlYXEESlqoJRk9oWAskufD1Hi4Ji91iPVTn99CyDe+zMQdJAsXHK5+ SU3kCSYhL8pXPXllmys45XC3T/AOc8b+1ekmQ5Cze7wMrWpVdZJ5eQ6RS2DZd2SeaqWy 3PmQbPyA326+7gKLT6PKc0IPacLNt+rvzyaAideoFUTVe0pn2qzg7TUmfR0Pwzo7tsAn 5QDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bY4yoSxK19Dtv/Qi8ChzxOAQ2XrcNZsR1mA3eXn+KCA=; b=lcLfGZYPdlmz9DuQXAyW3Yy+XEsVBS5rJ4VtDTg94GNx++bsKE27AouzHHjSK7XD2+ oRcy/uMGZDNVV4K2o2vgy/iAuXsZ1pLH18j4sdo9/Iel/dk/HAwapGHRiU6cOmQZzEhl FXiKuY6ohMppU8JxPtn3ov+HBwoZI+7fnMGnUs07oMNZh23lCoMR6aExb/Z+IKFvGM16 cq6JBDWmLPXi4RsvXU1sI8NxpHqDE0Qggk9oIh1yRYelpG56xwU7IVE3u3pB46AFaxYW Usn7uUr1BYEruhRa64dVbzQPnqlyzb0+eP14ZlpETUKAjbJ6QrBM4ZREU9khOUQOgb/9 MBLg== X-Gm-Message-State: AOAM531aVSyNFyl160xNqwHXM38pyJQ0nv9Dvs7y/qtk/VobCqdeTq9X AKLtgb5pFVpulKXvbN34Kvo= X-Received: by 2002:a17:903:1204:b0:156:29c3:d9d with SMTP id l4-20020a170903120400b0015629c30d9dmr4803013plh.28.1648571999956; Tue, 29 Mar 2022 09:39:59 -0700 (PDT) Received: from localhost.localdomain (li567-56.members.linode.com. [192.155.81.56]) by smtp.gmail.com with ESMTPSA id q7-20020a17090a178700b001c97d3614e5sm3382093pja.33.2022.03.29.09.39.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Mar 2022 09:39:59 -0700 (PDT) From: Jeff Xie To: rostedt@goodmis.org Cc: mingo@redhat.com, mhiramat@kernel.org, zanussi@kernel.org, linux-kernel@vger.kernel.org, Jeff Xie Subject: [PATCH 3/3] tracing: make tp_printk work on syscall tracepoints Date: Wed, 30 Mar 2022 00:39:31 +0800 Message-Id: <20220329163931.710555-4-xiehuan09@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220329163931.710555-1-xiehuan09@gmail.com> References: <20220329163931.710555-1-xiehuan09@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding printk for syscall tracepoints for the tp_printk work. Signed-off-by: Jeff Xie --- kernel/trace/trace_syscalls.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index f755bde42fd0..9798122166d3 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -290,6 +290,25 @@ static int __init syscall_enter_define_fields(struct trace_event_call *call) return ret; } +static void syscall_output_printk(struct trace_entry *ent, + struct trace_event_file *trace_file, struct trace_array *tr) +{ + unsigned long flags; + struct trace_iterator *iter = tracepoint_print_iter; + struct trace_event *event = &trace_file->event_call->event; + + spin_lock_irqsave(&tracepoint_iter_lock, flags); + + trace_seq_init(&iter->seq); + iter->ent = ent; + iter->tr = tr; + event->funcs->trace(iter, 0, event); + trace_seq_putc(&iter->seq, 0); + pr_info("%s", iter->seq.buffer); + + spin_unlock_irqrestore(&tracepoint_iter_lock, flags); +} + static void ftrace_syscall_enter(void *data, struct pt_regs *regs, long id) { struct trace_array *tr = data; @@ -333,6 +352,9 @@ static void ftrace_syscall_enter(void *data, struct pt_regs *regs, long id) syscall_get_arguments(current, regs, args); memcpy(entry->args, args, sizeof(unsigned long) * sys_data->nb_args); + if (static_key_false(&tracepoint_printk_key.key)) + syscall_output_printk(&entry->ent, trace_file, tr); + event_trigger_unlock_commit(trace_file, buffer, event, entry, trace_ctx); } @@ -376,6 +398,9 @@ static void ftrace_syscall_exit(void *data, struct pt_regs *regs, long ret) entry->nr = syscall_nr; entry->ret = syscall_get_return_value(current, regs); + if (static_key_false(&tracepoint_printk_key.key)) + syscall_output_printk(&entry->ent, trace_file, tr); + event_trigger_unlock_commit(trace_file, buffer, event, entry, trace_ctx); } -- 2.25.1