diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 99419ee33dc4..df919dfae0d3 100755 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -257,6 +257,9 @@ + + + @@ -282,6 +285,7 @@ + @@ -328,17 +332,22 @@ + + + + + @@ -370,6 +379,7 @@ + @@ -378,16 +388,21 @@ + + + + + @@ -412,6 +427,7 @@ + @@ -748,6 +764,7 @@ + @@ -778,6 +795,7 @@ + @@ -961,6 +979,7 @@ + @@ -979,6 +998,7 @@ + @@ -1705,6 +1725,7 @@ + @@ -1785,6 +1806,7 @@ + @@ -1993,6 +2015,7 @@ + @@ -2080,10 +2103,13 @@ + + + @@ -2112,6 +2138,7 @@ + @@ -2147,6 +2174,7 @@ + @@ -2156,6 +2184,7 @@ + @@ -2171,6 +2200,7 @@ + @@ -2198,6 +2228,7 @@ + @@ -2229,6 +2260,7 @@ + @@ -2437,6 +2469,7 @@ + @@ -2884,6 +2917,7 @@ + @@ -2962,6 +2996,7 @@ + @@ -3282,6 +3317,7 @@ + @@ -3386,6 +3422,9 @@ + + + @@ -3756,6 +3795,7 @@ + @@ -3984,6 +4024,7 @@ + @@ -4800,6 +4841,7 @@ + @@ -5009,6 +5051,9 @@ + + + @@ -5034,6 +5079,7 @@ + @@ -5080,12 +5126,15 @@ + + + @@ -5133,6 +5182,9 @@ + + + @@ -5148,6 +5200,7 @@ + @@ -5173,6 +5226,7 @@ + @@ -7381,6 +7435,11 @@ + + + + + @@ -7880,6 +7939,10 @@ + + + + @@ -10066,6 +10129,9 @@ + + + @@ -10693,6 +10759,7 @@ + @@ -11614,6 +11681,7 @@ + @@ -13047,6 +13115,7 @@ + @@ -13060,6 +13129,19 @@ + + + + + + + + + + + + + @@ -17233,6 +17315,7 @@ + @@ -20848,6 +20931,7 @@ + @@ -26938,6 +27022,7 @@ + @@ -28514,6 +28599,7 @@ + @@ -28904,6 +28990,10 @@ + + + + @@ -31651,6 +31741,17 @@ + + + + + + + + + + + @@ -33905,6 +34006,14 @@ + + + + + + + + @@ -36116,6 +36225,7 @@ + @@ -42711,6 +42821,7 @@ + @@ -43676,6 +43787,7 @@ + @@ -46608,6 +46720,7 @@ + @@ -47321,6 +47434,7 @@ + @@ -50392,6 +50506,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51095,6 +51291,7 @@ + @@ -52861,6 +53058,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -60739,6 +60971,7 @@ + @@ -63174,6 +63407,7 @@ + @@ -65743,6 +65977,7 @@ + @@ -67161,6 +67396,7 @@ + @@ -70935,6 +71171,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -76699,6 +76961,7 @@ + @@ -80196,6 +80459,7 @@ + @@ -89880,6 +90144,7 @@ + @@ -93788,6 +94053,7 @@ + @@ -98101,7 +98367,7 @@ - + @@ -98327,6 +98593,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -99626,6 +99939,11 @@ + + + + + @@ -100451,6 +100769,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -102691,6 +103041,7 @@ + @@ -105295,6 +105646,10 @@ + + + + @@ -106240,6 +106595,7 @@ + @@ -109671,6 +110027,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -109839,6 +110219,13 @@ + + + + + + + @@ -110138,6 +110525,14 @@ + + + + + + + + @@ -110170,6 +110565,13 @@ + + + + + + + @@ -110177,6 +110579,11 @@ + + + + + @@ -110209,6 +110616,18 @@ + + + + + + + + + + + + @@ -110401,6 +110820,11 @@ + + + + + @@ -110450,6 +110874,21 @@ + + + + + + + + + + + + + + + @@ -110482,6 +110921,12 @@ + + + + + + @@ -110513,6 +110958,11 @@ + + + + + @@ -110654,6 +111104,12 @@ + + + + + + @@ -111094,6 +111550,9 @@ + + + @@ -111119,6 +111578,7 @@ + @@ -111165,12 +111625,15 @@ + + + @@ -111218,6 +111681,9 @@ + + + @@ -111233,6 +111699,7 @@ + @@ -111258,6 +111725,7 @@ + @@ -111350,9 +111818,9 @@ - - - + + + @@ -112732,6 +113200,13 @@ + + + + + + + @@ -112957,6 +113432,11 @@ + + + + + @@ -113677,8 +114157,8 @@ - - + + @@ -113879,6 +114359,10 @@ + + + + @@ -113962,6 +114446,10 @@ + + + + @@ -117849,6 +118337,12 @@ + + + + + + @@ -118255,6 +118749,11 @@ + + + + + @@ -119019,10 +119518,10 @@ - - - - + + + + @@ -119095,14 +119594,14 @@ - - - + + + - - - + + + @@ -119339,6 +119838,11 @@ + + + + + @@ -119805,6 +120309,11 @@ + + + + + @@ -119821,10 +120330,21 @@ + + + + + + + + + + + @@ -119971,6 +120491,9 @@ + + + @@ -120155,6 +120678,11 @@ + + + + + @@ -120200,6 +120728,10 @@ + + + + @@ -120271,6 +120803,10 @@ + + + + @@ -120387,6 +120923,12 @@ + + + + + + @@ -120545,6 +121087,10 @@ + + + + @@ -121611,6 +122157,14 @@ + + + + + + + + @@ -123863,6 +124417,13 @@ + + + + + + + @@ -124264,6 +124825,10 @@ + + + + @@ -125921,6 +126486,11 @@ + + + + + @@ -126443,6 +127013,19 @@ + + + + + + + + + + + + + @@ -128240,6 +128823,11 @@ + + + + + @@ -129483,6 +130071,12 @@ + + + + + + @@ -133672,6 +134266,13 @@ + + + + + + + diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos index e463c74791c5..721a73fc9370 100644 --- a/android/abi_gki_aarch64_exynos +++ b/android/abi_gki_aarch64_exynos @@ -643,6 +643,7 @@ drm_get_format_name drm_handle_vblank drm_hdmi_avi_infoframe_from_display_mode + drm_hdmi_infoframe_set_hdr_metadata drm_helper_connector_dpms drm_helper_disable_unused_functions drm_helper_force_disable_all @@ -842,6 +843,7 @@ gpiod_get_raw_value gpiod_get_raw_value_cansleep gpiod_set_raw_value + gpiod_set_raw_value_cansleep gpiod_set_value gpiod_set_value_cansleep gpiod_to_irq @@ -858,6 +860,7 @@ handle_simple_irq handle_sysrq hdmi_avi_infoframe_pack + hdmi_drm_infoframe_pack_only hex_dump_to_buffer hmm_range_fault housekeeping_cpumask @@ -1338,6 +1341,7 @@ pcie_get_speed_cap pci_enable_atomic_ops_to_root pci_enable_device + pci_enable_pcie_error_reporting pci_enable_wake pci_find_bus pci_find_capability @@ -1705,6 +1709,7 @@ snd_pcm_format_width snd_pcm_hw_constraint_integer snd_pcm_hw_constraint_list + snd_pcm_hw_constraint_mask64 snd_pcm_lib_free_pages snd_pcm_lib_ioctl snd_pcm_lib_malloc_pages @@ -1822,6 +1827,7 @@ strlen strncasecmp strncat + strnchr strncmp strncpy strnlen @@ -2244,6 +2250,7 @@ __wake_up_locked_key wake_up_process wakeup_source_add + wakeup_source_destroy wakeup_source_register wakeup_source_unregister __wake_up_sync diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy index c944f9221ae1..a6d6c37a2f7a 100644 --- a/android/abi_gki_aarch64_galaxy +++ b/android/abi_gki_aarch64_galaxy @@ -223,6 +223,117 @@ __tasklet_schedule __trace_bprintk __trace_bputs __trace_printk +__traceiter_android_rvh_account_irq +__traceiter_android_rvh_build_perf_domains +__traceiter_android_rvh_can_migrate_task +__traceiter_android_rvh_check_preempt_wakeup +__traceiter_android_rvh_cpu_cgroup_attach +__traceiter_android_rvh_cpu_cgroup_can_attach +__traceiter_android_rvh_cpu_cgroup_online +__traceiter_android_rvh_cpu_overutilized +__traceiter_android_rvh_cpufreq_transition +__traceiter_android_rvh_dequeue_task +__traceiter_android_rvh_die_kernel_fault +__traceiter_android_rvh_do_mem_abort +__traceiter_android_rvh_do_sp_pc_abort +__traceiter_android_rvh_enqueue_task +__traceiter_android_rvh_find_busiest_queue +__traceiter_android_rvh_find_energy_efficient_cpu +__traceiter_android_rvh_find_lowest_rq +__traceiter_android_rvh_flush_task +__traceiter_android_rvh_irqs_disable +__traceiter_android_rvh_irqs_enable +__traceiter_android_rvh_migrate_queued_task +__traceiter_android_rvh_new_task_stats +__traceiter_android_rvh_pick_next_entity +__traceiter_android_rvh_place_entity +__traceiter_android_rvh_preempt_disable +__traceiter_android_rvh_preempt_enable +__traceiter_android_rvh_replace_next_task_fair +__traceiter_android_rvh_report_bug +__traceiter_android_rvh_resume_cpus +__traceiter_android_rvh_sched_balance_rt +__traceiter_android_rvh_sched_cpu_dying +__traceiter_android_rvh_sched_cpu_starting +__traceiter_android_rvh_sched_exec +__traceiter_android_rvh_sched_fork +__traceiter_android_rvh_sched_fork_init +__traceiter_android_rvh_sched_newidle_balance +__traceiter_android_rvh_sched_nohz_balancer_kick +__traceiter_android_rvh_sched_rebalance_domains +__traceiter_android_rvh_schedule +__traceiter_android_rvh_schedule_bug +__traceiter_android_rvh_select_fallback_rq +__traceiter_android_rvh_select_task_rq_fair +__traceiter_android_rvh_select_task_rq_rt +__traceiter_android_rvh_set_gfp_zone_flags +__traceiter_android_rvh_set_iowait +__traceiter_android_rvh_set_readahead_gfp_mask +__traceiter_android_rvh_set_skip_swapcache_flags +__traceiter_android_rvh_set_task_cpu +__traceiter_android_rvh_tick_entry +__traceiter_android_rvh_try_to_wake_up +__traceiter_android_rvh_try_to_wake_up_success +__traceiter_android_rvh_ttwu_cond +__traceiter_android_rvh_typec_tcpci_chk_contaminant +__traceiter_android_rvh_typec_tcpci_get_vbus +__traceiter_android_rvh_uclamp_eff_get +__traceiter_android_rvh_update_cpu_capacity +__traceiter_android_rvh_update_cpus_allowed +__traceiter_android_rvh_update_misfit_status +__traceiter_android_rvh_util_est_update +__traceiter_android_rvh_wake_up_new_task +__traceiter_android_vh_allow_domain_state +__traceiter_android_vh_arch_set_freq_scale +__traceiter_android_vh_binder_restore_priority +__traceiter_android_vh_binder_set_priority +__traceiter_android_vh_binder_transaction_init +__traceiter_android_vh_binder_wakeup_ilocked +__traceiter_android_vh_cma_alloc_finish +__traceiter_android_vh_cma_alloc_start +__traceiter_android_vh_cpu_idle_enter +__traceiter_android_vh_cpu_idle_exit +__traceiter_android_vh_dump_throttled_rt_tasks +__traceiter_android_vh_enable_thermal_genl_check +__traceiter_android_vh_ep_create_wakeup_source +__traceiter_android_vh_freq_table_limits +__traceiter_android_vh_ftrace_dump_buffer +__traceiter_android_vh_ftrace_format_check +__traceiter_android_vh_ftrace_oops_enter +__traceiter_android_vh_ftrace_oops_exit +__traceiter_android_vh_ftrace_size_check +__traceiter_android_vh_iommu_setup_dma_ops +__traceiter_android_vh_ipi_stop +__traceiter_android_vh_is_fpsimd_save +__traceiter_android_vh_jiffies_update +__traceiter_android_vh_kfree_skb +__traceiter_android_vh_logbuf +__traceiter_android_vh_logbuf_pr_cont +__traceiter_android_vh_meminfo_proc_show +__traceiter_android_vh_pagecache_get_page +__traceiter_android_vh_printk_hotplug +__traceiter_android_vh_ptype_head +__traceiter_android_vh_rmqueue +__traceiter_android_vh_scheduler_tick +__traceiter_android_vh_show_max_freq +__traceiter_android_vh_show_mem +__traceiter_android_vh_show_resume_epoch_val +__traceiter_android_vh_show_suspend_epoch_val +__traceiter_android_vh_timer_calc_index +__traceiter_android_vh_timerfd_create +__traceiter_android_vh_typec_store_partner_src_caps +__traceiter_android_vh_typec_tcpci_override_toggling +__traceiter_android_vh_typec_tcpm_adj_current_limit +__traceiter_android_vh_typec_tcpm_get_timer +__traceiter_android_vh_ufs_check_int_errors +__traceiter_android_vh_ufs_compl_command +__traceiter_android_vh_ufs_fill_prdt +__traceiter_android_vh_ufs_prepare_command +__traceiter_android_vh_ufs_send_command +__traceiter_android_vh_ufs_send_tm_command +__traceiter_android_vh_ufs_send_uic_command +__traceiter_android_vh_ufs_update_sdev +__traceiter_android_vh_ufs_update_sysfs __traceiter_clock_set_rate __traceiter_cpu_frequency __traceiter_dma_fence_emit @@ -241,6 +352,9 @@ __tracepoint_android_rvh_cpu_cgroup_online __tracepoint_android_rvh_cpu_overutilized __tracepoint_android_rvh_cpufreq_transition __tracepoint_android_rvh_dequeue_task +__tracepoint_android_rvh_die_kernel_fault +__tracepoint_android_rvh_do_mem_abort +__tracepoint_android_rvh_do_sp_pc_abort __tracepoint_android_rvh_enqueue_task __tracepoint_android_rvh_find_busiest_queue __tracepoint_android_rvh_find_energy_efficient_cpu @@ -255,6 +369,7 @@ __tracepoint_android_rvh_place_entity __tracepoint_android_rvh_preempt_disable __tracepoint_android_rvh_preempt_enable __tracepoint_android_rvh_replace_next_task_fair +__tracepoint_android_rvh_report_bug __tracepoint_android_rvh_resume_cpus __tracepoint_android_rvh_sched_balance_rt __tracepoint_android_rvh_sched_cpu_dying @@ -308,9 +423,11 @@ __tracepoint_android_vh_ftrace_oops_exit __tracepoint_android_vh_ftrace_size_check __tracepoint_android_vh_iommu_setup_dma_ops __tracepoint_android_vh_ipi_stop +__tracepoint_android_vh_is_fpsimd_save __tracepoint_android_vh_jiffies_update __tracepoint_android_vh_kfree_skb __tracepoint_android_vh_logbuf +__tracepoint_android_vh_logbuf_pr_cont __tracepoint_android_vh_meminfo_proc_show __tracepoint_android_vh_pagecache_get_page __tracepoint_android_vh_printk_hotplug @@ -318,6 +435,7 @@ __tracepoint_android_vh_ptype_head __tracepoint_android_vh_rmqueue __tracepoint_android_vh_scheduler_tick __tracepoint_android_vh_show_max_freq +__tracepoint_android_vh_show_mem __tracepoint_android_vh_show_resume_epoch_val __tracepoint_android_vh_show_suspend_epoch_val __tracepoint_android_vh_timer_calc_index @@ -607,6 +725,7 @@ blk_sync_queue blk_unregister_region blk_update_request blk_verify_command +blkdev_fsync blkdev_get_by_dev blkdev_get_by_path blkdev_issue_flush @@ -635,6 +754,7 @@ bpf_trace_run9 bpf_warn_invalid_xdp_action bsearch bt_err +bt_info build_skb bus_find_device bus_for_each_dev @@ -680,6 +800,7 @@ class_destroy class_find_device class_for_each_device class_interface_unregister +class_remove_file_ns class_unregister cleancache_register_ops cleanup_srcu_struct @@ -814,6 +935,7 @@ cpufreq_table_index_unsorted cpufreq_this_cpu_can_update cpufreq_unregister_driver cpufreq_unregister_notifier +cpufreq_update_policy cpuhp_tasks_frozen cpuidle_governor_latency_req cpuidle_register_governor @@ -827,6 +949,7 @@ cpus_read_unlock crc32_le crc8 crc8_populate_msb +create_function_device crypto_aead_encrypt crypto_aead_setauthsize crypto_aead_setkey @@ -1438,6 +1561,7 @@ drm_dp_update_payload_part1 drm_dp_update_payload_part2 drm_edid_block_valid drm_edid_duplicate +drm_edid_get_monitor_name drm_edid_header_is_valid drm_edid_is_valid drm_edid_to_sad @@ -1714,6 +1838,7 @@ fasync_helper fd_install fget file_path +file_ra_state_init filp_close filp_open_block find_get_pid @@ -1726,6 +1851,7 @@ find_vma find_vpid finish_wait firmware_request_nowarn +fixed_size_llseek flow_keys_basic_dissector flush_dcache_page flush_delayed_work @@ -1783,9 +1909,12 @@ gen_pool_virt_to_phys generic_delete_inode generic_device_group generic_file_llseek +generic_file_read_iter generic_handle_irq generic_iommu_put_resv_regions generic_mii_ioctl +generic_perform_write +generic_write_checks genl_notify genl_register_family genl_unregister_family @@ -1805,6 +1934,7 @@ get_pid_task get_random_bytes get_random_bytes_arch get_random_u32 +get_random_u64 get_sg_io_hdr get_state_synchronize_rcu get_task_exe_file @@ -1839,6 +1969,7 @@ gpio_request_one gpio_to_desc gpiochip_add_data_with_key gpiochip_add_pin_range +gpiochip_find gpiochip_generic_config gpiochip_generic_free gpiochip_generic_request @@ -1848,6 +1979,7 @@ gpiochip_lock_as_irq gpiochip_populate_parent_fwspec_fourcell gpiochip_remove gpiochip_unlock_as_irq +gpiod_cansleep gpiod_count gpiod_direction_input gpiod_direction_output @@ -1863,6 +1995,7 @@ gpiod_set_raw_value gpiod_set_raw_value_cansleep gpiod_set_value gpiod_set_value_cansleep +gpiod_to_chip gpiod_to_irq gro_cells_destroy gro_cells_init @@ -1918,6 +2051,7 @@ i2c_adapter_type i2c_add_adapter i2c_add_numbered_adapter i2c_bit_add_bus +i2c_bit_add_numbered_bus i2c_bus_type i2c_client_type i2c_del_adapter @@ -1998,6 +2132,7 @@ iio_device_free iio_device_unregister iio_push_to_buffers iio_read_channel_processed +iio_read_channel_raw import_iovec in4_pton in6_pton @@ -2098,6 +2233,7 @@ iommu_unmap iommu_unregister_device_fault_handler iounmap iov_iter_bvec +iov_iter_kvec ip_compute_csum ip_send_check ipi_desc_get @@ -2202,6 +2338,8 @@ kmem_cache_destroy kmem_cache_free kmemdup kmemdup_nul +kmsg_dump_get_line +kmsg_dump_rewind kobj_sysfs_ops kobject_add kobject_create_and_add @@ -2443,6 +2581,7 @@ mutex_lock_interruptible mutex_trylock mutex_trylock_recursive mutex_unlock +name_to_dev_t names_cachep napi_complete_done napi_consume_skb @@ -2482,6 +2621,7 @@ netif_set_real_num_tx_queues netif_stacked_transfer_operstate netif_tx_stop_all_queues netif_tx_wake_queue +netlink_ack netlink_broadcast netlink_capable netlink_has_listeners @@ -2555,6 +2695,7 @@ of_dma_controller_register of_dma_is_coherent of_drm_find_bridge of_drm_find_panel +of_find_all_nodes of_find_compatible_node of_find_device_by_node of_find_i2c_adapter_by_node @@ -2834,6 +2975,7 @@ pinctrl_utils_free_map pipe_lock pipe_unlock pktgen_xfrm_outer_mode_output +platform_add_devices platform_bus_type platform_device_add platform_device_add_data @@ -2934,6 +3076,8 @@ ps2_init ps2_sendbyte ps2_sliced_command pskb_expand_head +pstore_register +pstore_unregister put_device put_disk put_iova_domain @@ -4177,6 +4321,7 @@ vchan_init vchan_tx_desc_free vchan_tx_submit vfree +vfs_fsync_range video_devdata video_device_alloc video_device_release diff --git a/android/abi_gki_aarch64_oplus b/android/abi_gki_aarch64_oplus index a6fe4bb93126..8a16c1d45a1c 100644 --- a/android/abi_gki_aarch64_oplus +++ b/android/abi_gki_aarch64_oplus @@ -69,9 +69,9 @@ blocking_notifier_call_chain blocking_notifier_chain_register blocking_notifier_chain_unregister - bpf_trace_run1 bpf_trace_run10 bpf_trace_run12 + bpf_trace_run1 bpf_trace_run2 bpf_trace_run3 bpf_trace_run4 @@ -231,6 +231,7 @@ crc8 crc8_populate_msb crypto_alloc_base + crypto_alloc_shash crypto_comp_compress crypto_comp_decompress crypto_destroy_tfm @@ -238,6 +239,7 @@ crypto_register_alg crypto_register_rngs crypto_register_scomp + crypto_shash_digest crypto_unregister_alg crypto_unregister_rngs crypto_unregister_scomp @@ -682,6 +684,7 @@ idr_replace iio_channel_get iio_channel_get_all + iio_channel_release iio_read_channel_processed import_iovec inc_node_page_state @@ -939,8 +942,8 @@ mempool_free mempool_free_slab memremap - memset memset64 + memset __memset_io memstart_addr memunmap @@ -976,8 +979,8 @@ netlink_unicast nla_find nla_put - nla_reserve nla_reserve_64bit + nla_reserve __nla_validate __nlmsg_put no_llseek @@ -1237,9 +1240,11 @@ proc_douintvec_minmax proc_mkdir proc_remove + proc_symlink proto_register proto_unregister __pskb_pull_tail + public_key_verify_signature putback_movable_pages put_device put_disk @@ -1464,6 +1469,7 @@ sdhci_pltfm_free sdhci_pltfm_init sdhci_remove_host + sdhci_request sdhci_reset sdhci_set_bus_width sdhci_set_power_noreg @@ -1504,6 +1510,7 @@ simple_attr_release simple_open simple_read_from_buffer + simple_strtol simple_strtoul simple_write_to_buffer single_open @@ -1616,6 +1623,7 @@ syscon_node_to_regmap syscon_regmap_lookup_by_phandle sysctl_sched_features + sysctl_sched_latency sysctl_vals sysfs_add_file_to_group sysfs_add_link_to_group @@ -1651,6 +1659,7 @@ task_may_not_preempt __task_pid_nr_ns __task_rq_lock + task_rq_lock thermal_cooling_device_register thermal_cooling_device_unregister thermal_of_cooling_device_register @@ -1694,6 +1703,8 @@ __traceiter_android_rvh_gic_v3_set_affinity __traceiter_android_rvh_migrate_queued_task __traceiter_android_rvh_new_task_stats + __traceiter_android_rvh_pick_next_entity + __traceiter_android_rvh_place_entity __traceiter_android_rvh_replace_next_task_fair __traceiter_android_rvh_resume_cpus __traceiter_android_rvh_sched_cpu_dying @@ -1720,9 +1731,15 @@ __traceiter_android_rvh_update_misfit_status __traceiter_android_rvh_wake_up_new_task __traceiter_android_vh_allow_domain_state + __traceiter_android_vh_alter_mutex_list_add + __traceiter_android_vh_alter_rwsem_list_add __traceiter_android_vh_binder_restore_priority __traceiter_android_vh_binder_set_priority + __traceiter_android_vh_binder_wait_for_work __traceiter_android_vh_binder_wakeup_ilocked + __traceiter_android_vh_build_sched_domains + __traceiter_android_vh_check_uninterruptible_tasks + __traceiter_android_vh_check_uninterruptible_tasks_dn __traceiter_android_vh_cpu_idle_enter __traceiter_android_vh_cpu_idle_exit __traceiter_android_vh_ftrace_dump_buffer @@ -1735,11 +1752,17 @@ __traceiter_android_vh_ipi_stop __traceiter_android_vh_jiffies_update __traceiter_android_vh_logbuf + __traceiter_android_vh_mutex_unlock_slowpath + __traceiter_android_vh_mutex_wait_finish + __traceiter_android_vh_mutex_wait_start __traceiter_android_vh_printk_hotplug + __traceiter_android_vh_rwsem_wake + __traceiter_android_vh_rwsem_wake_finish __traceiter_android_vh_scheduler_tick __traceiter_android_vh_show_max_freq __traceiter_android_vh_show_resume_epoch_val __traceiter_android_vh_show_suspend_epoch_val + __traceiter_android_vh_sync_txn_recvd __traceiter_android_vh_timer_calc_index __traceiter_android_vh_update_topology_flags_workfn __traceiter_binder_transaction_received @@ -1770,6 +1793,8 @@ __tracepoint_android_rvh_gic_v3_set_affinity __tracepoint_android_rvh_migrate_queued_task __tracepoint_android_rvh_new_task_stats + __tracepoint_android_rvh_pick_next_entity + __tracepoint_android_rvh_place_entity __tracepoint_android_rvh_replace_next_task_fair __tracepoint_android_rvh_resume_cpus __tracepoint_android_rvh_sched_cpu_dying @@ -1796,9 +1821,13 @@ __tracepoint_android_rvh_update_misfit_status __tracepoint_android_rvh_wake_up_new_task __tracepoint_android_vh_allow_domain_state + __tracepoint_android_vh_alter_mutex_list_add + __tracepoint_android_vh_alter_rwsem_list_add __tracepoint_android_vh_binder_restore_priority __tracepoint_android_vh_binder_set_priority + __tracepoint_android_vh_binder_wait_for_work __tracepoint_android_vh_binder_wakeup_ilocked + __tracepoint_android_vh_build_sched_domains __tracepoint_android_vh_check_uninterruptible_tasks __tracepoint_android_vh_check_uninterruptible_tasks_dn __tracepoint_android_vh_cpu_idle_enter @@ -1813,11 +1842,17 @@ __tracepoint_android_vh_ipi_stop __tracepoint_android_vh_jiffies_update __tracepoint_android_vh_logbuf + __tracepoint_android_vh_mutex_unlock_slowpath + __tracepoint_android_vh_mutex_wait_finish + __tracepoint_android_vh_mutex_wait_start __tracepoint_android_vh_printk_hotplug + __tracepoint_android_vh_rwsem_wake + __tracepoint_android_vh_rwsem_wake_finish __tracepoint_android_vh_scheduler_tick __tracepoint_android_vh_show_max_freq __tracepoint_android_vh_show_resume_epoch_val __tracepoint_android_vh_show_suspend_epoch_val + __tracepoint_android_vh_sync_txn_recvd __tracepoint_android_vh_timer_calc_index __tracepoint_android_vh_update_topology_flags_workfn __tracepoint_binder_transaction_received diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig index 92175e738c81..74fc8a647899 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -301,6 +301,7 @@ CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y CONFIG_SCSI_UFS_HISI=y CONFIG_SCSI_UFS_BSG=y CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_HPB=y CONFIG_MD=y CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h index 9f0ec21d6327..88d20f04c64a 100644 --- a/arch/arm64/include/asm/arch_timer.h +++ b/arch/arm64/include/asm/arch_timer.h @@ -165,25 +165,6 @@ static inline void arch_timer_set_cntkctl(u32 cntkctl) isb(); } -/* - * Ensure that reads of the counter are treated the same as memory reads - * for the purposes of ordering by subsequent memory barriers. - * - * This insanity brought to you by speculative system register reads, - * out-of-order memory accesses, sequence locks and Thomas Gleixner. - * - * http://lists.infradead.org/pipermail/linux-arm-kernel/2019-February/631195.html - */ -#define arch_counter_enforce_ordering(val) do { \ - u64 tmp, _val = (val); \ - \ - asm volatile( \ - " eor %0, %1, %1\n" \ - " add %0, sp, %0\n" \ - " ldr xzr, [%0]" \ - : "=r" (tmp) : "r" (_val)); \ -} while (0) - static __always_inline u64 __arch_counter_get_cntpct_stable(void) { u64 cnt; @@ -224,8 +205,6 @@ static __always_inline u64 __arch_counter_get_cntvct(void) return cnt; } -#undef arch_counter_enforce_ordering - static inline int arch_timer_arch_init(void) { return 0; diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barrier.h index 5a8367a2b868..bffa8860af1c 100644 --- a/arch/arm64/include/asm/barrier.h +++ b/arch/arm64/include/asm/barrier.h @@ -71,6 +71,25 @@ static inline unsigned long array_index_mask_nospec(unsigned long idx, return mask; } +/* + * Ensure that reads of the counter are treated the same as memory reads + * for the purposes of ordering by subsequent memory barriers. + * + * This insanity brought to you by speculative system register reads, + * out-of-order memory accesses, sequence locks and Thomas Gleixner. + * + * http://lists.infradead.org/pipermail/linux-arm-kernel/2019-February/631195.html + */ +#define arch_counter_enforce_ordering(val) do { \ + u64 tmp, _val = (val); \ + \ + asm volatile( \ + " eor %0, %1, %1\n" \ + " add %0, sp, %0\n" \ + " ldr xzr, [%0]" \ + : "=r" (tmp) : "r" (_val)); \ +} while (0) + #define __smp_mb() dmb(ish) #define __smp_rmb() dmb(ishld) #define __smp_wmb() dmb(ishst) diff --git a/arch/arm64/include/asm/vdso/gettimeofday.h b/arch/arm64/include/asm/vdso/gettimeofday.h index 631ab1281633..4b4c0dac0e14 100644 --- a/arch/arm64/include/asm/vdso/gettimeofday.h +++ b/arch/arm64/include/asm/vdso/gettimeofday.h @@ -83,11 +83,7 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode, */ isb(); asm volatile("mrs %0, cntvct_el0" : "=r" (res) :: "memory"); - /* - * This isb() is required to prevent that the seq lock is - * speculated.# - */ - isb(); + arch_counter_enforce_ordering(res); return res; } diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig index 65d05fc15038..b2eb9fd0368d 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -52,6 +52,7 @@ CONFIG_X86_X2APIC=y CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y CONFIG_NR_CPUS=32 +# CONFIG_X86_MCE is not set CONFIG_EFI=y CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="stack_depot_disable=on cgroup_disable=pressure cgroup.memory=nokmem" @@ -273,6 +274,7 @@ CONFIG_SCSI_UFSHCD_PLATFORM=y CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y CONFIG_SCSI_UFS_BSG=y CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_HPB=y CONFIG_MD=y CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y @@ -358,7 +360,6 @@ CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_CPU_THERMAL=y CONFIG_DEVFREQ_THERMAL=y CONFIG_THERMAL_EMULATION=y -# CONFIG_X86_PKG_TEMP_THERMAL is not set CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y CONFIG_MFD_SYSCON=y diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index eb2baf3b69b6..b17dedc68732 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -9313,7 +9313,7 @@ int ufshcd_alloc_host(struct device *dev, struct ufs_hba **hba_handle) } host = scsi_host_alloc(&ufshcd_driver_template, - sizeof(struct ufs_hba)); + sizeof(struct ufs_hba_with_hpb)); if (!host) { dev_err(dev, "scsi_host_alloc failed\n"); err = -ENOMEM; diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index f4d0fb6fdd97..c75c5cd7b973 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -912,7 +912,8 @@ struct ufs_hba { bool wb_enabled; struct delayed_work rpm_dev_flush_recheck_work; -#ifdef CONFIG_SCSI_UFS_HPB +#if 0 + /* This has been moved into struct ufs_hba_with_hpb. */ struct ufshpb_dev_info ufshpb_dev; #endif @@ -934,6 +935,17 @@ struct ufs_hba { ANDROID_KABI_RESERVE(4); }; +/* + * Compared to the upstream equivalent, @hpb_dev has been moved from struct + * ufs_hba into struct ufs_hba_with_hpb to satisfy the Android ABI checks. + */ +struct ufs_hba_with_hpb { + struct ufs_hba hba; +#ifdef CONFIG_SCSI_UFS_HPB + struct ufshpb_dev_info hpb_dev; +#endif +}; + /* Returns true if clocks can be gated. Otherwise false */ static inline bool ufshcd_is_clkgating_allowed(struct ufs_hba *hba) { diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c index cb4a34ae5be1..9755317c3301 100644 --- a/drivers/scsi/ufs/ufshpb.c +++ b/drivers/scsi/ufs/ufshpb.c @@ -35,15 +35,20 @@ static struct workqueue_struct *ufshpb_wq; static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx, int srgn_idx); +static inline struct ufshpb_dev_info *ufs_hba_to_hpb(struct ufs_hba *hba) +{ + return &container_of(hba, struct ufs_hba_with_hpb, hba)->hpb_dev; +} + bool ufshpb_is_allowed(struct ufs_hba *hba) { - return !(hba->ufshpb_dev.hpb_disabled); + return !(ufs_hba_to_hpb(hba)->hpb_disabled); } /* HPB version 1.0 is called as legacy version. */ bool ufshpb_is_legacy(struct ufs_hba *hba) { - return hba->ufshpb_dev.is_legacy; + return ufs_hba_to_hpb(hba)->is_legacy; } static struct ufshpb_lu *ufshpb_get_hpb_data(struct scsi_device *sdev) @@ -2743,8 +2748,7 @@ void ufshpb_init_hpb_lu(struct ufs_hba *hba, struct scsi_device *sdev) if (ret) goto out; - hpb = ufshpb_alloc_hpb_lu(hba, sdev, &hba->ufshpb_dev, - &hpb_lu_info); + hpb = ufshpb_alloc_hpb_lu(hba, sdev, ufs_hba_to_hpb(hba), &hpb_lu_info); if (!hpb) goto out; @@ -2753,7 +2757,7 @@ void ufshpb_init_hpb_lu(struct ufs_hba *hba, struct scsi_device *sdev) out: /* All LUs are initialized */ - if (atomic_dec_and_test(&hba->ufshpb_dev.slave_conf_cnt)) + if (atomic_dec_and_test(&ufs_hba_to_hpb(hba)->slave_conf_cnt)) ufshpb_hpb_lu_prepared(hba); } @@ -2810,7 +2814,7 @@ static int ufshpb_init_mem_wq(struct ufs_hba *hba) void ufshpb_get_geo_info(struct ufs_hba *hba, u8 *geo_buf) { - struct ufshpb_dev_info *hpb_info = &hba->ufshpb_dev; + struct ufshpb_dev_info *hpb_info = ufs_hba_to_hpb(hba); int max_active_rgns = 0; int hpb_num_lu; @@ -2836,7 +2840,7 @@ void ufshpb_get_geo_info(struct ufs_hba *hba, u8 *geo_buf) void ufshpb_get_dev_info(struct ufs_hba *hba, u8 *desc_buf) { - struct ufshpb_dev_info *hpb_dev_info = &hba->ufshpb_dev; + struct ufshpb_dev_info *hpb_dev_info = ufs_hba_to_hpb(hba); int version, ret; u32 max_hpb_single_cmd = HPB_MULTI_CHUNK_LOW; @@ -2873,7 +2877,7 @@ void ufshpb_get_dev_info(struct ufs_hba *hba, u8 *desc_buf) void ufshpb_init(struct ufs_hba *hba) { - struct ufshpb_dev_info *hpb_dev_info = &hba->ufshpb_dev; + struct ufshpb_dev_info *hpb_dev_info = ufs_hba_to_hpb(hba); int try; int ret; diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index c83fadd1bff9..9f3470b52ea7 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1924,13 +1924,9 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep) { struct dwc3_request *req; struct dwc3_request *tmp; - struct list_head local; struct dwc3 *dwc = dep->dwc; -restart: - list_replace_init(&dep->cancelled_list, &local); - - list_for_each_entry_safe(req, tmp, &local, list) { + list_for_each_entry_safe(req, tmp, &dep->cancelled_list, list) { dwc3_gadget_ep_skip_trbs(dep, req); switch (req->status) { case DWC3_REQUEST_STATUS_DISCONNECTED: @@ -1948,9 +1944,6 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep) break; } } - - if (!list_empty(&dep->cancelled_list)) - goto restart; } static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, @@ -3218,12 +3211,8 @@ static void dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep, { struct dwc3_request *req; struct dwc3_request *tmp; - struct list_head local; -restart: - list_replace_init(&dep->started_list, &local); - - list_for_each_entry_safe(req, tmp, &local, list) { + list_for_each_entry_safe(req, tmp, &dep->started_list, list) { int ret; ret = dwc3_gadget_ep_cleanup_completed_request(dep, event, @@ -3231,9 +3220,6 @@ static void dwc3_gadget_ep_cleanup_completed_requests(struct dwc3_ep *dep, if (ret) break; } - - if (!list_empty(&dep->started_list)) - goto restart; } static bool dwc3_gadget_ep_should_continue(struct dwc3_ep *dep) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 478163eebec9..97b8e1f556fa 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1324,6 +1324,23 @@ static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) uclamp_rq_dec_id(rq, p, clamp_id); } +static inline void uclamp_rq_reinc_id(struct rq *rq, struct task_struct *p, + enum uclamp_id clamp_id) +{ + if (!p->uclamp[clamp_id].active) + return; + + uclamp_rq_dec_id(rq, p, clamp_id); + uclamp_rq_inc_id(rq, p, clamp_id); + + /* + * Make sure to clear the idle flag if we've transiently reached 0 + * active tasks on rq. + */ + if (clamp_id == UCLAMP_MAX && (rq->uclamp_flags & UCLAMP_FLAG_IDLE)) + rq->uclamp_flags &= ~UCLAMP_FLAG_IDLE; +} + static inline void uclamp_update_active(struct task_struct *p) { @@ -1347,12 +1364,8 @@ uclamp_update_active(struct task_struct *p) * affecting a valid clamp bucket, the next time it's enqueued, * it will already see the updated clamp bucket value. */ - for_each_clamp_id(clamp_id) { - if (p->uclamp[clamp_id].active) { - uclamp_rq_dec_id(rq, p, clamp_id); - uclamp_rq_inc_id(rq, p, clamp_id); - } - } + for_each_clamp_id(clamp_id) + uclamp_rq_reinc_id(rq, p, clamp_id); task_rq_unlock(rq, p, &rf); } @@ -5887,6 +5900,16 @@ static int sched_copy_attr(struct sched_attr __user *uattr, struct sched_attr *a return -E2BIG; } +static void get_params(struct task_struct *p, struct sched_attr *attr) +{ + if (task_has_dl_policy(p)) + __getparam_dl(p, attr); + else if (task_has_rt_policy(p)) + attr->sched_priority = p->rt_priority; + else + attr->sched_nice = task_nice(p); +} + /** * sys_sched_setscheduler - set/change the scheduler policy and RT priority * @pid: the pid in question. @@ -5948,6 +5971,8 @@ SYSCALL_DEFINE3(sched_setattr, pid_t, pid, struct sched_attr __user *, uattr, rcu_read_unlock(); if (likely(p)) { + if (attr.sched_flags & SCHED_FLAG_KEEP_PARAMS) + get_params(p, &attr); retval = sched_setattr(p, &attr); put_task_struct(p); } @@ -6096,12 +6121,8 @@ SYSCALL_DEFINE4(sched_getattr, pid_t, pid, struct sched_attr __user *, uattr, kattr.sched_policy = p->policy; if (p->sched_reset_on_fork) kattr.sched_flags |= SCHED_FLAG_RESET_ON_FORK; - if (task_has_dl_policy(p)) - __getparam_dl(p, &kattr); - else if (task_has_rt_policy(p)) - kattr.sched_priority = p->rt_priority; - else - kattr.sched_nice = task_nice(p); + get_params(p, &kattr); + kattr.sched_flags &= SCHED_FLAG_ALL; #ifdef CONFIG_UCLAMP_TASK /* diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 18c5e1f25aae..e6e858588910 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2706,7 +2706,7 @@ void __setparam_dl(struct task_struct *p, const struct sched_attr *attr) dl_se->dl_runtime = attr->sched_runtime; dl_se->dl_deadline = attr->sched_deadline; dl_se->dl_period = attr->sched_period ?: dl_se->dl_deadline; - dl_se->flags = attr->sched_flags; + dl_se->flags = attr->sched_flags & SCHED_DL_FLAGS; dl_se->dl_bw = to_ratio(dl_se->dl_period, dl_se->dl_runtime); dl_se->dl_density = to_ratio(dl_se->dl_deadline, dl_se->dl_runtime); } @@ -2719,7 +2719,8 @@ void __getparam_dl(struct task_struct *p, struct sched_attr *attr) attr->sched_runtime = dl_se->dl_runtime; attr->sched_deadline = dl_se->dl_deadline; attr->sched_period = dl_se->dl_period; - attr->sched_flags = dl_se->flags; + attr->sched_flags &= ~SCHED_DL_FLAGS; + attr->sched_flags |= dl_se->flags; } /* @@ -2816,7 +2817,7 @@ bool dl_param_changed(struct task_struct *p, const struct sched_attr *attr) if (dl_se->dl_runtime != attr->sched_runtime || dl_se->dl_deadline != attr->sched_deadline || dl_se->dl_period != attr->sched_period || - dl_se->flags != attr->sched_flags) + dl_se->flags != (attr->sched_flags & SCHED_DL_FLAGS)) return true; return false; diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 3270d348c79d..518da844fe2a 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -228,6 +228,8 @@ static inline void update_avg(u64 *avg, u64 sample) */ #define SCHED_FLAG_SUGOV 0x10000000 +#define SCHED_DL_FLAGS (SCHED_FLAG_RECLAIM | SCHED_FLAG_DL_OVERRUN | SCHED_FLAG_SUGOV) + static inline bool dl_entity_is_special(struct sched_dl_entity *dl_se) { #ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL