Files
linux-nv-oot/include/trace/events/cpuidle_debugfs_ftrace.h
Ishan Shah 3969211745 nvidia-oot: cpuidle: Support coordinated wake
Adding debugfs support for the coordinated wake state.
This will allow for the end-user to select a number of destination CPUs,
and then force them into idle together. A chosen "src" cpu will then
trigger a simultaneous wake request on all of the cores to create the
worst-case idle-exit scenario.
We also have an alternate state to support only coordinated sleep.
This can be useful for cases where select cores coordinated together can
have deeper power modes available to them.

TPS-671

Change-Id: I901f86000d36a86f9549f713ba698b58896d55b7
Signed-off-by: Ishan Shah <ishah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3242284
Reviewed-by: Nathan Hartman <nhartman@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sanjay Chandrashekara <sanjayc@nvidia.com>
2025-07-24 10:19:16 +00:00

49 lines
1.1 KiB
C

/*
* cpuidle event logging to ftrace.
*
* Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM cpuidle_debugfs_ftrace
#if !defined(_TRACE_CPUIDLE_DEBUGFS_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_CPUIDLE_DEBUGFS_H
#include <linux/ktime.h>
#include <linux/tracepoint.h>
TRACE_EVENT(cpuidle_debugfs_print,
TP_PROTO(
const char *str
),
TP_ARGS(str),
TP_STRUCT__entry(
__field(const char *, str)
),
TP_fast_assign(
__entry->str = str;
),
TP_printk("%s",
__entry->str
)
);
#endif /* _TRACE_CPUIDLE_DEBUGFS_H */
/* This part must be outside protection */
#include <trace/define_trace.h>