Merge branch 'android12-5.10' into android12-5.10-lts

Sync up with android12-5.10 for the following commits:

e41c993723 ANDROID: scsi: ufs: Enable CONFIG_SCSI_UFS_HPB
82b96336e5 ANDROID: scsi: ufs: Make CONFIG_SCSI_UFS_HPB compatible with the GKI
b2cbc7e5aa UPSTREAM: arm64: vdso: Avoid ISB after reading from cntvct_el0
a1a3544a4c ANDROID: GKI: Disable X86_MCE drivers
23db10c83f ANDROID: GKI: Update symbols to symbol list
e06796855d ANDROID: ABI: update allowed list for exynos
bfc334cc0b FROMGIT: sched: Skip priority checks with SCHED_FLAG_KEEP_PARAMS
aaf62dc816 FROMGIT: sched: Don't report SCHED_FLAG_SUGOV in sched_getattr()
4bb5a5c55b FROMGIT: sched/deadline: Fix reset_on_fork reporting of DL tasks
ac42699756 BACKPORT: FROMGIT: sched: Fix UCLAMP_FLAG_IDLE setting
d479d97cb7 FROMGIT: Revert "usb: dwc3: gadget: Use list_replace_init() before traversing lists"
9520a2129f ANDROID: ABI: Update allowed list for galaxy

Change-Id: I159116a65fc0609488dd834dcbcaf5cffbb35bad
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2021-08-12 14:19:46 +02:00
16 changed files with 897 additions and 87 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -643,6 +643,7 @@
drm_get_format_name drm_get_format_name
drm_handle_vblank drm_handle_vblank
drm_hdmi_avi_infoframe_from_display_mode drm_hdmi_avi_infoframe_from_display_mode
drm_hdmi_infoframe_set_hdr_metadata
drm_helper_connector_dpms drm_helper_connector_dpms
drm_helper_disable_unused_functions drm_helper_disable_unused_functions
drm_helper_force_disable_all drm_helper_force_disable_all
@@ -842,6 +843,7 @@
gpiod_get_raw_value gpiod_get_raw_value
gpiod_get_raw_value_cansleep gpiod_get_raw_value_cansleep
gpiod_set_raw_value gpiod_set_raw_value
gpiod_set_raw_value_cansleep
gpiod_set_value gpiod_set_value
gpiod_set_value_cansleep gpiod_set_value_cansleep
gpiod_to_irq gpiod_to_irq
@@ -858,6 +860,7 @@
handle_simple_irq handle_simple_irq
handle_sysrq handle_sysrq
hdmi_avi_infoframe_pack hdmi_avi_infoframe_pack
hdmi_drm_infoframe_pack_only
hex_dump_to_buffer hex_dump_to_buffer
hmm_range_fault hmm_range_fault
housekeeping_cpumask housekeeping_cpumask
@@ -1338,6 +1341,7 @@
pcie_get_speed_cap pcie_get_speed_cap
pci_enable_atomic_ops_to_root pci_enable_atomic_ops_to_root
pci_enable_device pci_enable_device
pci_enable_pcie_error_reporting
pci_enable_wake pci_enable_wake
pci_find_bus pci_find_bus
pci_find_capability pci_find_capability
@@ -1705,6 +1709,7 @@
snd_pcm_format_width snd_pcm_format_width
snd_pcm_hw_constraint_integer snd_pcm_hw_constraint_integer
snd_pcm_hw_constraint_list snd_pcm_hw_constraint_list
snd_pcm_hw_constraint_mask64
snd_pcm_lib_free_pages snd_pcm_lib_free_pages
snd_pcm_lib_ioctl snd_pcm_lib_ioctl
snd_pcm_lib_malloc_pages snd_pcm_lib_malloc_pages
@@ -1822,6 +1827,7 @@
strlen strlen
strncasecmp strncasecmp
strncat strncat
strnchr
strncmp strncmp
strncpy strncpy
strnlen strnlen
@@ -2244,6 +2250,7 @@
__wake_up_locked_key __wake_up_locked_key
wake_up_process wake_up_process
wakeup_source_add wakeup_source_add
wakeup_source_destroy
wakeup_source_register wakeup_source_register
wakeup_source_unregister wakeup_source_unregister
__wake_up_sync __wake_up_sync

View File

