mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
Merge android11-5.4.61+ (8540985) into msm-5.4
* refs/heads/tmp-8540985: ANDROID: trace: sched: add sched blocked tracepoint which dumps out context of sleep. ANDROID: ABI: update allowed list for QCOM ANDROID: Update KMI_GENERATION after KMI change ANDROID: GKI: update the .xml file with the October 15 ABI breakages ANDROID: GKI: fs.h: add Android ABI padding to struct file ANDROID: vendor_hooks: Add a vendor data to file struct ANDROID: vendor_hooks: Extend the vendor data array in task_struct ANDROID: GKI: add fields required to enable CONFIG_TRANSPARENT_HUGEPAGE ANDROID: Drop abi_gki_aarch64_workarounds UPSTREAM: ehci-hcd: Move include to keep CRC stable ANDROID: GKI: update xiaomi symbol list ANDROID: GKI: update Vivo symbol list ANDROID: sysrq: add vendor hook for sysrq crash information ANDROID: ABI: update allowed list for galaxy ANDROID: GKI: update Vivo symbol list ANDROID: adding __nocfi to cpuidle_enter_state ANDROID: ABI: update allowed list for galaxy ANDROID: workqueue: add vendor hook for wq lockup information Change-Id: I29b7a5396075c41257cba3d4595356df755490f1 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
This commit is contained in:
commit
a1f16e27ca
32 changed files with 11711 additions and 11430 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -58,6 +58,7 @@
|
|||
__free_pages
|
||||
__get_free_pages
|
||||
__get_task_comm
|
||||
__get_vm_area
|
||||
__getblk_gfp
|
||||
__hrtimer_get_remaining
|
||||
__hwspin_lock_timeout
|
||||
|
|
@ -75,8 +76,11 @@
|
|||
__kfifo_alloc
|
||||
__kfifo_free
|
||||
__kfifo_in
|
||||
__kfifo_init
|
||||
__kfifo_out
|
||||
__kfifo_out_peek
|
||||
__kfifo_to_user
|
||||
__kfree_skb
|
||||
__kmalloc
|
||||
__kthread_init_worker
|
||||
__list_add_valid
|
||||
|
|
@ -228,6 +232,8 @@
|
|||
arch_set_freq_scale
|
||||
arch_setup_dma_ops
|
||||
arch_timer_read_counter
|
||||
argv_free
|
||||
argv_split
|
||||
arm64_const_caps_ready
|
||||
atomic_notifier_call_chain
|
||||
atomic_notifier_chain_register
|
||||
|
|
@ -305,6 +311,7 @@
|
|||
cfg80211_mgmt_tx_status
|
||||
cfg80211_michael_mic_failure
|
||||
cfg80211_new_sta
|
||||
cfg80211_port_authorized
|
||||
cfg80211_put_bss
|
||||
cfg80211_ready_on_channel
|
||||
cfg80211_remain_on_channel_expired
|
||||
|
|
@ -318,6 +325,9 @@
|
|||
cfg80211_vendor_cmd_reply
|
||||
class_create_file_ns
|
||||
class_destroy
|
||||
class_dev_iter_exit
|
||||
class_dev_iter_init
|
||||
class_dev_iter_next
|
||||
class_find_device
|
||||
class_interface_unregister
|
||||
class_unregister
|
||||
|
|
@ -411,6 +421,7 @@
|
|||
cpufreq_frequency_table_verify
|
||||
cpufreq_generic_attr
|
||||
cpufreq_generic_frequency_table_verify
|
||||
cpufreq_get
|
||||
cpufreq_quick_get
|
||||
cpufreq_quick_get_max
|
||||
cpufreq_register_driver
|
||||
|
|
@ -427,6 +438,7 @@
|
|||
crc32_le
|
||||
crc8
|
||||
crc8_populate_msb
|
||||
create_function_device
|
||||
crypto_alloc_shash
|
||||
crypto_destroy_tfm
|
||||
crypto_register_rngs
|
||||
|
|
@ -546,6 +558,7 @@
|
|||
devm_gpio_request
|
||||
devm_gpio_request_one
|
||||
devm_gpiochip_add_data
|
||||
devm_gpiod_get
|
||||
devm_gpiod_get_optional
|
||||
devm_iio_channel_get
|
||||
devm_iio_device_alloc
|
||||
|
|
@ -914,6 +927,7 @@
|
|||
dw_pcie_read
|
||||
dw_pcie_setup_rc
|
||||
dw_pcie_write
|
||||
emergency_restart
|
||||
enable_irq
|
||||
enable_percpu_irq
|
||||
end_buffer_read_sync
|
||||
|
|
@ -994,10 +1008,12 @@
|
|||
get_cpu_device
|
||||
get_cpu_idle_time
|
||||
get_device
|
||||
get_mm_exe_file
|
||||
get_options
|
||||
get_pid_task
|
||||
get_random_bytes
|
||||
get_random_u32
|
||||
get_task_pid
|
||||
get_thermal_instance
|
||||
get_unmapped_area
|
||||
get_unused_fd_flags
|
||||
|
|
@ -1012,6 +1028,7 @@
|
|||
gether_get_dev_addr
|
||||
gether_get_host_addr
|
||||
gether_get_host_addr_cdc
|
||||
gether_get_host_addr_u8
|
||||
gether_get_ifname
|
||||
gether_get_qmult
|
||||
gether_register_netdev
|
||||
|
|
@ -1084,6 +1101,7 @@
|
|||
i2c_adapter_type
|
||||
i2c_add_adapter
|
||||
i2c_add_numbered_adapter
|
||||
i2c_bit_add_numbered_bus
|
||||
i2c_bus_type
|
||||
i2c_del_adapter
|
||||
i2c_del_driver
|
||||
|
|
@ -1356,6 +1374,7 @@
|
|||
kthread_unpark
|
||||
kthread_worker_fn
|
||||
ktime_get
|
||||
ktime_get_coarse_with_offset
|
||||
ktime_get_mono_fast_ns
|
||||
ktime_get_raw
|
||||
ktime_get_raw_ts64
|
||||
|
|
@ -1678,6 +1697,7 @@
|
|||
phy_reset
|
||||
phy_set_mode_ext
|
||||
physvirt_offset
|
||||
pid_task
|
||||
pinconf_generic_dt_node_to_map
|
||||
pinctrl_add_gpio_range
|
||||
pinctrl_dev_get_drvdata
|
||||
|
|
@ -1883,6 +1903,7 @@
|
|||
rfkill_destroy
|
||||
rfkill_init_sw_state
|
||||
rfkill_register
|
||||
rfkill_set_sw_state
|
||||
rfkill_unregister
|
||||
rndis_deregister
|
||||
rndis_free_response
|
||||
|
|
@ -1969,6 +1990,7 @@
|
|||
sdhci_set_bus_width
|
||||
sdhci_setup_host
|
||||
sdio_signal_irq
|
||||
send_sig
|
||||
send_sig_info
|
||||
seq_lseek
|
||||
seq_printf
|
||||
|
|
@ -2018,6 +2040,7 @@
|
|||
skb_copy_bits
|
||||
skb_copy_datagram_iter
|
||||
skb_copy_expand
|
||||
skb_copy_ubufs
|
||||
skb_dequeue
|
||||
skb_free_datagram
|
||||
skb_pull
|
||||
|
|
@ -2036,6 +2059,7 @@
|
|||
smp_call_function_single
|
||||
smp_call_function_single_async
|
||||
smp_call_on_cpu
|
||||
smpboot_unregister_percpu_thread
|
||||
snd_card_free
|
||||
snd_card_new
|
||||
snd_card_register
|
||||
|
|
@ -2163,6 +2187,7 @@
|
|||
sock_alloc_send_skb
|
||||
sock_create_kern
|
||||
sock_gettstamp
|
||||
sock_i_uid
|
||||
sock_init_data
|
||||
sock_no_accept
|
||||
sock_no_getsockopt
|
||||
|
|
@ -2176,6 +2201,7 @@
|
|||
sock_register
|
||||
sock_release
|
||||
sock_unregister
|
||||
sock_wfree
|
||||
sort
|
||||
spi_bus_type
|
||||
spi_controller_resume
|
||||
|
|
@ -2231,6 +2257,7 @@
|
|||
strreplace
|
||||
strscpy
|
||||
strsep
|
||||
strspn
|
||||
strstr
|
||||
submit_bh
|
||||
subsys_system_register
|
||||
|
|
@ -2428,6 +2455,8 @@
|
|||
usb_free_urb
|
||||
usb_function_register
|
||||
usb_function_unregister
|
||||
usb_gadget_connect
|
||||
usb_gadget_disconnect
|
||||
usb_gadget_giveback_request
|
||||
usb_gadget_map_request_by_dev
|
||||
usb_gadget_set_state
|
||||
|
|
@ -2617,6 +2646,7 @@
|
|||
vm_unmap_ram
|
||||
vmalloc
|
||||
vmalloc_to_page
|
||||
vmalloc_to_pfn
|
||||
vmalloc_user
|
||||
vmap
|
||||
vmemmap
|
||||
|
|
|
|||
|
|
@ -574,6 +574,7 @@
|
|||
dma_resv_test_signaled_rcu
|
||||
dma_resv_wait_timeout_rcu
|
||||
dma_set_coherent_mask
|
||||
__dma_request_channel
|
||||
dma_set_mask
|
||||
do_exit
|
||||
do_wait_intr
|
||||
|
|
@ -1334,11 +1335,18 @@
|
|||
__mdiobus_register
|
||||
mdiobus_unregister
|
||||
media_create_pad_link
|
||||
media_create_intf_link
|
||||
media_device_cleanup
|
||||
media_device_init
|
||||
__media_device_register
|
||||
media_device_register_entity
|
||||
media_device_unregister
|
||||
media_device_unregister_entity
|
||||
media_devnode_create
|
||||
media_devnode_remove
|
||||
media_entity_pads_init
|
||||
media_entity_remove_links
|
||||
media_remove_intf_links
|
||||
memblock_free
|
||||
memchr
|
||||
memcmp
|
||||
|
|
@ -2681,7 +2689,9 @@
|
|||
vb2_mmap
|
||||
vb2_ops_wait_finish
|
||||
vb2_ops_wait_prepare
|
||||
vb2_plane_cookie
|
||||
vb2_plane_vaddr
|
||||
vb2_prepare_buf
|
||||
vb2_poll
|
||||
vb2_qbuf
|
||||
vb2_querybuf
|
||||
|
|
@ -2689,6 +2699,7 @@
|
|||
vb2_queue_init
|
||||
vb2_queue_release
|
||||
vb2_reqbufs
|
||||
vb2_request_object_is_buffer
|
||||
vb2_streamoff
|
||||
vb2_streamon
|
||||
vb2_vmalloc_memops
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
adjust_managed_page_count
|
||||
alarm_cancel
|
||||
alarm_init
|
||||
alarm_start
|
||||
alarm_start_relative
|
||||
alloc_chrdev_region
|
||||
__alloc_disk_node
|
||||
|
|
@ -186,6 +187,7 @@
|
|||
config_ep_by_speed
|
||||
config_group_init_type_name
|
||||
config_item_put
|
||||
console_printk
|
||||
console_stop
|
||||
console_suspend_enabled
|
||||
__const_udelay
|
||||
|
|
@ -365,6 +367,7 @@
|
|||
devm_reset_controller_register
|
||||
devm_rtc_device_register
|
||||
devm_snd_soc_register_card
|
||||
devm_snd_soc_register_component
|
||||
devm_thermal_zone_of_sensor_register
|
||||
devm_usb_get_phy
|
||||
devm_usb_get_phy_by_phandle
|
||||
|
|
@ -720,6 +723,7 @@
|
|||
find_next_zero_bit
|
||||
find_snd_usb_substream
|
||||
find_vma
|
||||
find_vpid
|
||||
finish_wait
|
||||
firmware_request_nowarn
|
||||
fixed_phy_register
|
||||
|
|
@ -784,9 +788,11 @@
|
|||
gether_set_host_addr
|
||||
gether_set_qmult
|
||||
gether_setup_name_default
|
||||
get_pid_task
|
||||
get_random_bytes
|
||||
get_random_u32
|
||||
__get_task_comm
|
||||
get_task_mm
|
||||
get_unmapped_area
|
||||
get_unused_fd_flags
|
||||
get_user_pages
|
||||
|
|
@ -852,6 +858,10 @@
|
|||
i2c_get_dma_safe_msg_buf
|
||||
i2c_put_dma_safe_msg_buf
|
||||
i2c_register_driver
|
||||
i2c_smbus_read_byte_data
|
||||
i2c_smbus_read_word_data
|
||||
i2c_smbus_write_byte_data
|
||||
i2c_smbus_write_word_data
|
||||
i2c_transfer
|
||||
i2c_transfer_buffer_flags
|
||||
i2c_unregister_device
|
||||
|
|
@ -886,6 +896,7 @@
|
|||
init_dummy_netdev
|
||||
init_net
|
||||
__init_rwsem
|
||||
init_task
|
||||
init_timer_key
|
||||
init_uts_ns
|
||||
init_wait_entry
|
||||
|
|
@ -1051,6 +1062,7 @@
|
|||
kstrtou8
|
||||
kstrtouint
|
||||
kstrtoull
|
||||
kstrtoull_from_user
|
||||
kthread_cancel_delayed_work_sync
|
||||
kthread_cancel_work_sync
|
||||
kthread_create_on_node
|
||||
|
|
@ -1147,6 +1159,7 @@
|
|||
misc_register
|
||||
mmc_of_parse
|
||||
mmc_send_tuning
|
||||
mmput
|
||||
mod_delayed_work_on
|
||||
mod_node_page_state
|
||||
mod_timer
|
||||
|
|
@ -1400,6 +1413,7 @@
|
|||
physvirt_offset
|
||||
phy_unregister_fixup_for_uid
|
||||
phy_write_mmd
|
||||
pid_task
|
||||
pinconf_generic_dt_node_to_map
|
||||
pinctrl_dev_get_drvdata
|
||||
pinctrl_get
|
||||
|
|
@ -1466,8 +1480,10 @@
|
|||
power_supply_get_drvdata
|
||||
power_supply_get_property
|
||||
power_supply_put
|
||||
power_supply_register
|
||||
power_supply_reg_notifier
|
||||
power_supply_set_property
|
||||
power_supply_unregister
|
||||
power_supply_unreg_notifier
|
||||
prandom_u32
|
||||
preempt_schedule
|
||||
|
|
@ -1647,6 +1663,7 @@
|
|||
rndis_set_param_vendor
|
||||
rndis_signal_connect
|
||||
rndis_uninit
|
||||
round_jiffies_relative
|
||||
rpmsg_create_ept
|
||||
rpmsg_destroy_ept
|
||||
rpmsg_poll
|
||||
|
|
@ -1671,6 +1688,7 @@
|
|||
sched_clock
|
||||
sched_setattr
|
||||
sched_setscheduler
|
||||
sched_show_task
|
||||
schedule
|
||||
schedule_timeout
|
||||
schedule_timeout_interruptible
|
||||
|
|
@ -2336,7 +2354,9 @@
|
|||
__wake_up
|
||||
__wake_up_locked
|
||||
wake_up_process
|
||||
wakeup_source_add
|
||||
wakeup_source_register
|
||||
wakeup_source_remove
|
||||
wakeup_source_unregister
|
||||
__warn_printk
|
||||
wiphy_free
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
[abi_symbol_list]
|
||||
# b/167230325
|
||||
ehci_handshake
|
||||
|
|
@ -11,6 +11,11 @@
|
|||
snd_soc_info_volsw_range
|
||||
snd_soc_put_volsw_range
|
||||
|
||||
# required by cs35l45_dlkm.ko
|
||||
devm_snd_soc_register_component
|
||||
regcache_drop_region
|
||||
snd_soc_dapm_del_routes
|
||||
|
||||
# required by q6_dlkm.ko
|
||||
down_interruptible
|
||||
__kfifo_alloc
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ CONFIG_MODVERSIONS=y
|
|||
CONFIG_BLK_INLINE_ENCRYPTION=y
|
||||
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
|
||||
CONFIG_GKI_HACKS_TO_FIX=y
|
||||
CONFIG_GKI_OPT_FEATURES=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ CONFIG_MODVERSIONS=y
|
|||
CONFIG_BLK_INLINE_ENCRYPTION=y
|
||||
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
|
||||
CONFIG_GKI_HACKS_TO_FIX=y
|
||||
CONFIG_GKI_OPT_FEATURES=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_CLEANCACHE=y
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
BRANCH=android11-5.4
|
||||
KMI_GENERATION=0
|
||||
KMI_GENERATION=1
|
||||
|
||||
CC=clang
|
||||
LD=ld.lld
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ android/abi_gki_aarch64_qcom
|
|||
android/abi_gki_aarch64_sunxi
|
||||
android/abi_gki_aarch64_unisoc
|
||||
android/abi_gki_aarch64_vivo
|
||||
android/abi_gki_aarch64_workarounds
|
||||
android/abi_gki_aarch64_xiaomi
|
||||
"
|
||||
TRIM_NONLISTED_KMI=1
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#include <trace/hooks/topology.h>
|
||||
#include <trace/hooks/debug.h>
|
||||
#include <trace/hooks/minidump.h>
|
||||
#include <trace/hooks/wqlockup.h>
|
||||
#include <trace/hooks/sysrqcrash.h>
|
||||
|
||||
/*
|
||||
* Export tracepoints that act as a bare tracehook (ie: have no trace event
|
||||
|
|
@ -58,3 +60,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save);
|
|||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_store);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_regs);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash);
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ int cpuidle_enter_s2idle(struct cpuidle_driver *drv, struct cpuidle_device *dev)
|
|||
* @drv: cpuidle driver for this cpu
|
||||
* @index: index into the states table in @drv of the state to enter
|
||||
*/
|
||||
int cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv,
|
||||
int __nocfi cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv,
|
||||
int index)
|
||||
{
|
||||
int entered_state;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@
|
|||
#include <asm/ptrace.h>
|
||||
#include <asm/irq_regs.h>
|
||||
|
||||
#include <trace/hooks/sysrqcrash.h>
|
||||
|
||||
/* Whether we react on sysrq keys or just ignore them */
|
||||
static int __read_mostly sysrq_enabled = CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE;
|
||||
static bool __read_mostly sysrq_always_enabled;
|
||||
|
|
@ -137,6 +139,8 @@ static void sysrq_handle_crash(int key)
|
|||
/* release the RCU read lock before crashing */
|
||||
rcu_read_unlock();
|
||||
|
||||
trace_android_vh_sysrq_crash(current);
|
||||
|
||||
panic("sysrq triggered crash\n");
|
||||
}
|
||||
static struct sysrq_key_op sysrq_crash_op = {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/usb/hcd.h>
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/debugfs.h>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
*/
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
#include <linux/usb/otg.h>
|
||||
|
||||
#define PORT_WAKE_BITS (PORT_WKOC_E|PORT_WKDISC_E|PORT_WKCONN_E)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
|
||||
#include <asm/byteorder.h>
|
||||
#include <uapi/linux/fs.h>
|
||||
#include <linux/android_vendor.h>
|
||||
|
||||
struct backing_dev_info;
|
||||
struct bdi_writeback;
|
||||
|
|
@ -990,6 +991,9 @@ struct file {
|
|||
#endif /* #ifdef CONFIG_EPOLL */
|
||||
struct address_space *f_mapping;
|
||||
errseq_t f_wb_err;
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_VENDOR_DATA(1);
|
||||
} __randomize_layout
|
||||
__attribute__((aligned(4))); /* lest something weird decides that 2 is OK */
|
||||
|
||||
|
|
|
|||
|
|
@ -309,6 +309,7 @@ static inline bool transhuge_vma_suitable(struct vm_area_struct *vma,
|
|||
}
|
||||
|
||||
static inline void prep_transhuge_page(struct page *page) {}
|
||||
static inline void free_transhuge_page(struct page *page) {}
|
||||
|
||||
#define transparent_hugepage_flags 0UL
|
||||
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ struct mem_cgroup {
|
|||
struct list_head event_list;
|
||||
spinlock_t event_list_lock;
|
||||
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
struct deferred_split deferred_split_queue;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -815,7 +815,7 @@ enum compound_dtor_id {
|
|||
#ifdef CONFIG_HUGETLB_PAGE
|
||||
HUGETLB_PAGE_DTOR,
|
||||
#endif
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
TRANSHUGE_PAGE_DTOR,
|
||||
#endif
|
||||
NR_COMPOUND_DTORS,
|
||||
|
|
|
|||
|
|
@ -513,7 +513,8 @@ struct mm_struct {
|
|||
#ifdef CONFIG_MMU_NOTIFIER
|
||||
struct mmu_notifier_mm *mmu_notifier_mm;
|
||||
#endif
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && !USE_SPLIT_PMD_PTLOCKS
|
||||
#if (defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)) && \
|
||||
!USE_SPLIT_PMD_PTLOCKS
|
||||
pgtable_t pmd_huge_pte; /* protected by page_table_lock */
|
||||
#endif
|
||||
#ifdef CONFIG_NUMA_BALANCING
|
||||
|
|
|
|||
|
|
@ -698,7 +698,7 @@ struct zonelist {
|
|||
extern struct page *mem_map;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
struct deferred_split {
|
||||
spinlock_t split_queue_lock;
|
||||
struct list_head split_queue;
|
||||
|
|
@ -791,7 +791,7 @@ typedef struct pglist_data {
|
|||
unsigned long first_deferred_pfn;
|
||||
#endif /* CONFIG_DEFERRED_STRUCT_PAGE_INIT */
|
||||
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
struct deferred_split deferred_split_queue;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -1452,7 +1452,7 @@ struct task_struct {
|
|||
unsigned long prev_lowest_stack;
|
||||
#endif
|
||||
|
||||
ANDROID_VENDOR_DATA_ARRAY(1, 2);
|
||||
ANDROID_VENDOR_DATA_ARRAY(1, 3);
|
||||
|
||||
ANDROID_KABI_RESERVE(1);
|
||||
ANDROID_KABI_RESERVE(2);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ enum vm_event_item { PGPGIN, PGPGOUT,
|
|||
UNEVICTABLE_PGMUNLOCKED,
|
||||
UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
|
||||
UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
THP_FAULT_ALLOC,
|
||||
THP_FAULT_FALLBACK,
|
||||
THP_COLLAPSE_ALLOC,
|
||||
|
|
|
|||
|
|
@ -643,6 +643,30 @@ DEFINE_EVENT_SCHEDSTAT(sched_stat_template, sched_stat_blocked,
|
|||
TP_PROTO(struct task_struct *tsk, u64 delay),
|
||||
TP_ARGS(tsk, delay));
|
||||
|
||||
/*
|
||||
* Tracepoint for recording the cause of uninterruptible sleep.
|
||||
*/
|
||||
TRACE_EVENT(sched_blocked_reason,
|
||||
|
||||
TP_PROTO(struct task_struct *tsk),
|
||||
|
||||
TP_ARGS(tsk),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field( pid_t, pid )
|
||||
__field( void*, caller )
|
||||
__field( bool, io_wait )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->pid = tsk->pid;
|
||||
__entry->caller = (void *)get_wchan(tsk);
|
||||
__entry->io_wait = tsk->in_iowait;
|
||||
),
|
||||
|
||||
TP_printk("pid=%d iowait=%d caller=%pS", __entry->pid, __entry->io_wait, __entry->caller)
|
||||
);
|
||||
|
||||
/*
|
||||
* Tracepoint for accounting runtime (time the task is executing
|
||||
* on a CPU).
|
||||
|
|
|
|||
24
include/trace/hooks/sysrqcrash.h
Normal file
24
include/trace/hooks/sysrqcrash.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM sysrqcrash
|
||||
#define TRACE_INCLUDE_PATH trace/hooks
|
||||
|
||||
#if !defined(_TRACE_HOOK_SYSRQCRASH_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_SYSRQCRASH_H
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
|
||||
DECLARE_HOOK(android_vh_sysrq_crash,
|
||||
TP_PROTO(void *data),
|
||||
TP_ARGS(data));
|
||||
#else
|
||||
#define trace_android_vh_sysrq_crash(data)
|
||||
#endif
|
||||
|
||||
#endif /* _TRACE_HOOK_SYSRQCRASH_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
24
include/trace/hooks/wqlockup.h
Normal file
24
include/trace/hooks/wqlockup.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM wqlockup
|
||||
#define TRACE_INCLUDE_PATH trace/hooks
|
||||
|
||||
#if !defined(_TRACE_HOOK_WQLOCKUP_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_WQLOCKUP_H
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
/*
|
||||
* Following tracepoints are not exported in tracefs and provide a
|
||||
* mechanism for vendor modules to hook and extend functionality
|
||||
*/
|
||||
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
|
||||
DECLARE_HOOK(android_vh_wq_lockup_pool,
|
||||
TP_PROTO(int cpu, unsigned long pool_ts),
|
||||
TP_ARGS(cpu, pool_ts));
|
||||
#else
|
||||
#define trace_android_vh_wq_lockup_pool(cpu, pool_ts)
|
||||
#endif
|
||||
|
||||
#endif /* _TRACE_HOOK_WQLOCKUP_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
|
@ -208,3 +208,11 @@ config GKI_HACKS_TO_FIX
|
|||
|
||||
Unless you are building a GKI kernel to be used with modules
|
||||
built from a different config, say N here.
|
||||
|
||||
config GKI_OPT_FEATURES
|
||||
bool "Optional GKI features"
|
||||
help
|
||||
Config option that should be enabled in GKI kernels to allow optional
|
||||
GKI features be enabled or disabled without ABI breakage.
|
||||
|
||||
If you are not building a GKI kernel, say N here.
|
||||
|
|
|
|||
|
|
@ -994,6 +994,7 @@ update_stats_enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|||
}
|
||||
|
||||
trace_sched_stat_blocked(tsk, delta);
|
||||
trace_sched_blocked_reason(tsk);
|
||||
|
||||
/*
|
||||
* Blocking time is in units of nanosecs, so shift by
|
||||
|
|
|
|||
|
|
@ -55,6 +55,10 @@
|
|||
|
||||
#include "workqueue_internal.h"
|
||||
|
||||
#include <trace/hooks/wqlockup.h>
|
||||
/* events/workqueue.h uses default TRACE_INCLUDE_PATH */
|
||||
#undef TRACE_INCLUDE_PATH
|
||||
|
||||
enum {
|
||||
/*
|
||||
* worker_pool flags
|
||||
|
|
@ -5776,6 +5780,7 @@ static void wq_watchdog_timer_fn(struct timer_list *unused)
|
|||
pr_cont_pool_info(pool);
|
||||
pr_cont(" stuck for %us!\n",
|
||||
jiffies_to_msecs(jiffies - pool_ts) / 1000);
|
||||
trace_android_vh_wq_lockup_pool(pool->cpu, pool_ts);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ compound_page_dtor * const compound_page_dtors[] = {
|
|||
#ifdef CONFIG_HUGETLB_PAGE
|
||||
free_huge_page,
|
||||
#endif
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
free_transhuge_page,
|
||||
#endif
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1259,7 +1259,7 @@ const char * const vmstat_text[] = {
|
|||
"unevictable_pgs_cleared",
|
||||
"unevictable_pgs_stranded",
|
||||
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_GKI_OPT_FEATURES)
|
||||
"thp_fault_alloc",
|
||||
"thp_fault_fallback",
|
||||
"thp_collapse_alloc",
|
||||
|
|
|
|||
Loading…
Reference in a new issue