Merge android14-6.1-2023-08_r4 into HEAD
* commit '5c1ed513eded33d20e713b1d346e5766251ac98b': ANDROID: GKI: Update symbol list for xiaomi ANDROID: vendor_hooks: export cgroup_threadgroup_rwsem ANDROID: GKI: Update symbol list for xiaomi ANDROID: vendor_hooks:vendor hook for percpu-rwsem Change-Id: If18accea139ba3bbac0db069fad65553ed39b2f5 Signed-off-by: keystone-kernel-automerger <keystone-kernel-automerger@google.com>
This commit is contained in:
commit
3157cbfe25
@ -311039,6 +311039,13 @@ function {
|
||||
parameter_id: 0x17047654
|
||||
parameter_id: 0xc9082b19
|
||||
}
|
||||
function {
|
||||
id: 0x9b6602ad
|
||||
return_type_id: 0x6720d32f
|
||||
parameter_id: 0x18bd6530
|
||||
parameter_id: 0x33756485
|
||||
parameter_id: 0x11b57133
|
||||
}
|
||||
function {
|
||||
id: 0x9b660b2c
|
||||
return_type_id: 0x6720d32f
|
||||
@ -329227,6 +329234,15 @@ elf_symbol {
|
||||
type_id: 0x9bd7019d
|
||||
full_name: "__traceiter_android_vh_record_pcpu_rwsem_starttime"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0x1a91ec8c
|
||||
name: "__traceiter_android_vh_record_pcpu_rwsem_time_early"
|
||||
is_defined: true
|
||||
symbol_type: FUNCTION
|
||||
crc: 0xeeef021b
|
||||
type_id: 0x9b6602ad
|
||||
full_name: "__traceiter_android_vh_record_pcpu_rwsem_time_early"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0x92518ec5
|
||||
name: "__traceiter_android_vh_record_rtmutex_lock_starttime"
|
||||
@ -332485,6 +332501,15 @@ elf_symbol {
|
||||
type_id: 0x18ccbd2c
|
||||
full_name: "__tracepoint_android_vh_record_pcpu_rwsem_starttime"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0x158c4cfa
|
||||
name: "__tracepoint_android_vh_record_pcpu_rwsem_time_early"
|
||||
is_defined: true
|
||||
symbol_type: OBJECT
|
||||
crc: 0xfb2f7ea7
|
||||
type_id: 0x18ccbd2c
|
||||
full_name: "__tracepoint_android_vh_record_pcpu_rwsem_time_early"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0x4568ff8f
|
||||
name: "__tracepoint_android_vh_record_rtmutex_lock_starttime"
|
||||
@ -337584,6 +337609,15 @@ elf_symbol {
|
||||
type_id: 0x751b5661
|
||||
full_name: "cgroup_taskset_next"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0xb7533de5
|
||||
name: "cgroup_threadgroup_rwsem"
|
||||
is_defined: true
|
||||
symbol_type: OBJECT
|
||||
crc: 0x4e1c73cb
|
||||
type_id: 0x6c952252
|
||||
full_name: "cgroup_threadgroup_rwsem"
|
||||
}
|
||||
elf_symbol {
|
||||
id: 0x7a871d1c
|
||||
name: "check_move_unevictable_pages"
|
||||
@ -385866,6 +385900,7 @@ interface {
|
||||
symbol_id: 0x93303c51
|
||||
symbol_id: 0x7d069e91
|
||||
symbol_id: 0x0fa39b81
|
||||
symbol_id: 0x1a91ec8c
|
||||
symbol_id: 0x92518ec5
|
||||
symbol_id: 0x9792c22e
|
||||
symbol_id: 0xe2d75052
|
||||
@ -386228,6 +386263,7 @@ interface {
|
||||
symbol_id: 0xb0c197a3
|
||||
symbol_id: 0x761f292f
|
||||
symbol_id: 0xef7ad117
|
||||
symbol_id: 0x158c4cfa
|
||||
symbol_id: 0x4568ff8f
|
||||
symbol_id: 0xe918e2ec
|
||||
symbol_id: 0x13b2fb38
|
||||
@ -386795,6 +386831,7 @@ interface {
|
||||
symbol_id: 0x4ce62869
|
||||
symbol_id: 0x6d77f512
|
||||
symbol_id: 0xb3cbf3c8
|
||||
symbol_id: 0xb7533de5
|
||||
symbol_id: 0x7a871d1c
|
||||
symbol_id: 0x91718d34
|
||||
symbol_id: 0x65e5fa26
|
||||
|
@ -332,3 +332,8 @@
|
||||
#required by xm_ispv4_pcie.ko
|
||||
pci_ioremap_bar
|
||||
pci_disable_pcie_error_reporting
|
||||
|
||||
#required by lock_optimization module
|
||||
__traceiter_android_vh_record_pcpu_rwsem_time_early
|
||||
__tracepoint_android_vh_record_pcpu_rwsem_time_early
|
||||
cgroup_threadgroup_rwsem
|
||||
|
@ -186,6 +186,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_permit_before_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_permit_after_init);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_selinux_is_initialized);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_shmem_get_folio);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_pcpu_rwsem_time_early);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_file_open);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_bpf_syscall);
|
||||
|
@ -23,6 +23,9 @@ struct percpu_rw_semaphore {
|
||||
#endif
|
||||
};
|
||||
|
||||
void _trace_android_vh_record_pcpu_rwsem_time_early(
|
||||
unsigned long settime, struct percpu_rw_semaphore *sem);
|
||||
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
#define __PERCPU_RWSEM_DEP_MAP_INIT(lockname) .dep_map = { .name = #lockname },
|
||||
#else
|
||||
@ -54,6 +57,8 @@ static inline void percpu_down_read(struct percpu_rw_semaphore *sem)
|
||||
rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_);
|
||||
|
||||
preempt_disable();
|
||||
_trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
|
||||
|
||||
/*
|
||||
* We are in an RCU-sched read-side critical section, so the writer
|
||||
* cannot both change sem->state from readers_fast and start checking
|
||||
@ -93,6 +98,7 @@ static inline bool percpu_down_read_trylock(struct percpu_rw_semaphore *sem)
|
||||
*/
|
||||
|
||||
if (ret) {
|
||||
_trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
|
||||
_trace_android_vh_record_pcpu_rwsem_starttime(current, jiffies);
|
||||
rwsem_acquire_read(&sem->dep_map, 0, 1, _RET_IP_);
|
||||
}
|
||||
@ -124,6 +130,7 @@ static inline void percpu_up_read(struct percpu_rw_semaphore *sem)
|
||||
this_cpu_dec(*sem->read_count);
|
||||
rcuwait_wake_up(&sem->writer);
|
||||
}
|
||||
_trace_android_vh_record_pcpu_rwsem_time_early(0, sem);
|
||||
_trace_android_vh_record_pcpu_rwsem_starttime(current, 0);
|
||||
preempt_enable();
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ struct mutex;
|
||||
struct rt_mutex_base;
|
||||
struct rw_semaphore;
|
||||
struct task_struct;
|
||||
struct percpu_rw_semaphore;
|
||||
|
||||
DECLARE_HOOK(android_vh_mutex_wait_start,
|
||||
TP_PROTO(struct mutex *lock),
|
||||
@ -80,6 +81,9 @@ DECLARE_HOOK(android_vh_record_rwsem_lock_starttime,
|
||||
DECLARE_HOOK(android_vh_record_pcpu_rwsem_starttime,
|
||||
TP_PROTO(struct task_struct *tsk, unsigned long settime_jiffies),
|
||||
TP_ARGS(tsk, settime_jiffies));
|
||||
DECLARE_HOOK(android_vh_record_pcpu_rwsem_time_early,
|
||||
TP_PROTO(unsigned long settime_jiffies, struct percpu_rw_semaphore *sem),
|
||||
TP_ARGS(settime_jiffies, sem));
|
||||
|
||||
struct mutex_waiter;
|
||||
DECLARE_HOOK(android_vh_alter_mutex_list_add,
|
||||
|
@ -114,6 +114,7 @@ static DEFINE_SPINLOCK(cgroup_idr_lock);
|
||||
static DEFINE_SPINLOCK(cgroup_file_kn_lock);
|
||||
|
||||
DEFINE_PERCPU_RWSEM(cgroup_threadgroup_rwsem);
|
||||
EXPORT_SYMBOL_GPL(cgroup_threadgroup_rwsem);
|
||||
|
||||
#define cgroup_assert_mutex_or_rcu_locked() \
|
||||
RCU_LOCKDEP_WARN(!rcu_read_lock_held() && \
|
||||
|
@ -26,6 +26,20 @@ void _trace_android_vh_record_pcpu_rwsem_starttime(struct task_struct *tsk,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(_trace_android_vh_record_pcpu_rwsem_starttime);
|
||||
|
||||
/*
|
||||
* trace_android_vh_record_pcpu_rwsem_time_early is called in
|
||||
* include/linux/percpu-rwsem.h by including include/hooks/dtask.h, which
|
||||
* will result to build-err. So we create
|
||||
* func: _trace_android_vh_record_pcpu_rwsem_time_early for percpu-rwsem.h to call.
|
||||
*/
|
||||
|
||||
void _trace_android_vh_record_pcpu_rwsem_time_early(
|
||||
unsigned long settime, struct percpu_rw_semaphore *sem)
|
||||
{
|
||||
trace_android_vh_record_pcpu_rwsem_time_early(settime, sem);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(_trace_android_vh_record_pcpu_rwsem_time_early);
|
||||
|
||||
int __percpu_init_rwsem(struct percpu_rw_semaphore *sem,
|
||||
const char *name, struct lock_class_key *key)
|
||||
{
|
||||
@ -242,6 +256,8 @@ void __sched percpu_down_write(struct percpu_rw_semaphore *sem)
|
||||
rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
|
||||
trace_contention_begin(sem, LCB_F_PERCPU | LCB_F_WRITE);
|
||||
|
||||
trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
|
||||
|
||||
/* Notify readers to take the slow path. */
|
||||
rcu_sync_enter(&sem->rss);
|
||||
|
||||
@ -294,6 +310,7 @@ void percpu_up_write(struct percpu_rw_semaphore *sem)
|
||||
* exclusive write lock because its counting.
|
||||
*/
|
||||
rcu_sync_exit(&sem->rss);
|
||||
trace_android_vh_record_pcpu_rwsem_time_early(0, sem);
|
||||
trace_android_vh_record_pcpu_rwsem_starttime(current, 0);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(percpu_up_write);
|
||||
|
Loading…
Reference in New Issue
Block a user