From 44447dec6eff07fbcddac66d7b153928beb5005c Mon Sep 17 00:00:00 2001 From: Martin Liu Date: Thu, 14 Oct 2021 14:49:19 +0000 Subject: [PATCH 1/4] ANDROID: sched: move blocked reason trace point to cover all class Now, we only export CFS taks' blocked reasons but it's important and useful to know other class' blocked reasons such as RT tasks. Move the blocked reason trace point to where the scheduler core layer and before the task's state moves to the waking state. Thus, we could cover all the sched classes. Bug: 203080186 Test: check traces Signed-off-by: Martin Liu Change-Id: Ic61865642d852d0127cdcf474adf8c06e4c2d570 --- kernel/sched/core.c | 3 +++ kernel/sched/fair.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index adac9409fb2e..eaa1bc9adf1a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3116,6 +3116,9 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags)) goto unlock; + if (p->state & TASK_UNINTERRUPTIBLE) + trace_sched_blocked_reason(p); + #ifdef CONFIG_SMP /* * Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 6d004a085089..29f84c11acf9 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -999,7 +999,6 @@ 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 From 69c931581f4183be722e06e79c0bc7968b8d2a44 Mon Sep 17 00:00:00 2001 From: Liujie Xie Date: Fri, 8 Oct 2021 11:42:19 +0800 Subject: [PATCH 2/4] ANDROID: vendor_hooks: export hooks of mem_cgroup subsystem Forgot export hooks for driver, fix it. Fixes: 1cdcf76b1532ca80 ("ANDROID: vendor_hooks: add hooks in mem_cgroup subsystem") Bug: 192052083 Signed-off-by: Liujie Xie Change-Id: I79779406b4dab52ceca02bd5de909d3a0c127cb9 --- drivers/android/vendor_hooks.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 07c97e495629..423219ac6989 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -386,3 +386,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kmalloc_slab); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_offline); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_online); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc); From fc1f8e404741b13deaf3dc93c9aa4c46470555c0 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 16:26:24 +0800 Subject: [PATCH 3/4] ANDROID: GKI: rockchip: Enable symbols for display IF Add symbols for hdmi, dp, mipi. Leaf changes summary: 7 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 7 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 7 Added functions: [A] 'function void cec_queue_pin_hpd_event(cec_adapter*, bool, ktime_t)' [A] 'function int drm_dp_start_crc(drm_dp_aux*, drm_crtc*)' [A] 'function int drm_dp_stop_crc(drm_dp_aux*)' [A] 'function bool drm_mode_is_420(const drm_display_info*, const drm_display_mode*)' [A] 'function drm_connector* drm_panel_bridge_connector(drm_bridge*)' [A] 'function int drm_property_replace_global_blob(drm_device*, drm_property_blob**, unsigned long int, void*, drm_mode_object*, drm_property*)' [A] 'function void sha1_init(unsigned int*)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I51128354f85c9384b33e49282df54d0a018fad06 --- android/abi_gki_aarch64.xml | 44 ++++++++++++ android/abi_gki_aarch64_rockchip | 115 ++++++++++++++++++++++++++----- 2 files changed, 140 insertions(+), 19 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 7df9cac0fd66..67b187ae0a83 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -913,6 +913,7 @@ + @@ -1862,6 +1863,8 @@ + + @@ -2008,6 +2011,7 @@ + @@ -2044,6 +2048,7 @@ + @@ -2080,6 +2085,7 @@ + @@ -4307,6 +4313,7 @@ + @@ -118462,6 +118469,12 @@ + + + + + + @@ -123489,6 +123502,15 @@ + + + + + + + + + @@ -124225,6 +124247,11 @@ + + + + + @@ -124404,6 +124431,10 @@ + + + + @@ -124602,6 +124633,15 @@ + + + + + + + + + @@ -135956,6 +135996,10 @@ + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 6c4930b55133..6763edef48d7 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -222,22 +222,34 @@ down_write driver_unregister drm_add_edid_modes + drm_atomic_get_crtc_state + drm_atomic_get_new_connector_for_encoder + drm_atomic_helper_bridge_destroy_state + drm_atomic_helper_bridge_duplicate_state + drm_atomic_helper_bridge_reset drm_atomic_helper_connector_destroy_state drm_atomic_helper_connector_duplicate_state drm_atomic_helper_connector_reset + drm_bridge_add + drm_bridge_attach + drm_bridge_remove drm_compat_ioctl drm_connector_attach_encoder drm_connector_cleanup drm_connector_init + drm_connector_init_with_ddc drm_connector_update_edid_property __drm_dbg drm_detect_hdmi_monitor + drm_detect_monitor_audio drm_dev_alloc drm_dev_dbg + drm_dev_printk drm_dev_put drm_dev_register drm_dev_unregister drm_display_info_set_bus_formats + drm_dp_bw_code_to_link_rate __drm_err drm_gem_dumb_map_offset drm_gem_handle_create @@ -252,17 +264,24 @@ drm_gem_vm_close drm_get_edid drm_hdmi_avi_infoframe_from_display_mode + drm_hdmi_vendor_infoframe_from_display_mode drm_helper_hpd_irq_event drm_helper_probe_single_connector_modes drm_ioctl + drm_match_cea_mode drm_mode_copy drm_mode_create drm_mode_duplicate drm_mode_probed_add drm_mode_set_name drm_mode_vrefresh + drm_object_attach_property + drm_of_find_panel_or_bridge drm_open drm_panel_disable + drm_panel_enable + drm_panel_get_modes + drm_panel_prepare drm_panel_unprepare drm_poll drm_prime_gem_destroy @@ -456,6 +475,8 @@ of_get_parent of_get_property of_get_regulator_init_data + of_graph_get_remote_node + of_graph_parse_endpoint of_iomap of_irq_get_byname of_machine_is_compatible @@ -481,6 +502,7 @@ param_ops_uint __per_cpu_offset pfn_valid + phy_configure phy_exit phy_init phy_power_off @@ -738,6 +760,15 @@ # required by aes-ce-ccm.ko ce_aes_expandkey +# required by analogix_dp.ko + drm_dp_aux_register + drm_dp_aux_unregister + drm_dp_dpcd_read + drm_dp_dpcd_write + drm_dp_start_crc + drm_dp_stop_crc + irq_modify_status + # required by ch.ko param_array_ops scsi_device_lookup @@ -834,6 +865,66 @@ regmap_raw_read regmap_raw_write +# required by dw-hdmi-cec.ko + cec_allocate_adapter + cec_delete_adapter + cec_notifier_cec_adap_register + cec_notifier_cec_adap_unregister + cec_received_msg_ts + cec_register_adapter + cec_transmit_attempt_done_ts + cec_unregister_adapter + devm_remove_action + +# required by dw-hdmi-hdcp.ko + device_create_file + device_remove_file + kstrtobool + misc_deregister + misc_register + sha1_init + sha1_transform + +# required by dw-hdmi.ko + bcmp + cancel_delayed_work + cec_fill_conn_info_from_drm + cec_notifier_conn_register + cec_notifier_conn_unregister + cec_notifier_set_phys_addr + cec_notifier_set_phys_addr_from_edid + cec_queue_pin_hpd_event + drm_bridge_hpd_notify + drm_connector_attach_max_bpc_property + drm_default_rgb_quant_range + drm_hdmi_avi_infoframe_quant_range + drm_hdmi_infoframe_set_hdr_metadata + drm_mode_is_420_also + drm_mode_is_420_only + drm_property_replace_global_blob + drm_scdc_read + drm_scdc_set_high_tmds_clock_ratio + drm_scdc_set_scrambling + drm_scdc_write + extcon_set_property_capability + hdmi_drm_infoframe_pack + hdmi_vendor_infoframe_pack + mod_delayed_work_on + of_get_i2c_adapter_by_node + +# required by dw-mipi-dsi.ko + debugfs_attr_read + debugfs_attr_write + drm_panel_bridge_add_typed + drm_panel_bridge_connector + drm_panel_bridge_remove + mipi_dsi_create_packet + mipi_dsi_host_register + mipi_dsi_host_unregister + of_drm_find_bridge + simple_attr_open + simple_attr_release + # required by dw_mmc-rockchip.ko clk_get_phase mmc_send_tuning @@ -1243,9 +1334,6 @@ strcasecmp usb_add_phy -# required by phy-rockchip-mipi-rx.ko - of_graph_get_remote_node - # required by phy-rockchip-usb.ko __of_reset_control_get @@ -1453,7 +1541,6 @@ drm_add_modes_noedid drm_atomic_commit drm_atomic_get_connector_state - drm_atomic_get_crtc_state drm_atomic_get_plane_state drm_atomic_helper_check drm_atomic_helper_check_plane_state @@ -1485,8 +1572,6 @@ drm_atomic_set_mode_for_crtc drm_atomic_state_alloc __drm_atomic_state_free - drm_bridge_attach - drm_connector_init_with_ddc drm_connector_list_iter_begin drm_connector_list_iter_end drm_connector_list_iter_next @@ -1503,10 +1588,7 @@ drm_crtc_vblank_on drm_crtc_vblank_put drm_debugfs_create_files - drm_detect_monitor_audio - drm_dev_printk drm_do_get_edid - drm_dp_bw_code_to_link_rate drm_dp_channel_eq_ok drm_encoder_cleanup drm_encoder_init @@ -1537,13 +1619,11 @@ drm_gem_unmap_dma_buf drm_get_format_info drm_get_format_name - drm_hdmi_vendor_infoframe_from_display_mode drm_helper_mode_fill_fb_struct drm_kms_helper_hotplug_event drm_kms_helper_poll_enable drm_kms_helper_poll_fini drm_kms_helper_poll_init - drm_match_cea_mode drm_mm_init drm_mm_insert_node_in_range drmm_mode_config_init @@ -1557,6 +1637,7 @@ drm_mode_create_tv_properties drm_mode_crtc_set_gamma_size drm_mode_debug_printmodeline + drm_mode_is_420 drm_mode_object_get drm_mode_object_put drm_mode_prune_invalid @@ -1567,13 +1648,8 @@ drm_mode_validate_driver drm_mode_validate_size drm_mode_validate_ycbcr420 - drm_object_attach_property drm_of_crtc_port_mask drm_of_encoder_active_endpoint - drm_of_find_panel_or_bridge - drm_panel_enable - drm_panel_get_modes - drm_panel_prepare drm_plane_cleanup drm_plane_create_alpha_property drm_plane_create_blend_mode_property @@ -1581,9 +1657,12 @@ drm_plane_create_zpos_property drm_prime_get_contiguous_size __drm_printfn_seq_file + drm_property_create drm_property_create_bitmask + drm_property_create_enum drm_property_create_object drm_property_create_range + drm_property_destroy __drm_puts_seq_file drm_send_event_locked drm_simple_encoder_init @@ -1604,6 +1683,7 @@ of_graph_get_port_by_id of_graph_get_remote_port of_graph_get_remote_port_parent + phy_mipi_dphy_get_default_config platform_find_device_by_driver __platform_register_drivers platform_unregister_drivers @@ -1681,12 +1761,9 @@ irq_stat # required by sii902x.ko - drm_bridge_add - drm_bridge_remove drm_display_mode_to_videomode hdmi_audio_infoframe_pack hdmi_avi_infoframe_pack - of_graph_parse_endpoint of_property_read_variable_u8_array # required by snd-soc-cx2072x.ko From 9c78b0eb03b7bef21b84c7b52e0090ab41840644 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 11 Oct 2021 16:54:10 +0800 Subject: [PATCH 4/4] ANDROID: GKI: rockchip: Enable symbol for rkcif Leaf changes summary: 1 artifact changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 1 Added function: [A] 'function int media_entity_setup_link(media_link*, u32)' Bug: 194515348 Signed-off-by: Kever Yang Change-Id: I213dd740d5fde81e78f3c51b55adad99a713cbf1 --- android/abi_gki_aarch64.xml | 27 ++----- android/abi_gki_aarch64_rockchip | 121 ++++++++++++++++--------------- 2 files changed, 69 insertions(+), 79 deletions(-) diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 67b187ae0a83..7142911bdc25 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -2993,6 +2993,7 @@ + @@ -80964,9 +80965,6 @@ - - - @@ -89747,9 +89745,6 @@ - - - @@ -102800,20 +102795,7 @@ - - - - - - - - - - - - - - + @@ -129350,6 +129332,11 @@ + + + + + diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip index 6763edef48d7..d2a2cad1d6cf 100644 --- a/android/abi_gki_aarch64_rockchip +++ b/android/abi_gki_aarch64_rockchip @@ -12,7 +12,9 @@ arm64_const_caps_ready arm64_use_ng_mappings __arm_smccc_smc + atomic_notifier_call_chain atomic_notifier_chain_register + atomic_notifier_chain_unregister bdget_disk bdput __bitmap_set @@ -400,6 +402,7 @@ __kfifo_alloc __kfifo_free __kfifo_in + __kfifo_out kfree kfree_const __kmalloc @@ -431,8 +434,17 @@ __log_write_mmio lzo1x_decompress_safe media_create_pad_link + media_device_init + __media_device_register + media_device_unregister media_entity_pads_init media_entity_remote_pad + media_graph_walk_cleanup + media_graph_walk_init + media_graph_walk_next + media_graph_walk_start + media_pipeline_start + media_pipeline_stop memcpy memdup_user memset @@ -499,7 +511,9 @@ panic_notifier_list param_ops_bool param_ops_int + param_ops_string param_ops_uint + PDE_DATA __per_cpu_offset pfn_valid phy_configure @@ -547,6 +561,7 @@ prepare_to_wait_event print_hex_dump printk + proc_create_data put_device put_disk __put_page @@ -558,9 +573,11 @@ ___ratelimit rational_best_approximation _raw_spin_lock + _raw_spin_lock_bh _raw_spin_lock_irq _raw_spin_lock_irqsave _raw_spin_unlock + _raw_spin_unlock_bh _raw_spin_unlock_irq _raw_spin_unlock_irqrestore rdev_get_drvdata @@ -598,6 +615,7 @@ regulator_set_voltage_sel_regmap regulator_set_voltage_time_sel remap_pfn_range + remove_proc_entry reset_control_assert reset_control_deassert revalidate_disk_size @@ -666,6 +684,7 @@ strlcpy strlen strncmp + strncpy strnlen strscpy strstr @@ -699,6 +718,7 @@ uuid_null v4l2_async_notifier_cleanup v4l2_async_notifier_init + v4l2_async_notifier_register v4l2_async_register_subdev v4l2_async_subdev_notifier_register v4l2_async_unregister_subdev @@ -709,15 +729,54 @@ v4l2_ctrl_handler_setup v4l2_ctrl_new_std v4l2_ctrl_new_std_menu_items + v4l2_device_register + v4l2_device_register_subdev + __v4l2_device_register_subdev_nodes + v4l2_device_unregister + v4l2_device_unregister_subdev + v4l2_event_queue + v4l2_event_subdev_unsubscribe + v4l2_event_subscribe + v4l2_fh_open v4l2_i2c_subdev_init + v4l2_pipeline_pm_get + v4l2_pipeline_pm_put v4l2_querymenu v4l2_subdev_call_wrappers v4l2_subdev_init + v4l2_subdev_link_validate + v4l2_type_names vabits_actual + vb2_buffer_done vb2_common_vm_ops vb2_create_framevec vb2_destroy_framevec + vb2_dma_contig_memops + vb2_fop_mmap + vb2_fop_poll + vb2_fop_release + vb2_ioctl_create_bufs + vb2_ioctl_dqbuf + vb2_ioctl_expbuf + vb2_ioctl_prepare_buf + vb2_ioctl_qbuf + vb2_ioctl_querybuf + vb2_ioctl_reqbufs + vb2_ioctl_streamoff + vb2_ioctl_streamon + vb2_ops_wait_finish + vb2_ops_wait_prepare + vb2_plane_cookie + vb2_plane_vaddr + vb2_queue_init + vb2_queue_release + vb2_vmalloc_memops vfree + video_devdata + video_device_release_empty + video_ioctl2 + __video_register_device + video_unregister_device vmalloc vmap vm_get_page_prot @@ -945,8 +1004,6 @@ mmc_regulator_set_vqmmc mmc_remove_host mmc_request_done - _raw_spin_lock_bh - _raw_spin_unlock_bh sdio_signal_irq sg_miter_next sg_miter_start @@ -1106,7 +1163,6 @@ devm_gpio_request_one # required by ledtrig-heartbeat.ko - atomic_notifier_chain_unregister avenrun # required by lzo-rle.ko @@ -1330,7 +1386,6 @@ wakeup_source_remove # required by phy-rockchip-inno-usb3.ko - atomic_notifier_call_chain strcasecmp usb_add_phy @@ -1854,7 +1909,6 @@ power_supply_register power_supply_unregister strncasecmp - strncpy # required by tps65132-regulator.ko regulator_set_active_discharge_regmap @@ -1873,70 +1927,19 @@ v4l2_async_notifier_add_subdev v4l2_async_notifier_unregister +# required by video_rkcif.ko + media_entity_setup_link + # required by video_rkisp.ko - __kfifo_out kmalloc_order_trace media_device_cleanup - media_device_init - __media_device_register - media_device_unregister - media_graph_walk_cleanup - media_graph_walk_init - media_graph_walk_next - media_graph_walk_start - media_pipeline_start - media_pipeline_stop __memcpy_fromio __memcpy_toio of_property_read_u64 - param_ops_string param_ops_ullong - PDE_DATA - proc_create_data - remove_proc_entry - v4l2_async_notifier_register v4l2_ctrl_g_ctrl_int64 - v4l2_device_register - v4l2_device_register_subdev - __v4l2_device_register_subdev_nodes - v4l2_device_unregister - v4l2_device_unregister_subdev - v4l2_event_queue - v4l2_event_subdev_unsubscribe - v4l2_event_subscribe v4l2_event_unsubscribe - v4l2_fh_open v4l2_pipeline_link_notify - v4l2_pipeline_pm_get - v4l2_pipeline_pm_put - v4l2_subdev_link_validate - v4l2_type_names - vb2_buffer_done - vb2_dma_contig_memops - vb2_fop_mmap - vb2_fop_poll - vb2_fop_release - vb2_ioctl_create_bufs - vb2_ioctl_dqbuf - vb2_ioctl_expbuf - vb2_ioctl_prepare_buf - vb2_ioctl_qbuf - vb2_ioctl_querybuf - vb2_ioctl_reqbufs - vb2_ioctl_streamoff - vb2_ioctl_streamon - vb2_ops_wait_finish - vb2_ops_wait_prepare - vb2_plane_cookie - vb2_plane_vaddr - vb2_queue_init - vb2_queue_release - vb2_vmalloc_memops - video_devdata - video_device_release_empty - video_ioctl2 - __video_register_device - video_unregister_device # required by videobuf2-dma-sg.ko split_page