@@ -223,6 +223,117 @@ __tasklet_schedule
__trace_bprintk __trace_bprintk
__trace_bputs __trace_bputs
__trace_printk __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_clock_set_rate
__traceiter_cpu_frequency __traceiter_cpu_frequency
__traceiter_dma_fence_emit __traceiter_dma_fence_emit
@@ -241,6 +352,9 @@ __tracepoint_android_rvh_cpu_cgroup_online
__tracepoint_android_rvh_cpu_overutilized __tracepoint_android_rvh_cpu_overutilized
__tracepoint_android_rvh_cpufreq_transition __tracepoint_android_rvh_cpufreq_transition
__tracepoint_android_rvh_dequeue_task __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_enqueue_task
__tracepoint_android_rvh_find_busiest_queue __tracepoint_android_rvh_find_busiest_queue
__tracepoint_android_rvh_find_energy_efficient_cpu __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_disable
__tracepoint_android_rvh_preempt_enable __tracepoint_android_rvh_preempt_enable
__tracepoint_android_rvh_replace_next_task_fair __tracepoint_android_rvh_replace_next_task_fair
__tracepoint_android_rvh_report_bug
__tracepoint_android_rvh_resume_cpus __tracepoint_android_rvh_resume_cpus
__tracepoint_android_rvh_sched_balance_rt __tracepoint_android_rvh_sched_balance_rt
__tracepoint_android_rvh_sched_cpu_dying __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_ftrace_size_check
__tracepoint_android_vh_iommu_setup_dma_ops __tracepoint_android_vh_iommu_setup_dma_ops
__tracepoint_android_vh_ipi_stop __tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_android_vh_jiffies_update __tracepoint_android_vh_jiffies_update
__tracepoint_android_vh_kfree_skb __tracepoint_android_vh_kfree_skb
__tracepoint_android_vh_logbuf __tracepoint_android_vh_logbuf
__tracepoint_android_vh_logbuf_pr_cont
__tracepoint_android_vh_meminfo_proc_show __tracepoint_android_vh_meminfo_proc_show
__tracepoint_android_vh_pagecache_get_page __tracepoint_android_vh_pagecache_get_page
__tracepoint_android_vh_printk_hotplug __tracepoint_android_vh_printk_hotplug
@@ -318,6 +435,7 @@ __tracepoint_android_vh_ptype_head
__tracepoint_android_vh_rmqueue __tracepoint_android_vh_rmqueue
__tracepoint_android_vh_scheduler_tick __tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_show_max_freq __tracepoint_android_vh_show_max_freq
__tracepoint_android_vh_show_mem
__tracepoint_android_vh_show_resume_epoch_val __tracepoint_android_vh_show_resume_epoch_val
__tracepoint_android_vh_show_suspend_epoch_val __tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_timer_calc_index __tracepoint_android_vh_timer_calc_index
@@ -607,6 +725,7 @@ blk_sync_queue
blk_unregister_region blk_unregister_region
blk_update_request blk_update_request
blk_verify_command blk_verify_command
blkdev_fsync
blkdev_get_by_dev blkdev_get_by_dev
blkdev_get_by_path blkdev_get_by_path
blkdev_issue_flush blkdev_issue_flush
@@ -635,6 +754,7 @@ bpf_trace_run9
bpf_warn_invalid_xdp_action bpf_warn_invalid_xdp_action
bsearch bsearch
bt_err bt_err
bt_info
build_skb build_skb
bus_find_device bus_find_device
bus_for_each_dev bus_for_each_dev
@@ -680,6 +800,7 @@ class_destroy
class_find_device class_find_device
class_for_each_device class_for_each_device
class_interface_unregister class_interface_unregister
class_remove_file_ns
class_unregister class_unregister
cleancache_register_ops cleancache_register_ops
cleanup_srcu_struct cleanup_srcu_struct
@@ -814,6 +935,7 @@ cpufreq_table_index_unsorted
cpufreq_this_cpu_can_update cpufreq_this_cpu_can_update
cpufreq_unregister_driver cpufreq_unregister_driver
cpufreq_unregister_notifier cpufreq_unregister_notifier
cpufreq_update_policy
cpuhp_tasks_frozen cpuhp_tasks_frozen
cpuidle_governor_latency_req cpuidle_governor_latency_req
cpuidle_register_governor cpuidle_register_governor
@@ -827,6 +949,7 @@ cpus_read_unlock
crc32_le crc32_le
crc8 crc8
crc8_populate_msb crc8_populate_msb
create_function_device
crypto_aead_encrypt crypto_aead_encrypt
crypto_aead_setauthsize crypto_aead_setauthsize
crypto_aead_setkey crypto_aead_setkey
@@ -1438,6 +1561,7 @@ drm_dp_update_payload_part1
drm_dp_update_payload_part2 drm_dp_update_payload_part2
drm_edid_block_valid drm_edid_block_valid
drm_edid_duplicate drm_edid_duplicate
drm_edid_get_monitor_name
drm_edid_header_is_valid drm_edid_header_is_valid
drm_edid_is_valid drm_edid_is_valid
drm_edid_to_sad drm_edid_to_sad
@@ -1714,6 +1838,7 @@ fasync_helper
fd_install fd_install
fget fget
file_path file_path
file_ra_state_init
filp_close filp_close
filp_open_block filp_open_block
find_get_pid find_get_pid
@@ -1726,6 +1851,7 @@ find_vma
find_vpid find_vpid
finish_wait finish_wait
firmware_request_nowarn firmware_request_nowarn
fixed_size_llseek
flow_keys_basic_dissector flow_keys_basic_dissector
flush_dcache_page flush_dcache_page
flush_delayed_work flush_delayed_work
@@ -1783,9 +1909,12 @@ gen_pool_virt_to_phys
generic_delete_inode generic_delete_inode
generic_device_group generic_device_group
generic_file_llseek generic_file_llseek
generic_file_read_iter
generic_handle_irq generic_handle_irq
generic_iommu_put_resv_regions generic_iommu_put_resv_regions
generic_mii_ioctl generic_mii_ioctl
generic_perform_write
generic_write_checks
genl_notify genl_notify
genl_register_family genl_register_family
genl_unregister_family genl_unregister_family
@@ -1805,6 +1934,7 @@ get_pid_task
get_random_bytes get_random_bytes
get_random_bytes_arch get_random_bytes_arch
get_random_u32 get_random_u32
get_random_u64
get_sg_io_hdr get_sg_io_hdr
get_state_synchronize_rcu get_state_synchronize_rcu
get_task_exe_file get_task_exe_file
@@ -1839,6 +1969,7 @@ gpio_request_one
gpio_to_desc gpio_to_desc
gpiochip_add_data_with_key gpiochip_add_data_with_key
gpiochip_add_pin_range gpiochip_add_pin_range
gpiochip_find
gpiochip_generic_config gpiochip_generic_config
gpiochip_generic_free gpiochip_generic_free
gpiochip_generic_request gpiochip_generic_request
@@ -1848,6 +1979,7 @@ gpiochip_lock_as_irq
gpiochip_populate_parent_fwspec_fourcell gpiochip_populate_parent_fwspec_fourcell
gpiochip_remove gpiochip_remove
gpiochip_unlock_as_irq gpiochip_unlock_as_irq
gpiod_cansleep
gpiod_count gpiod_count
gpiod_direction_input gpiod_direction_input
gpiod_direction_output gpiod_direction_output
@@ -1863,6 +1995,7 @@ gpiod_set_raw_value
gpiod_set_raw_value_cansleep gpiod_set_raw_value_cansleep
gpiod_set_value gpiod_set_value
gpiod_set_value_cansleep gpiod_set_value_cansleep
gpiod_to_chip
gpiod_to_irq gpiod_to_irq
gro_cells_destroy gro_cells_destroy
gro_cells_init gro_cells_init
@@ -1918,6 +2051,7 @@ i2c_adapter_type
i2c_add_adapter i2c_add_adapter
i2c_add_numbered_adapter i2c_add_numbered_adapter
i2c_bit_add_bus i2c_bit_add_bus
i2c_bit_add_numbered_bus
i2c_bus_type i2c_bus_type
i2c_client_type i2c_client_type
i2c_del_adapter i2c_del_adapter
@@ -1998,6 +2132,7 @@ iio_device_free
iio_device_unregister iio_device_unregister
iio_push_to_buffers iio_push_to_buffers
iio_read_channel_processed iio_read_channel_processed
iio_read_channel_raw
import_iovec import_iovec
in4_pton in4_pton
in6_pton in6_pton
@@ -2098,6 +2233,7 @@ iommu_unmap
iommu_unregister_device_fault_handler iommu_unregister_device_fault_handler
iounmap iounmap
iov_iter_bvec iov_iter_bvec
iov_iter_kvec
ip_compute_csum ip_compute_csum
ip_send_check ip_send_check
ipi_desc_get ipi_desc_get
@@ -2202,6 +2338,8 @@ kmem_cache_destroy
kmem_cache_free kmem_cache_free
kmemdup kmemdup
kmemdup_nul kmemdup_nul
kmsg_dump_get_line
kmsg_dump_rewind
kobj_sysfs_ops kobj_sysfs_ops
kobject_add kobject_add
kobject_create_and_add kobject_create_and_add
@@ -2443,6 +2581,7 @@ mutex_lock_interruptible
mutex_trylock mutex_trylock
mutex_trylock_recursive mutex_trylock_recursive
mutex_unlock mutex_unlock
name_to_dev_t
names_cachep names_cachep
napi_complete_done napi_complete_done
napi_consume_skb napi_consume_skb
@@ -2482,6 +2621,7 @@ netif_set_real_num_tx_queues
netif_stacked_transfer_operstate netif_stacked_transfer_operstate
netif_tx_stop_all_queues netif_tx_stop_all_queues
netif_tx_wake_queue netif_tx_wake_queue
netlink_ack
netlink_broadcast netlink_broadcast
netlink_capable netlink_capable
netlink_has_listeners netlink_has_listeners
@@ -2555,6 +2695,7 @@ of_dma_controller_register
of_dma_is_coherent of_dma_is_coherent
of_drm_find_bridge of_drm_find_bridge
of_drm_find_panel of_drm_find_panel
of_find_all_nodes
of_find_compatible_node of_find_compatible_node
of_find_device_by_node of_find_device_by_node
of_find_i2c_adapter_by_node of_find_i2c_adapter_by_node
@@ -2834,6 +2975,7 @@ pinctrl_utils_free_map
pipe_lock pipe_lock
pipe_unlock pipe_unlock
pktgen_xfrm_outer_mode_output pktgen_xfrm_outer_mode_output
platform_add_devices
platform_bus_type platform_bus_type
platform_device_add platform_device_add
platform_device_add_data platform_device_add_data
@@ -2934,6 +3076,8 @@ ps2_init
ps2_sendbyte ps2_sendbyte
ps2_sliced_command ps2_sliced_command
pskb_expand_head pskb_expand_head
pstore_register
pstore_unregister
put_device put_device
put_disk put_disk
put_iova_domain put_iova_domain
@@ -4177,6 +4321,7 @@ vchan_init
vchan_tx_desc_free vchan_tx_desc_free
vchan_tx_submit vchan_tx_submit
vfree vfree
vfs_fsync_range
video_devdata video_devdata
video_device_alloc video_device_alloc
video_device_release video_device_release

