mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
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>
This commit is contained in:
48
include/trace/events/cpuidle_debugfs_ftrace.h
Normal file
48
include/trace/events/cpuidle_debugfs_ftrace.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 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>
|
||||
Reference in New Issue
Block a user