View File

@@ -69,9 +69,9 @@
blocking_notifier_call_chain blocking_notifier_call_chain
blocking_notifier_chain_register blocking_notifier_chain_register
blocking_notifier_chain_unregister blocking_notifier_chain_unregister
bpf_trace_run1
bpf_trace_run10 bpf_trace_run10
bpf_trace_run12 bpf_trace_run12
bpf_trace_run1
bpf_trace_run2 bpf_trace_run2
bpf_trace_run3 bpf_trace_run3
bpf_trace_run4 bpf_trace_run4
@@ -231,6 +231,7 @@
crc8 crc8
crc8_populate_msb crc8_populate_msb
crypto_alloc_base crypto_alloc_base
crypto_alloc_shash
crypto_comp_compress crypto_comp_compress
crypto_comp_decompress crypto_comp_decompress
crypto_destroy_tfm crypto_destroy_tfm
@@ -238,6 +239,7 @@
crypto_register_alg crypto_register_alg
crypto_register_rngs crypto_register_rngs
crypto_register_scomp crypto_register_scomp
crypto_shash_digest
crypto_unregister_alg crypto_unregister_alg
crypto_unregister_rngs crypto_unregister_rngs
crypto_unregister_scomp crypto_unregister_scomp
@@ -682,6 +684,7 @@
idr_replace idr_replace
iio_channel_get iio_channel_get
iio_channel_get_all iio_channel_get_all
iio_channel_release
iio_read_channel_processed iio_read_channel_processed
import_iovec import_iovec
inc_node_page_state inc_node_page_state
@@ -939,8 +942,8 @@
mempool_free mempool_free
mempool_free_slab mempool_free_slab
memremap memremap
memset
memset64 memset64
memset
__memset_io __memset_io
memstart_addr memstart_addr
memunmap memunmap
@@ -976,8 +979,8 @@
netlink_unicast netlink_unicast
nla_find nla_find
nla_put nla_put
nla_reserve
nla_reserve_64bit nla_reserve_64bit
nla_reserve
__nla_validate __nla_validate
__nlmsg_put __nlmsg_put
no_llseek no_llseek
@@ -1237,9 +1240,11 @@
proc_douintvec_minmax proc_douintvec_minmax
proc_mkdir proc_mkdir
proc_remove proc_remove
proc_symlink
proto_register proto_register
proto_unregister proto_unregister
__pskb_pull_tail __pskb_pull_tail
public_key_verify_signature
putback_movable_pages putback_movable_pages
put_device put_device
put_disk put_disk
@@ -1464,6 +1469,7 @@
sdhci_pltfm_free sdhci_pltfm_free
sdhci_pltfm_init sdhci_pltfm_init
sdhci_remove_host sdhci_remove_host
sdhci_request
sdhci_reset sdhci_reset
sdhci_set_bus_width sdhci_set_bus_width
sdhci_set_power_noreg sdhci_set_power_noreg
@@ -1504,6 +1510,7 @@
simple_attr_release simple_attr_release
simple_open simple_open
simple_read_from_buffer simple_read_from_buffer
simple_strtol
simple_strtoul simple_strtoul
simple_write_to_buffer simple_write_to_buffer
single_open single_open
@@ -1616,6 +1623,7 @@
syscon_node_to_regmap syscon_node_to_regmap
syscon_regmap_lookup_by_phandle syscon_regmap_lookup_by_phandle
sysctl_sched_features sysctl_sched_features
sysctl_sched_latency
sysctl_vals sysctl_vals
sysfs_add_file_to_group sysfs_add_file_to_group
sysfs_add_link_to_group sysfs_add_link_to_group
@@ -1651,6 +1659,7 @@
task_may_not_preempt task_may_not_preempt
__task_pid_nr_ns __task_pid_nr_ns
__task_rq_lock __task_rq_lock
task_rq_lock
thermal_cooling_device_register thermal_cooling_device_register
thermal_cooling_device_unregister thermal_cooling_device_unregister
thermal_of_cooling_device_register thermal_of_cooling_device_register
@@ -1694,6 +1703,8 @@
__traceiter_android_rvh_gic_v3_set_affinity __traceiter_android_rvh_gic_v3_set_affinity
__traceiter_android_rvh_migrate_queued_task __traceiter_android_rvh_migrate_queued_task
__traceiter_android_rvh_new_task_stats __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_replace_next_task_fair
__traceiter_android_rvh_resume_cpus __traceiter_android_rvh_resume_cpus
__traceiter_android_rvh_sched_cpu_dying __traceiter_android_rvh_sched_cpu_dying
@@ -1720,9 +1731,15 @@
__traceiter_android_rvh_update_misfit_status __traceiter_android_rvh_update_misfit_status
__traceiter_android_rvh_wake_up_new_task __traceiter_android_rvh_wake_up_new_task
__traceiter_android_vh_allow_domain_state __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_restore_priority
__traceiter_android_vh_binder_set_priority __traceiter_android_vh_binder_set_priority
__traceiter_android_vh_binder_wait_for_work
__traceiter_android_vh_binder_wakeup_ilocked __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_enter
__traceiter_android_vh_cpu_idle_exit __traceiter_android_vh_cpu_idle_exit
__traceiter_android_vh_ftrace_dump_buffer __traceiter_android_vh_ftrace_dump_buffer
@@ -1735,11 +1752,17 @@
__traceiter_android_vh_ipi_stop __traceiter_android_vh_ipi_stop
__traceiter_android_vh_jiffies_update __traceiter_android_vh_jiffies_update
__traceiter_android_vh_logbuf __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_printk_hotplug
__traceiter_android_vh_rwsem_wake
__traceiter_android_vh_rwsem_wake_finish
__traceiter_android_vh_scheduler_tick __traceiter_android_vh_scheduler_tick
__traceiter_android_vh_show_max_freq __traceiter_android_vh_show_max_freq
__traceiter_android_vh_show_resume_epoch_val __traceiter_android_vh_show_resume_epoch_val
__traceiter_android_vh_show_suspend_epoch_val __traceiter_android_vh_show_suspend_epoch_val
__traceiter_android_vh_sync_txn_recvd
__traceiter_android_vh_timer_calc_index __traceiter_android_vh_timer_calc_index
__traceiter_android_vh_update_topology_flags_workfn __traceiter_android_vh_update_topology_flags_workfn
__traceiter_binder_transaction_received __traceiter_binder_transaction_received
@@ -1770,6 +1793,8 @@
__tracepoint_android_rvh_gic_v3_set_affinity __tracepoint_android_rvh_gic_v3_set_affinity
__tracepoint_android_rvh_migrate_queued_task __tracepoint_android_rvh_migrate_queued_task
__tracepoint_android_rvh_new_task_stats __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_replace_next_task_fair
__tracepoint_android_rvh_resume_cpus __tracepoint_android_rvh_resume_cpus
__tracepoint_android_rvh_sched_cpu_dying __tracepoint_android_rvh_sched_cpu_dying
@@ -1796,9 +1821,13 @@
__tracepoint_android_rvh_update_misfit_status __tracepoint_android_rvh_update_misfit_status
__tracepoint_android_rvh_wake_up_new_task __tracepoint_android_rvh_wake_up_new_task
__tracepoint_android_vh_allow_domain_state __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_restore_priority
__tracepoint_android_vh_binder_set_priority __tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_wait_for_work
__tracepoint_android_vh_binder_wakeup_ilocked __tracepoint_android_vh_binder_wakeup_ilocked
__tracepoint_android_vh_build_sched_domains
__tracepoint_android_vh_check_uninterruptible_tasks __tracepoint_android_vh_check_uninterruptible_tasks
__tracepoint_android_vh_check_uninterruptible_tasks_dn __tracepoint_android_vh_check_uninterruptible_tasks_dn
__tracepoint_android_vh_cpu_idle_enter __tracepoint_android_vh_cpu_idle_enter
@@ -1813,11 +1842,17 @@
__tracepoint_android_vh_ipi_stop __tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_jiffies_update __tracepoint_android_vh_jiffies_update
__tracepoint_android_vh_logbuf __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_printk_hotplug
__tracepoint_android_vh_rwsem_wake
__tracepoint_android_vh_rwsem_wake_finish
__tracepoint_android_vh_scheduler_tick __tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_show_max_freq __tracepoint_android_vh_show_max_freq
__tracepoint_android_vh_show_resume_epoch_val __tracepoint_android_vh_show_resume_epoch_val
__tracepoint_android_vh_show_suspend_epoch_val __tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_sync_txn_recvd
__tracepoint_android_vh_timer_calc_index __tracepoint_android_vh_timer_calc_index
__tracepoint_android_vh_update_topology_flags_workfn __tracepoint_android_vh_update_topology_flags_workfn
__tracepoint_binder_transaction_received __tracepoint_binder_transaction_received

View File

@@ -301,6 +301,7 @@ CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y
CONFIG_SCSI_UFS_HISI=y CONFIG_SCSI_UFS_HISI=y
CONFIG_SCSI_UFS_BSG=y CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_UFS_HPB=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y CONFIG_DM_CRYPT=y

View File

@@ -165,25 +165,6 @@ static inline void arch_timer_set_cntkctl(u32 cntkctl)
isb(); 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) static __always_inline u64 __arch_counter_get_cntpct_stable(void)
{ {
u64 cnt; u64 cnt;
@@ -224,8 +205,6 @@ static __always_inline u64 __arch_counter_get_cntvct(void)
return cnt; return cnt;
} }
#undef arch_counter_enforce_ordering
static inline int arch_timer_arch_init(void) static inline int arch_timer_arch_init(void)
{ {
return 0; return 0;

View File

@@ -71,6 +71,25 @@ static inline unsigned long array_index_mask_nospec(unsigned long idx,
return mask; 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_mb() dmb(ish)
#define __smp_rmb() dmb(ishld) #define __smp_rmb() dmb(ishld)
#define __smp_wmb() dmb(ishst) #define __smp_wmb() dmb(ishst)

View File

@@ -83,11 +83,7 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode,
*/ */
isb(); isb();
asm volatile("mrs %0, cntvct_el0" : "=r" (res) :: "memory"); asm volatile("mrs %0, cntvct_el0" : "=r" (res) :: "memory");
/* arch_counter_enforce_ordering(res);
* This isb() is required to prevent that the seq lock is
* speculated.#
*/
isb();
return res; return res;
} }

View File

@@ -52,6 +52,7 @@ CONFIG_X86_X2APIC=y
CONFIG_HYPERVISOR_GUEST=y CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y CONFIG_PARAVIRT=y
CONFIG_NR_CPUS=32 CONFIG_NR_CPUS=32
# CONFIG_X86_MCE is not set
CONFIG_EFI=y CONFIG_EFI=y
CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="stack_depot_disable=on cgroup_disable=pressure cgroup.memory=nokmem" 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_DWC_TC_PLATFORM=y
CONFIG_SCSI_UFS_BSG=y CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_UFS_HPB=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y CONFIG_DM_CRYPT=y
@@ -358,7 +360,6 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CPU_THERMAL=y CONFIG_CPU_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y CONFIG_THERMAL_EMULATION=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_CORE=y
CONFIG_MFD_SYSCON=y CONFIG_MFD_SYSCON=y

View File

@@ -9313,7 +9313,7 @@ int ufshcd_alloc_host(struct device *dev, struct ufs_hba **hba_handle)
} }
host = scsi_host_alloc(&ufshcd_driver_template, host = scsi_host_alloc(&ufshcd_driver_template,
sizeof(struct ufs_hba)); sizeof(struct ufs_hba_with_hpb));
if (!host) { if (!host) {
dev_err(dev, "scsi_host_alloc failed\n"); dev_err(dev, "scsi_host_alloc failed\n");
err = -ENOMEM; err = -ENOMEM;

View File

@@ -912,7 +912,8 @@ struct ufs_hba {
bool wb_enabled; bool wb_enabled;
struct delayed_work rpm_dev_flush_recheck_work; 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; struct ufshpb_dev_info ufshpb_dev;
#endif #endif
@@ -934,6 +935,17 @@ struct ufs_hba {
ANDROID_KABI_RESERVE(4); 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 */ /* Returns true if clocks can be gated. Otherwise false */
static inline bool ufshcd_is_clkgating_allowed(struct ufs_hba *hba) static inline bool ufshcd_is_clkgating_allowed(struct ufs_hba *hba)
{ {

View File

@@ -35,15 +35,20 @@ static struct workqueue_struct *ufshpb_wq;
static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx, static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx,
int srgn_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) 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. */ /* HPB version 1.0 is called as legacy version. */
bool ufshpb_is_legacy(struct ufs_hba *hba) 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) 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) if (ret)
goto out; goto out;
hpb = ufshpb_alloc_hpb_lu(hba, sdev, &hba->ufshpb_dev, hpb = ufshpb_alloc_hpb_lu(hba, sdev, ufs_hba_to_hpb(hba), &hpb_lu_info);
&hpb_lu_info);
if (!hpb) if (!hpb)
goto out; goto out;
@@ -2753,7 +2757,7 @@ void ufshpb_init_hpb_lu(struct ufs_hba *hba, struct scsi_device *sdev)
out: out:
/* All LUs are initialized */ /* 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); ufshpb_hpb_lu_prepared(hba);
} }
@@ -2810,7 +2814,7 @@ release_mctx_cache:
void ufshpb_get_geo_info(struct ufs_hba *hba, u8 *geo_buf) 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 max_active_rgns = 0;
int hpb_num_lu; 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) 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; int version, ret;
u32 max_hpb_single_cmd = HPB_MULTI_CHUNK_LOW; 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) 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 try;
int ret; int ret;

View File

@@ -1924,13 +1924,9 @@ static void dwc3_gadget_ep_cleanup_cancelled_requests(struct dwc3_ep *dep)
{ {
struct dwc3_request *req; struct dwc3_request *req;
struct dwc3_request *tmp; struct dwc3_request *tmp;
struct list_head local;
struct dwc3 *dwc = dep->dwc; struct dwc3 *dwc = dep->dwc;
restart: list_for_each_entry_safe(req, tmp, &dep->cancelled_list, list) {
list_replace_init(&dep->cancelled_list, &local);
list_for_each_entry_safe(req, tmp, &local, list) {
dwc3_gadget_ep_skip_trbs(dep, req); dwc3_gadget_ep_skip_trbs(dep, req);
switch (req->status) { switch (req->status) {
case DWC3_REQUEST_STATUS_DISCONNECTED: case DWC3_REQUEST_STATUS_DISCONNECTED:
@@ -1948,9 +1944,6 @@ restart:
break; break;
} }
} }
if (!list_empty(&dep->cancelled_list))
goto restart;
} }
static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, 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 *req;
struct dwc3_request *tmp; struct dwc3_request *tmp;
struct list_head local;
restart: list_for_each_entry_safe(req, tmp, &dep->started_list, list) {
list_replace_init(&dep->started_list, &local);
list_for_each_entry_safe(req, tmp, &local, list) {
int ret; int ret;
ret = dwc3_gadget_ep_cleanup_completed_request(dep, event, ret = dwc3_gadget_ep_cleanup_completed_request(dep, event,
@@ -3231,9 +3220,6 @@ restart:
if (ret) if (ret)
break; break;
} }
if (!list_empty(&dep->started_list))
goto restart;
} }
static bool dwc3_gadget_ep_should_continue(struct dwc3_ep *dep) static bool dwc3_gadget_ep_should_continue(struct dwc3_ep *dep)

View File

@@ -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); 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 static inline void
uclamp_update_active(struct task_struct *p) 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, * affecting a valid clamp bucket, the next time it's enqueued,
* it will already see the updated clamp bucket value. * it will already see the updated clamp bucket value.
*/ */
for_each_clamp_id(clamp_id) { for_each_clamp_id(clamp_id)
if (p->uclamp[clamp_id].active) { uclamp_rq_reinc_id(rq, p, clamp_id);
uclamp_rq_dec_id(rq, p, clamp_id);
uclamp_rq_inc_id(rq, p, clamp_id);
}
}
task_rq_unlock(rq, p, &rf); task_rq_unlock(rq, p, &rf);
} }
@@ -5887,6 +5900,16 @@ err_size:
return -E2BIG; 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 * sys_sched_setscheduler - set/change the scheduler policy and RT priority
* @pid: the pid in question. * @pid: the pid in question.
@@ -5948,6 +5971,8 @@ SYSCALL_DEFINE3(sched_setattr, pid_t, pid, struct sched_attr __user *, uattr,
rcu_read_unlock(); rcu_read_unlock();
if (likely(p)) { if (likely(p)) {
if (attr.sched_flags & SCHED_FLAG_KEEP_PARAMS)
get_params(p, &attr);
retval = sched_setattr(p, &attr); retval = sched_setattr(p, &attr);
put_task_struct(p); 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; kattr.sched_policy = p->policy;
if (p->sched_reset_on_fork) if (p->sched_reset_on_fork)
kattr.sched_flags |= SCHED_FLAG_RESET_ON_FORK; kattr.sched_flags |= SCHED_FLAG_RESET_ON_FORK;
if (task_has_dl_policy(p)) get_params(p, &kattr);
__getparam_dl(p, &kattr); kattr.sched_flags &= SCHED_FLAG_ALL;
else if (task_has_rt_policy(p))
kattr.sched_priority = p->rt_priority;
else
kattr.sched_nice = task_nice(p);
#ifdef CONFIG_UCLAMP_TASK #ifdef CONFIG_UCLAMP_TASK
/* /*

View File

@@ -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_runtime = attr->sched_runtime;
dl_se->dl_deadline = attr->sched_deadline; dl_se->dl_deadline = attr->sched_deadline;
dl_se->dl_period = attr->sched_period ?: dl_se->dl_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_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); 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_runtime = dl_se->dl_runtime;
attr->sched_deadline = dl_se->dl_deadline; attr->sched_deadline = dl_se->dl_deadline;
attr->sched_period = dl_se->dl_period; 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 || if (dl_se->dl_runtime != attr->sched_runtime ||
dl_se->dl_deadline != attr->sched_deadline || dl_se->dl_deadline != attr->sched_deadline ||
dl_se->dl_period != attr->sched_period || 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 true;
return false; return false;

View File

@@ -228,6 +228,8 @@ static inline void update_avg(u64 *avg, u64 sample)
*/ */
#define SCHED_FLAG_SUGOV 0x10000000 #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) static inline bool dl_entity_is_special(struct sched_dl_entity *dl_se)
{ {
#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL #ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL