Merge tag 'v6.8-rc4' into x86/percpu, to resolve conflicts and refresh the branch
Conflicts: arch/x86/include/asm/percpu.h arch/x86/include/asm/text-patching.h Signed-off-by: Ingo Molnar <mingo@kernel.org>
@@ -82,11 +82,16 @@ ForEachMacros:
|
||||
- '__for_each_thread'
|
||||
- '__hlist_for_each_rcu'
|
||||
- '__map__for_each_symbol_by_name'
|
||||
- '__pci_bus_for_each_res0'
|
||||
- '__pci_bus_for_each_res1'
|
||||
- '__pci_dev_for_each_res0'
|
||||
- '__pci_dev_for_each_res1'
|
||||
- '__perf_evlist__for_each_entry'
|
||||
- '__perf_evlist__for_each_entry_reverse'
|
||||
- '__perf_evlist__for_each_entry_safe'
|
||||
- '__rq_for_each_bio'
|
||||
- '__shost_for_each_device'
|
||||
- '__sym_for_each'
|
||||
- 'apei_estatus_for_each_section'
|
||||
- 'ata_for_each_dev'
|
||||
- 'ata_for_each_link'
|
||||
@@ -105,13 +110,12 @@ ForEachMacros:
|
||||
- 'bip_for_each_vec'
|
||||
- 'bond_for_each_slave'
|
||||
- 'bond_for_each_slave_rcu'
|
||||
- 'bpf__perf_for_each_map'
|
||||
- 'bpf__perf_for_each_map_named'
|
||||
- 'bpf_for_each'
|
||||
- 'bpf_for_each_reg_in_vstate'
|
||||
- 'bpf_for_each_reg_in_vstate_mask'
|
||||
- 'bpf_for_each_spilled_reg'
|
||||
- 'bpf_object__for_each_map'
|
||||
- 'bpf_object__for_each_program'
|
||||
- 'bpf_object__for_each_safe'
|
||||
- 'bpf_perf_object__for_each'
|
||||
- 'btree_for_each_safe128'
|
||||
- 'btree_for_each_safe32'
|
||||
- 'btree_for_each_safe64'
|
||||
@@ -119,6 +123,7 @@ ForEachMacros:
|
||||
- 'card_for_each_dev'
|
||||
- 'cgroup_taskset_for_each'
|
||||
- 'cgroup_taskset_for_each_leader'
|
||||
- 'cpu_aggr_map__for_each_idx'
|
||||
- 'cpufreq_for_each_efficient_entry_idx'
|
||||
- 'cpufreq_for_each_entry'
|
||||
- 'cpufreq_for_each_entry_idx'
|
||||
@@ -128,11 +133,14 @@ ForEachMacros:
|
||||
- 'css_for_each_descendant_post'
|
||||
- 'css_for_each_descendant_pre'
|
||||
- 'damon_for_each_region'
|
||||
- 'damon_for_each_region_from'
|
||||
- 'damon_for_each_region_safe'
|
||||
- 'damon_for_each_scheme'
|
||||
- 'damon_for_each_scheme_safe'
|
||||
- 'damon_for_each_target'
|
||||
- 'damon_for_each_target_safe'
|
||||
- 'damos_for_each_filter'
|
||||
- 'damos_for_each_filter_safe'
|
||||
- 'data__for_each_file'
|
||||
- 'data__for_each_file_new'
|
||||
- 'data__for_each_file_start'
|
||||
@@ -151,6 +159,8 @@ ForEachMacros:
|
||||
- 'drm_client_for_each_connector_iter'
|
||||
- 'drm_client_for_each_modeset'
|
||||
- 'drm_connector_for_each_possible_encoder'
|
||||
- 'drm_exec_for_each_locked_object'
|
||||
- 'drm_exec_for_each_locked_object_reverse'
|
||||
- 'drm_for_each_bridge_in_chain'
|
||||
- 'drm_for_each_connector_iter'
|
||||
- 'drm_for_each_crtc'
|
||||
@@ -162,22 +172,32 @@ ForEachMacros:
|
||||
- 'drm_for_each_plane'
|
||||
- 'drm_for_each_plane_mask'
|
||||
- 'drm_for_each_privobj'
|
||||
- 'drm_gem_for_each_gpuva'
|
||||
- 'drm_gem_for_each_gpuva_safe'
|
||||
- 'drm_gpuva_for_each_op'
|
||||
- 'drm_gpuva_for_each_op_from_reverse'
|
||||
- 'drm_gpuva_for_each_op_safe'
|
||||
- 'drm_gpuvm_for_each_va'
|
||||
- 'drm_gpuvm_for_each_va_range'
|
||||
- 'drm_gpuvm_for_each_va_range_safe'
|
||||
- 'drm_gpuvm_for_each_va_safe'
|
||||
- 'drm_mm_for_each_hole'
|
||||
- 'drm_mm_for_each_node'
|
||||
- 'drm_mm_for_each_node_in_range'
|
||||
- 'drm_mm_for_each_node_safe'
|
||||
- 'dsa_switch_for_each_available_port'
|
||||
- 'dsa_switch_for_each_cpu_port'
|
||||
- 'dsa_switch_for_each_cpu_port_continue_reverse'
|
||||
- 'dsa_switch_for_each_port'
|
||||
- 'dsa_switch_for_each_port_continue_reverse'
|
||||
- 'dsa_switch_for_each_port_safe'
|
||||
- 'dsa_switch_for_each_user_port'
|
||||
- 'dsa_tree_for_each_cpu_port'
|
||||
- 'dsa_tree_for_each_user_port'
|
||||
- 'dsa_tree_for_each_user_port_continue_reverse'
|
||||
- 'dso__for_each_symbol'
|
||||
- 'dsos__for_each_with_build_id'
|
||||
- 'elf_hash_for_each_possible'
|
||||
- 'elf_section__for_each_rel'
|
||||
- 'elf_section__for_each_rela'
|
||||
- 'elf_symtab__for_each_symbol'
|
||||
- 'evlist__for_each_cpu'
|
||||
- 'evlist__for_each_entry'
|
||||
@@ -186,12 +206,15 @@ ForEachMacros:
|
||||
- 'evlist__for_each_entry_reverse'
|
||||
- 'evlist__for_each_entry_safe'
|
||||
- 'flow_action_for_each'
|
||||
- 'for_each_acpi_consumer_dev'
|
||||
- 'for_each_acpi_dev_match'
|
||||
- 'for_each_active_dev_scope'
|
||||
- 'for_each_active_drhd_unit'
|
||||
- 'for_each_active_iommu'
|
||||
- 'for_each_active_route'
|
||||
- 'for_each_aggr_pgid'
|
||||
- 'for_each_and_bit'
|
||||
- 'for_each_andnot_bit'
|
||||
- 'for_each_available_child_of_node'
|
||||
- 'for_each_bench'
|
||||
- 'for_each_bio'
|
||||
@@ -222,10 +245,13 @@ ForEachMacros:
|
||||
- 'for_each_compatible_node'
|
||||
- 'for_each_component_dais'
|
||||
- 'for_each_component_dais_safe'
|
||||
- 'for_each_conduit'
|
||||
- 'for_each_console'
|
||||
- 'for_each_console_srcu'
|
||||
- 'for_each_cpu'
|
||||
- 'for_each_cpu_and'
|
||||
- 'for_each_cpu_andnot'
|
||||
- 'for_each_cpu_or'
|
||||
- 'for_each_cpu_wrap'
|
||||
- 'for_each_dapm_widgets'
|
||||
- 'for_each_dedup_cand'
|
||||
@@ -254,9 +280,11 @@ ForEachMacros:
|
||||
- 'for_each_free_mem_range'
|
||||
- 'for_each_free_mem_range_reverse'
|
||||
- 'for_each_func_rsrc'
|
||||
- 'for_each_group_device'
|
||||
- 'for_each_gpiochip_node'
|
||||
- 'for_each_group_evsel'
|
||||
- 'for_each_group_evsel_head'
|
||||
- 'for_each_group_member'
|
||||
- 'for_each_group_member_head'
|
||||
- 'for_each_hstate'
|
||||
- 'for_each_if'
|
||||
- 'for_each_inject_fn'
|
||||
@@ -273,6 +301,7 @@ ForEachMacros:
|
||||
- 'for_each_lru'
|
||||
- 'for_each_matching_node'
|
||||
- 'for_each_matching_node_and_match'
|
||||
- 'for_each_media_entity_data_link'
|
||||
- 'for_each_mem_pfn_range'
|
||||
- 'for_each_mem_range'
|
||||
- 'for_each_mem_range_rev'
|
||||
@@ -281,6 +310,8 @@ ForEachMacros:
|
||||
- 'for_each_memory'
|
||||
- 'for_each_migratetype_order'
|
||||
- 'for_each_missing_reg'
|
||||
- 'for_each_mle_subelement'
|
||||
- 'for_each_mod_mem_type'
|
||||
- 'for_each_net'
|
||||
- 'for_each_net_continue_reverse'
|
||||
- 'for_each_net_rcu'
|
||||
@@ -288,6 +319,7 @@ ForEachMacros:
|
||||
- 'for_each_netdev_continue'
|
||||
- 'for_each_netdev_continue_rcu'
|
||||
- 'for_each_netdev_continue_reverse'
|
||||
- 'for_each_netdev_dump'
|
||||
- 'for_each_netdev_feature'
|
||||
- 'for_each_netdev_in_bond_rcu'
|
||||
- 'for_each_netdev_rcu'
|
||||
@@ -308,6 +340,7 @@ ForEachMacros:
|
||||
- 'for_each_node_with_cpus'
|
||||
- 'for_each_node_with_property'
|
||||
- 'for_each_nonreserved_multicast_dest_pgid'
|
||||
- 'for_each_numa_hop_mask'
|
||||
- 'for_each_of_allnodes'
|
||||
- 'for_each_of_allnodes_from'
|
||||
- 'for_each_of_cpu_node'
|
||||
@@ -326,6 +359,7 @@ ForEachMacros:
|
||||
- 'for_each_online_cpu'
|
||||
- 'for_each_online_node'
|
||||
- 'for_each_online_pgdat'
|
||||
- 'for_each_or_bit'
|
||||
- 'for_each_path'
|
||||
- 'for_each_pci_bridge'
|
||||
- 'for_each_pci_dev'
|
||||
@@ -333,6 +367,7 @@ ForEachMacros:
|
||||
- 'for_each_physmem_range'
|
||||
- 'for_each_populated_zone'
|
||||
- 'for_each_possible_cpu'
|
||||
- 'for_each_present_blessed_reg'
|
||||
- 'for_each_present_cpu'
|
||||
- 'for_each_prime_number'
|
||||
- 'for_each_prime_number_from'
|
||||
@@ -348,7 +383,8 @@ ForEachMacros:
|
||||
- 'for_each_property_of_node'
|
||||
- 'for_each_reg'
|
||||
- 'for_each_reg_filtered'
|
||||
- 'for_each_registered_fb'
|
||||
- 'for_each_reloc'
|
||||
- 'for_each_reloc_from'
|
||||
- 'for_each_requested_gpio'
|
||||
- 'for_each_requested_gpio_in_range'
|
||||
- 'for_each_reserved_mem_range'
|
||||
@@ -357,10 +393,12 @@ ForEachMacros:
|
||||
- 'for_each_rtd_components'
|
||||
- 'for_each_rtd_cpu_dais'
|
||||
- 'for_each_rtd_dais'
|
||||
- 'for_each_sband_iftype_data'
|
||||
- 'for_each_script'
|
||||
- 'for_each_sec'
|
||||
- 'for_each_set_bit'
|
||||
- 'for_each_set_bit_from'
|
||||
- 'for_each_set_bit_wrap'
|
||||
- 'for_each_set_bitrange'
|
||||
- 'for_each_set_bitrange_from'
|
||||
- 'for_each_set_clump8'
|
||||
@@ -371,8 +409,8 @@ ForEachMacros:
|
||||
- 'for_each_sgtable_dma_sg'
|
||||
- 'for_each_sgtable_page'
|
||||
- 'for_each_sgtable_sg'
|
||||
- 'for_each_shell_test'
|
||||
- 'for_each_sibling_event'
|
||||
- 'for_each_sta_active_link'
|
||||
- 'for_each_subelement'
|
||||
- 'for_each_subelement_extid'
|
||||
- 'for_each_subelement_id'
|
||||
@@ -380,10 +418,15 @@ ForEachMacros:
|
||||
- 'for_each_subsystem'
|
||||
- 'for_each_supported_activate_fn'
|
||||
- 'for_each_supported_inject_fn'
|
||||
- 'for_each_sym'
|
||||
- 'for_each_test'
|
||||
- 'for_each_thread'
|
||||
- 'for_each_token'
|
||||
- 'for_each_unicast_dest_pgid'
|
||||
- 'for_each_valid_link'
|
||||
- 'for_each_vif_active_link'
|
||||
- 'for_each_vma'
|
||||
- 'for_each_vma_range'
|
||||
- 'for_each_vsi'
|
||||
- 'for_each_wakeup_source'
|
||||
- 'for_each_zone'
|
||||
@@ -392,10 +435,12 @@ ForEachMacros:
|
||||
- 'func_for_each_insn'
|
||||
- 'fwnode_for_each_available_child_node'
|
||||
- 'fwnode_for_each_child_node'
|
||||
- 'fwnode_for_each_parent_node'
|
||||
- 'fwnode_graph_for_each_endpoint'
|
||||
- 'gadget_for_each_ep'
|
||||
- 'genradix_for_each'
|
||||
- 'genradix_for_each_from'
|
||||
- 'genradix_for_each_reverse'
|
||||
- 'hash_for_each'
|
||||
- 'hash_for_each_possible'
|
||||
- 'hash_for_each_possible_rcu'
|
||||
@@ -439,14 +484,9 @@ ForEachMacros:
|
||||
- 'in_dev_for_each_ifa_rcu'
|
||||
- 'in_dev_for_each_ifa_rtnl'
|
||||
- 'inet_bind_bucket_for_each'
|
||||
- 'inet_lhash2_for_each_icsk'
|
||||
- 'inet_lhash2_for_each_icsk_continue'
|
||||
- 'inet_lhash2_for_each_icsk_rcu'
|
||||
- 'interval_tree_for_each_double_span'
|
||||
- 'interval_tree_for_each_span'
|
||||
- 'intlist__for_each_entry'
|
||||
- 'intlist__for_each_entry_safe'
|
||||
- 'iopt_for_each_contig_area'
|
||||
- 'kcore_copy__for_each_phdr'
|
||||
- 'key_for_each'
|
||||
- 'key_for_each_safe'
|
||||
@@ -483,28 +523,38 @@ ForEachMacros:
|
||||
- 'list_for_each_from'
|
||||
- 'list_for_each_prev'
|
||||
- 'list_for_each_prev_safe'
|
||||
- 'list_for_each_rcu'
|
||||
- 'list_for_each_reverse'
|
||||
- 'list_for_each_safe'
|
||||
- 'llist_for_each'
|
||||
- 'llist_for_each_entry'
|
||||
- 'llist_for_each_entry_safe'
|
||||
- 'llist_for_each_safe'
|
||||
- 'lwq_for_each_safe'
|
||||
- 'map__for_each_symbol'
|
||||
- 'map__for_each_symbol_by_name'
|
||||
- 'map_for_each_event'
|
||||
- 'map_for_each_metric'
|
||||
- 'maps__for_each_entry'
|
||||
- 'maps__for_each_entry_safe'
|
||||
- 'mas_for_each'
|
||||
- 'mci_for_each_dimm'
|
||||
- 'media_device_for_each_entity'
|
||||
- 'media_device_for_each_intf'
|
||||
- 'media_device_for_each_link'
|
||||
- 'media_device_for_each_pad'
|
||||
- 'media_entity_for_each_pad'
|
||||
- 'media_pipeline_for_each_entity'
|
||||
- 'media_pipeline_for_each_pad'
|
||||
- 'mlx5_lag_for_each_peer_mdev'
|
||||
- 'msi_domain_for_each_desc'
|
||||
- 'msi_for_each_desc'
|
||||
- 'mt_for_each'
|
||||
- 'nanddev_io_for_each_page'
|
||||
- 'netdev_for_each_lower_dev'
|
||||
- 'netdev_for_each_lower_private'
|
||||
- 'netdev_for_each_lower_private_rcu'
|
||||
- 'netdev_for_each_mc_addr'
|
||||
- 'netdev_for_each_synced_mc_addr'
|
||||
- 'netdev_for_each_synced_uc_addr'
|
||||
- 'netdev_for_each_uc_addr'
|
||||
- 'netdev_for_each_upper_dev_rcu'
|
||||
- 'netdev_hw_addr_list_for_each'
|
||||
@@ -529,6 +579,7 @@ ForEachMacros:
|
||||
- 'perf_config_sections__for_each_entry'
|
||||
- 'perf_config_set__for_each_entry'
|
||||
- 'perf_cpu_map__for_each_cpu'
|
||||
- 'perf_cpu_map__for_each_idx'
|
||||
- 'perf_evlist__for_each_entry'
|
||||
- 'perf_evlist__for_each_entry_reverse'
|
||||
- 'perf_evlist__for_each_entry_safe'
|
||||
@@ -538,9 +589,7 @@ ForEachMacros:
|
||||
- 'perf_hpp_list__for_each_format_safe'
|
||||
- 'perf_hpp_list__for_each_sort_list'
|
||||
- 'perf_hpp_list__for_each_sort_list_safe'
|
||||
- 'perf_pmu__for_each_hybrid_pmu'
|
||||
- 'ping_portaddr_for_each_entry'
|
||||
- 'ping_portaddr_for_each_entry_rcu'
|
||||
- 'perf_tool_event__for_each_event'
|
||||
- 'plist_for_each'
|
||||
- 'plist_for_each_continue'
|
||||
- 'plist_for_each_entry'
|
||||
@@ -577,6 +626,7 @@ ForEachMacros:
|
||||
- 'rq_for_each_segment'
|
||||
- 'rq_list_for_each'
|
||||
- 'rq_list_for_each_safe'
|
||||
- 'sample_read_group__for_each'
|
||||
- 'scsi_for_each_prot_sg'
|
||||
- 'scsi_for_each_sg'
|
||||
- 'sctp_for_each_hentry'
|
||||
@@ -584,10 +634,12 @@ ForEachMacros:
|
||||
- 'sec_for_each_insn'
|
||||
- 'sec_for_each_insn_continue'
|
||||
- 'sec_for_each_insn_from'
|
||||
- 'sec_for_each_sym'
|
||||
- 'shdma_for_each_chan'
|
||||
- 'shost_for_each_device'
|
||||
- 'sk_for_each'
|
||||
- 'sk_for_each_bound'
|
||||
- 'sk_for_each_bound_bhash2'
|
||||
- 'sk_for_each_entry_offset_rcu'
|
||||
- 'sk_for_each_from'
|
||||
- 'sk_for_each_rcu'
|
||||
@@ -609,6 +661,8 @@ ForEachMacros:
|
||||
- 'tb_property_for_each'
|
||||
- 'tcf_act_for_each_action'
|
||||
- 'tcf_exts_for_each_action'
|
||||
- 'ttm_resource_manager_for_each_res'
|
||||
- 'twsk_for_each_bound_bhash2'
|
||||
- 'udp_portaddr_for_each_entry'
|
||||
- 'udp_portaddr_for_each_entry_rcu'
|
||||
- 'usb_hub_for_each_child'
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
root = true
|
||||
|
||||
[{*.{awk,c,dts,dtsi,dtso,h,mk,s,S},Kconfig,Makefile,Makefile.*}]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = tab
|
||||
indent_size = 8
|
||||
|
||||
[*.{json,py,rs}]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# this must be below the general *.py to overwrite it
|
||||
[tools/{perf,power,rcu,testing/kunit}/**.py,]
|
||||
indent_style = tab
|
||||
indent_size = 8
|
||||
|
||||
[*.yaml]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = unset
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
@@ -74,7 +74,6 @@ modules.order
|
||||
#
|
||||
# RPM spec file (make rpm-pkg)
|
||||
#
|
||||
/*.spec
|
||||
/rpmbuild/
|
||||
|
||||
#
|
||||
@@ -97,6 +96,7 @@ modules.order
|
||||
#
|
||||
!.clang-format
|
||||
!.cocciconfig
|
||||
!.editorconfig
|
||||
!.get_maintainer.ignore
|
||||
!.gitattributes
|
||||
!.gitignore
|
||||
|
||||
@@ -87,6 +87,7 @@ Baolin Wang <baolin.wang@linux.alibaba.com> <baolin.wang@unisoc.com>
|
||||
Baolin Wang <baolin.wang@linux.alibaba.com> <baolin.wang7@gmail.com>
|
||||
Bart Van Assche <bvanassche@acm.org> <bart.vanassche@sandisk.com>
|
||||
Bart Van Assche <bvanassche@acm.org> <bart.vanassche@wdc.com>
|
||||
Bartosz Golaszewski <brgl@bgdev.pl> <bgolaszewski@baylibre.com>
|
||||
Ben Dooks <ben-linux@fluff.org> <ben.dooks@simtec.co.uk>
|
||||
Ben Dooks <ben-linux@fluff.org> <ben.dooks@sifive.com>
|
||||
Ben Gardner <bgardner@wabtec.com>
|
||||
@@ -94,6 +95,7 @@ Ben M Cahill <ben.m.cahill@intel.com>
|
||||
Ben Widawsky <bwidawsk@kernel.org> <ben@bwidawsk.net>
|
||||
Ben Widawsky <bwidawsk@kernel.org> <ben.widawsky@intel.com>
|
||||
Ben Widawsky <bwidawsk@kernel.org> <benjamin.widawsky@intel.com>
|
||||
Benjamin Poirier <benjamin.poirier@gmail.com> <bpoirier@suse.de>
|
||||
Bjorn Andersson <andersson@kernel.org> <bjorn@kryo.se>
|
||||
Bjorn Andersson <andersson@kernel.org> <bjorn.andersson@linaro.org>
|
||||
Bjorn Andersson <andersson@kernel.org> <bjorn.andersson@sonymobile.com>
|
||||
@@ -115,6 +117,7 @@ Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com>
|
||||
Changbin Du <changbin.du@intel.com> <changbin.du@intel.com>
|
||||
Chao Yu <chao@kernel.org> <chao2.yu@samsung.com>
|
||||
Chao Yu <chao@kernel.org> <yuchao0@huawei.com>
|
||||
Chester Lin <chester62515@gmail.com> <clin@suse.com>
|
||||
Chris Chiu <chris.chiu@canonical.com> <chiu@endlessm.com>
|
||||
Chris Chiu <chris.chiu@canonical.com> <chiu@endlessos.org>
|
||||
Chris Lew <quic_clew@quicinc.com> <clew@codeaurora.org>
|
||||
@@ -127,6 +130,7 @@ Christian Brauner <brauner@kernel.org> <christian.brauner@ubuntu.com>
|
||||
Christian Marangi <ansuelsmth@gmail.com>
|
||||
Christophe Ricard <christophe.ricard@gmail.com>
|
||||
Christoph Hellwig <hch@lst.de>
|
||||
Claudiu Beznea <claudiu.beznea@tuxon.dev> <claudiu.beznea@microchip.com>
|
||||
Colin Ian King <colin.i.king@gmail.com> <colin.king@canonical.com>
|
||||
Corey Minyard <minyard@acm.org>
|
||||
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
||||
@@ -187,6 +191,10 @@ Gao Xiang <xiang@kernel.org> <gaoxiang25@huawei.com>
|
||||
Gao Xiang <xiang@kernel.org> <hsiangkao@aol.com>
|
||||
Gao Xiang <xiang@kernel.org> <hsiangkao@linux.alibaba.com>
|
||||
Gao Xiang <xiang@kernel.org> <hsiangkao@redhat.com>
|
||||
Geliang Tang <geliang.tang@linux.dev> <geliang.tang@suse.com>
|
||||
Geliang Tang <geliang.tang@linux.dev> <geliangtang@xiaomi.com>
|
||||
Geliang Tang <geliang.tang@linux.dev> <geliangtang@gmail.com>
|
||||
Geliang Tang <geliang.tang@linux.dev> <geliangtang@163.com>
|
||||
Georgi Djakov <djakov@kernel.org> <georgi.djakov@linaro.org>
|
||||
Gerald Schaefer <gerald.schaefer@linux.ibm.com> <geraldsc@de.ibm.com>
|
||||
Gerald Schaefer <gerald.schaefer@linux.ibm.com> <gerald.schaefer@de.ibm.com>
|
||||
@@ -262,6 +270,9 @@ Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
|
||||
Jernej Skrabec <jernej.skrabec@gmail.com> <jernej.skrabec@siol.net>
|
||||
Jessica Zhang <quic_jesszhan@quicinc.com> <jesszhan@codeaurora.org>
|
||||
Jilai Wang <quic_jilaiw@quicinc.com> <jilaiw@codeaurora.org>
|
||||
Jiri Kosina <jikos@kernel.org> <jikos@jikos.cz>
|
||||
Jiri Kosina <jikos@kernel.org> <jkosina@suse.cz>
|
||||
Jiri Kosina <jikos@kernel.org> <jkosina@suse.com>
|
||||
Jiri Pirko <jiri@resnulli.us> <jiri@nvidia.com>
|
||||
Jiri Pirko <jiri@resnulli.us> <jiri@mellanox.com>
|
||||
Jiri Pirko <jiri@resnulli.us> <jpirko@redhat.com>
|
||||
@@ -278,6 +289,7 @@ Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
|
||||
John Crispin <john@phrozen.org> <blogic@openwrt.org>
|
||||
John Fastabend <john.fastabend@gmail.com> <john.r.fastabend@intel.com>
|
||||
John Keeping <john@keeping.me.uk> <john@metanate.com>
|
||||
John Moon <john@jmoon.dev> <quic_johmoo@quicinc.com>
|
||||
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
|
||||
John Stultz <johnstul@us.ibm.com>
|
||||
<jon.toppins+linux@gmail.com> <jtoppins@cumulusnetworks.com>
|
||||
@@ -333,6 +345,7 @@ Leonid I Ananiev <leonid.i.ananiev@intel.com>
|
||||
Leon Romanovsky <leon@kernel.org> <leon@leon.nu>
|
||||
Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com>
|
||||
Leon Romanovsky <leon@kernel.org> <leonro@nvidia.com>
|
||||
Leo Yan <leo.yan@linux.dev> <leo.yan@linaro.org>
|
||||
Liam Mark <quic_lmark@quicinc.com> <lmark@codeaurora.org>
|
||||
Linas Vepstas <linas@austin.ibm.com>
|
||||
Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch>
|
||||
@@ -352,7 +365,6 @@ Maheshwar Ajja <quic_majja@quicinc.com> <majja@codeaurora.org>
|
||||
Malathi Gottam <quic_mgottam@quicinc.com> <mgottam@codeaurora.org>
|
||||
Manikanta Pubbisetty <quic_mpubbise@quicinc.com> <mpubbise@codeaurora.org>
|
||||
Manivannan Sadhasivam <mani@kernel.org> <manivannanece23@gmail.com>
|
||||
Manivannan Sadhasivam <mani@kernel.org> <manivannan.sadhasivam@linaro.org>
|
||||
Manoj Basapathi <quic_manojbm@quicinc.com> <manojbm@codeaurora.org>
|
||||
Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com>
|
||||
Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com>
|
||||
@@ -366,7 +378,7 @@ Martin Kepplinger <martink@posteo.de> <martin.kepplinger@ginzinger.com>
|
||||
Martin Kepplinger <martink@posteo.de> <martin.kepplinger@puri.sm>
|
||||
Martin Kepplinger <martink@posteo.de> <martin.kepplinger@theobroma-systems.com>
|
||||
Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com> <martyna.szapar-mudlaw@intel.com>
|
||||
Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
Mathieu Othacehe <m.othacehe@gmail.com> <othacehe@gnu.org>
|
||||
Mat Martineau <martineau@kernel.org> <mathew.j.martineau@linux.intel.com>
|
||||
Mat Martineau <martineau@kernel.org> <mathewm@codeaurora.org>
|
||||
Matthew Wilcox <willy@infradead.org> <matthew.r.wilcox@intel.com>
|
||||
@@ -377,11 +389,13 @@ Matthew Wilcox <willy@infradead.org> <willy@debian.org>
|
||||
Matthew Wilcox <willy@infradead.org> <willy@linux.intel.com>
|
||||
Matthew Wilcox <willy@infradead.org> <willy@parisc-linux.org>
|
||||
Matthias Fuchs <socketcan@esd.eu> <matthias.fuchs@esd.eu>
|
||||
Matthieu Baerts <matttbe@kernel.org> <matthieu.baerts@tessares.net>
|
||||
Matthieu CASTET <castet.matthieu@free.fr>
|
||||
Matti Vaittinen <mazziesaccount@gmail.com> <matti.vaittinen@fi.rohmeurope.com>
|
||||
Matt Ranostay <matt.ranostay@konsulko.com> <matt@ranostay.consulting>
|
||||
Matt Ranostay <mranostay@gmail.com> Matthew Ranostay <mranostay@embeddedalley.com>
|
||||
Matt Ranostay <mranostay@gmail.com> <matt.ranostay@intel.com>
|
||||
Matt Ranostay <matt@ranostay.sg> <matt.ranostay@konsulko.com>
|
||||
Matt Ranostay <matt@ranostay.sg> <matt@ranostay.consulting>
|
||||
Matt Ranostay <matt@ranostay.sg> Matthew Ranostay <mranostay@embeddedalley.com>
|
||||
Matt Ranostay <matt@ranostay.sg> <matt.ranostay@intel.com>
|
||||
Matt Redfearn <matt.redfearn@mips.com> <matt.redfearn@imgtec.com>
|
||||
Maulik Shah <quic_mkshah@quicinc.com> <mkshah@codeaurora.org>
|
||||
Mauro Carvalho Chehab <mchehab@kernel.org> <maurochehab@gmail.com>
|
||||
@@ -424,6 +438,7 @@ Muna Sinada <quic_msinada@quicinc.com> <msinada@codeaurora.org>
|
||||
Murali Nalajala <quic_mnalajal@quicinc.com> <mnalajal@codeaurora.org>
|
||||
Mythri P K <mythripk@ti.com>
|
||||
Nadia Yvette Chambers <nyc@holomorphy.com> William Lee Irwin III <wli@holomorphy.com>
|
||||
Naoya Horiguchi <naoya.horiguchi@nec.com> <n-horiguchi@ah.jp.nec.com>
|
||||
Nathan Chancellor <nathan@kernel.org> <natechancellor@gmail.com>
|
||||
Neeraj Upadhyay <quic_neeraju@quicinc.com> <neeraju@codeaurora.org>
|
||||
Neil Armstrong <neil.armstrong@linaro.org> <narmstrong@baylibre.com>
|
||||
@@ -449,9 +464,10 @@ Oleksandr Natalenko <oleksandr@natalenko.name> <oleksandr@redhat.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <o.rempel@pengutronix.de>
|
||||
Oleksij Rempel <linux@rempel-privat.de> <ore@pengutronix.de>
|
||||
Oleksij Rempel <o.rempel@pengutronix.de>
|
||||
Oleksij Rempel <o.rempel@pengutronix.de> <ore@pengutronix.de>
|
||||
Oliver Upton <oliver.upton@linux.dev> <oupton@google.com>
|
||||
Ondřej Jirman <megi@xff.cz> <megous@megous.com>
|
||||
Oza Pawandeep <quic_poza@quicinc.com> <poza@codeaurora.org>
|
||||
Pali Rohár <pali@kernel.org> <pali.rohar@gmail.com>
|
||||
Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
|
||||
@@ -464,6 +480,8 @@ Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.vnet.ibm.com>
|
||||
Paul E. McKenney <paulmck@kernel.org> <paulmck@us.ibm.com>
|
||||
Paul Mackerras <paulus@ozlabs.org> <paulus@samba.org>
|
||||
Paul Mackerras <paulus@ozlabs.org> <paulus@au1.ibm.com>
|
||||
Paul Moore <paul@paul-moore.com> <paul.moore@hp.com>
|
||||
Paul Moore <paul@paul-moore.com> <pmoore@redhat.com>
|
||||
Pavankumar Kondeti <quic_pkondeti@quicinc.com> <pkondeti@codeaurora.org>
|
||||
Peter A Jonsson <pj@ludd.ltu.se>
|
||||
Peter Oruba <peter.oruba@amd.com>
|
||||
@@ -488,6 +506,9 @@ Ralf Baechle <ralf@linux-mips.org>
|
||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
Ram Chandra Jangir <quic_rjangir@quicinc.com> <rjangir@codeaurora.org>
|
||||
Randy Dunlap <rdunlap@infradead.org> <rdunlap@xenotime.net>
|
||||
Randy Dunlap <rdunlap@infradead.org> <randy.dunlap@oracle.com>
|
||||
Randy Dunlap <rdunlap@infradead.org> <rddunlap@osdl.org>
|
||||
Randy Dunlap <rdunlap@infradead.org> <randy.dunlap@intel.com>
|
||||
Ravi Kumar Bokka <quic_rbokka@quicinc.com> <rbokka@codeaurora.org>
|
||||
Ravi Kumar Siddojigari <quic_rsiddoji@quicinc.com> <rsiddoji@codeaurora.org>
|
||||
Rémi Denis-Courmont <rdenis@simphalempin.com>
|
||||
@@ -528,6 +549,8 @@ Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
||||
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
||||
Sedat Dilek <sedat.dilek@gmail.com> <sedat.dilek@credativ.de>
|
||||
Senthilkumar N L <quic_snlakshm@quicinc.com> <snlakshm@codeaurora.org>
|
||||
Serge Hallyn <sergeh@kernel.org> <serge.hallyn@canonical.com>
|
||||
Serge Hallyn <sergeh@kernel.org> <serue@us.ibm.com>
|
||||
Seth Forshee <sforshee@kernel.org> <seth.forshee@canonical.com>
|
||||
Shannon Nelson <shannon.nelson@amd.com> <snelson@pensando.io>
|
||||
Shannon Nelson <shannon.nelson@amd.com> <shannon.nelson@intel.com>
|
||||
@@ -564,7 +587,9 @@ Surabhi Vishnoi <quic_svishnoi@quicinc.com> <svishnoi@codeaurora.org>
|
||||
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
|
||||
Tamizh Chelvam Raja <quic_tamizhr@quicinc.com> <tamizhr@codeaurora.org>
|
||||
Taniya Das <quic_tdas@quicinc.com> <tdas@codeaurora.org>
|
||||
Tanzir Hasan <tanzhasanwork@gmail.com> <tanzirh@google.com>
|
||||
Tejun Heo <htejun@gmail.com>
|
||||
Tomeu Vizoso <tomeu@tomeuvizoso.net> <tomeu.vizoso@collabora.com>
|
||||
Thomas Graf <tgraf@suug.ch>
|
||||
Thomas Körper <socketcan@esd.eu> <thomas.koerper@esd.eu>
|
||||
Thomas Pedersen <twp@codeaurora.org>
|
||||
@@ -589,6 +614,9 @@ Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
Uwe Kleine-König <ukleinek@strlen.de>
|
||||
Uwe Kleine-König <ukl@pengutronix.de>
|
||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
||||
Vadim Fedorenko <vadim.fedorenko@linux.dev> <vadfed@fb.com>
|
||||
Vadim Fedorenko <vadim.fedorenko@linux.dev> <vadfed@meta.com>
|
||||
Vadim Fedorenko <vadim.fedorenko@linux.dev> <vfedorenko@novek.ru>
|
||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||
Vara Reddy <quic_varar@quicinc.com> <varar@codeaurora.org>
|
||||
Varadarajan Narayanan <quic_varada@quicinc.com> <varada@codeaurora.org>
|
||||
@@ -623,4 +651,5 @@ Wolfram Sang <wsa@kernel.org> <w.sang@pengutronix.de>
|
||||
Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
|
||||
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
|
||||
Yusuke Goda <goda.yusuke@renesas.com>
|
||||
Zack Rusin <zack.rusin@broadcom.com> <zackr@vmware.com>
|
||||
Zhu Yanjun <zyjzyj2000@gmail.com> <yanjunz@nvidia.com>
|
||||
|
||||
@@ -9,10 +9,6 @@
|
||||
Linus
|
||||
----------
|
||||
|
||||
N: Matt Mackal
|
||||
E: mpm@selenic.com
|
||||
D: SLOB slab allocator
|
||||
|
||||
N: Matti Aarnio
|
||||
E: mea@nic.funet.fi
|
||||
D: Alpha systems hacking, IPv6 and other network related stuff
|
||||
@@ -183,6 +179,7 @@ E: ralf@gnu.org
|
||||
P: 1024/AF7B30C1 CF 97 C2 CC 6D AE A7 FE C8 BA 9C FC 88 DE 32 C3
|
||||
D: Linux/MIPS port
|
||||
D: Linux/68k hacker
|
||||
D: AX25 maintainer
|
||||
S: Hauptstrasse 19
|
||||
S: 79837 St. Blasien
|
||||
S: Germany
|
||||
@@ -323,6 +320,9 @@ N: Ohad Ben Cohen
|
||||
E: ohad@wizery.com
|
||||
D: Remote Processor (remoteproc) subsystem
|
||||
D: Remote Processor Messaging (rpmsg) subsystem
|
||||
D: Hardware spinlock (hwspinlock) subsystem
|
||||
D: OMAP hwspinlock driver
|
||||
D: OMAP remoteproc driver
|
||||
|
||||
N: Krzysztof Benedyczak
|
||||
E: golbi@mat.uni.torun.pl
|
||||
@@ -678,6 +678,10 @@ D: Media subsystem (V4L/DVB) drivers and core
|
||||
D: EDAC drivers and EDAC 3.0 core rework
|
||||
S: Brazil
|
||||
|
||||
N: Landen Chao
|
||||
E: Landen.Chao@mediatek.com
|
||||
D: MT7531 Ethernet switch support
|
||||
|
||||
N: Raymond Chen
|
||||
E: raymondc@microsoft.com
|
||||
D: Author of Configure script
|
||||
@@ -815,6 +819,10 @@ D: Support for Xircom PGSDB9 (firmware and host driver)
|
||||
S: Bucharest
|
||||
S: Romania
|
||||
|
||||
N: John Crispin
|
||||
E: john@phrozen.org
|
||||
D: MediaTek MT7623 Gigabit ethernet support
|
||||
|
||||
N: Laurence Culhane
|
||||
E: loz@holmes.demon.co.uk
|
||||
D: Wrote the initial alpha SLIP code
|
||||
@@ -1425,6 +1433,10 @@ S: University of Stellenbosch
|
||||
S: Stellenbosch, Western Cape
|
||||
S: South Africa
|
||||
|
||||
N: Andy Gross
|
||||
E: agross@kernel.org
|
||||
D: Qualcomm SoC subsystem and drivers
|
||||
|
||||
N: Grant Grundler
|
||||
E: grantgrundler@gmail.com
|
||||
W: http://obmouse.sourceforge.net/
|
||||
@@ -1535,6 +1547,10 @@ N: Andrew Haylett
|
||||
E: ajh@primag.co.uk
|
||||
D: Selection mechanism
|
||||
|
||||
N: Johan Hedberg
|
||||
E: johan.hedberg@gmail.com
|
||||
D: Bluetooth subsystem maintainer
|
||||
|
||||
N: Andre Hedrick
|
||||
E: andre@linux-ide.org
|
||||
E: andre@linuxdiskcert.org
|
||||
@@ -1572,6 +1588,10 @@ S: Ampferstr. 50 / 4
|
||||
S: 6020 Innsbruck
|
||||
S: Austria
|
||||
|
||||
N: Mark Hemment
|
||||
E: markhe@nextd.demon.co.uk
|
||||
D: SLAB allocator implementation
|
||||
|
||||
N: Richard Henderson
|
||||
E: rth@twiddle.net
|
||||
E: rth@cygnus.com
|
||||
@@ -1828,6 +1848,13 @@ S: K osmidomkum 723
|
||||
S: 160 00 Praha 6
|
||||
S: Czech Republic
|
||||
|
||||
N: Michael Kerrisk
|
||||
E: mtk.manpages@gmail.com
|
||||
W: https://man7.org/
|
||||
P: 4096R/3A35CE5E E522 595B 52ED A4E6 BFCC CB5E 8561 9911 3A35 CE5E
|
||||
D: Maintainer of the Linux man-pages project
|
||||
D: Linux man pages online, at <https://man7.org/linux/man-pages/>
|
||||
|
||||
N: Niels Kristian Bech Jensen
|
||||
E: nkbj1970@hotmail.com
|
||||
D: Miscellaneous kernel updates and fixes.
|
||||
@@ -1855,6 +1882,10 @@ D: Fedora kernel maintenance (2003-2014).
|
||||
D: 'Trinity' and similar fuzz testing work.
|
||||
D: Misc/Other.
|
||||
|
||||
N: Tom Joseph
|
||||
E: tjoseph@cadence.com
|
||||
D: Cadence PCIe driver
|
||||
|
||||
N: Martin Josfsson
|
||||
E: gandalf@wlug.westbo.se
|
||||
P: 1024D/F6B6D3B1 7610 7CED 5C34 4AA6 DBA2 8BE1 5A6D AF95 F6B6 D3B1
|
||||
@@ -2126,6 +2157,23 @@ S: 2213 La Terrace Circle
|
||||
S: San Jose, CA 95123
|
||||
S: USA
|
||||
|
||||
N: Mike Kravetz
|
||||
E: mike.kravetz@oracle.com
|
||||
D: Maintenance and development of the hugetlb subsystem
|
||||
|
||||
N: Seth Jennings
|
||||
E: sjenning@redhat.com
|
||||
D: Creation and maintenance of zswap
|
||||
|
||||
N: Dan Streetman
|
||||
E: ddstreet@ieee.org
|
||||
D: Maintenance and development of zswap
|
||||
D: Creation and maintenance of the zpool API
|
||||
|
||||
N: Vitaly Wool
|
||||
E: vitaly.wool@konsulko.com
|
||||
D: Maintenance and development of zswap
|
||||
|
||||
N: Andreas S. Krebs
|
||||
E: akrebs@altavista.net
|
||||
D: CYPRESS CY82C693 chipset IDE, Digital's PC-Alpha 164SX boards
|
||||
@@ -2437,6 +2485,10 @@ D: work on suspend-to-ram/disk, killing duplicates from ioctl32,
|
||||
D: Altera SoCFPGA and Nokia N900 support.
|
||||
S: Czech Republic
|
||||
|
||||
N: Olivia Mackall
|
||||
E: olivia@selenic.com
|
||||
D: SLOB slab allocator
|
||||
|
||||
N: Paul Mackerras
|
||||
E: paulus@samba.org
|
||||
D: PPP driver
|
||||
@@ -2944,6 +2996,14 @@ D: IPX development and support
|
||||
N: Venkatesh Pallipadi (Venki)
|
||||
D: x86/HPET
|
||||
|
||||
N: Antti Palosaari
|
||||
E: crope@iki.fi
|
||||
D: Various DVB drivers
|
||||
W: https://palosaari.fi/linux/
|
||||
S: Yliopistokatu 1 D 513
|
||||
S: FI-90570 Oulu
|
||||
S: FINLAND
|
||||
|
||||
N: Kyungmin Park
|
||||
E: kyungmin.park@samsung.com
|
||||
D: Samsung S5Pv210 and Exynos4210 mobile platforms
|
||||
@@ -3018,6 +3078,10 @@ S: Demonstratsii 8-382
|
||||
S: Tula 300000
|
||||
S: Russia
|
||||
|
||||
N: Thomas Petazzoni
|
||||
E: thomas.petazzoni@bootlin.com
|
||||
D: Driver for the Marvell Armada 370/XP network unit.
|
||||
|
||||
N: Gordon Peters
|
||||
E: GordPeters@smarttech.com
|
||||
D: Isochronous receive for IEEE 1394 driver (OHCI module).
|
||||
@@ -3916,6 +3980,10 @@ S: 21513 Conradia Ct
|
||||
S: Cupertino, CA 95014
|
||||
S: USA
|
||||
|
||||
N: Manohar Vanga
|
||||
E: manohar.vanga@gmail.com
|
||||
D: VME subsystem maintainer
|
||||
|
||||
N: Thibaut Varène
|
||||
E: hacks+kernel@slashdirt.org
|
||||
W: http://hacks.slashdirt.org/
|
||||
@@ -4016,6 +4084,10 @@ D: Fixes for the NE/2-driver
|
||||
D: Miscellaneous MCA-support
|
||||
D: Cleanup of the Config-files
|
||||
|
||||
N: Martyn Welch
|
||||
E: martyn@welchs.me.uk
|
||||
D: VME subsystem maintainer
|
||||
|
||||
N: Matt Welsh
|
||||
E: mdw@metalab.unc.edu
|
||||
W: http://www.cs.berkeley.edu/~mdw
|
||||
|
||||
@@ -270,6 +270,12 @@ Description: Shows the operation capability bits displayed in bitmap format
|
||||
correlates to the operations allowed. It's visible only
|
||||
on platforms that support the capability.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/driver_name
|
||||
Date: Sept 8, 2023
|
||||
KernelVersion: 6.7.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Name of driver to be bounded to the wq.
|
||||
|
||||
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
|
||||
Date: Oct 25, 2019
|
||||
KernelVersion: 5.6.0
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
What: /sys/kernel/config/tsm/report/$name/inblob
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(WO) Up to 64 bytes of user specified binary data. For replay
|
||||
protection this should include a nonce, but the kernel does not
|
||||
place any restrictions on the content.
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/outblob
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(RO) Binary attestation report generated from @inblob and other
|
||||
options The format of the report is implementation specific
|
||||
where the implementation is conveyed via the @provider
|
||||
attribute.
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/auxblob
|
||||
Date: October, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(RO) Optional supplemental data that a TSM may emit, visibility
|
||||
of this attribute depends on TSM, and may be empty if no
|
||||
auxiliary data is available.
|
||||
|
||||
When @provider is "sev_guest" this file contains the
|
||||
"cert_table" from SEV-ES Guest-Hypervisor Communication Block
|
||||
Standardization v2.03 Section 4.1.8.1 MSG_REPORT_REQ.
|
||||
https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/provider
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(RO) A name for the format-specification of @outblob like
|
||||
"sev_guest" [1] or "tdx_guest" [2] in the near term, or a
|
||||
common standard format in the future.
|
||||
|
||||
[1]: SEV Secure Nested Paging Firmware ABI Specification
|
||||
Revision 1.55 Table 22
|
||||
https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56860.pdf
|
||||
|
||||
[2]: Intel® Trust Domain Extensions Data Center Attestation
|
||||
Primitives : Quote Generation Library and Quote Verification
|
||||
Library Revision 0.8 Appendix 4,5
|
||||
https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/Intel_TDX_DCAP_Quoting_Library_API.pdf
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/generation
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(RO) The value in this attribute increments each time @inblob or
|
||||
any option is written. Userspace can detect conflicts by
|
||||
checking generation before writing to any attribute and making
|
||||
sure the number of writes matches expectations after reading
|
||||
@outblob, or it can prevent conflicts by creating a report
|
||||
instance per requesting context.
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/privlevel
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(WO) Attribute is visible if a TSM implementation provider
|
||||
supports the concept of attestation reports for TVMs running at
|
||||
different privilege levels, like SEV-SNP "VMPL", specify the
|
||||
privilege level via this attribute. The minimum acceptable
|
||||
value is conveyed via @privlevel_floor and the maximum
|
||||
acceptable value is TSM_PRIVLEVEL_MAX (3).
|
||||
|
||||
What: /sys/kernel/config/tsm/report/$name/privlevel_floor
|
||||
Date: September, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-coco@lists.linux.dev
|
||||
Description:
|
||||
(RO) Indicates the minimum permissible value that can be written
|
||||
to @privlevel.
|
||||
@@ -35,4 +35,6 @@ Description:
|
||||
req_number the number of pre-allocated requests
|
||||
for both capture and playback
|
||||
function_name name of the interface
|
||||
c_terminal_type code of the capture terminal type
|
||||
p_terminal_type code of the playback terminal type
|
||||
===================== =======================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/addr
|
||||
What: /sys/kernel/debug/accel/<parent_device>/addr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -8,34 +8,34 @@ Description: Sets the device address to be used for read or write through
|
||||
only when the IOMMU is disabled.
|
||||
The acceptable value is a string that starts with "0x"
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
|
||||
What: /sys/kernel/debug/accel/<parent_device>/clk_gate
|
||||
Date: May 2020
|
||||
KernelVersion: 5.8
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: This setting is now deprecated as clock gating is handled solely by the f/w
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/command_buffers
|
||||
What: /sys/kernel/debug/accel/<parent_device>/command_buffers
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays a list with information about the currently allocated
|
||||
command buffers
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/command_submission
|
||||
What: /sys/kernel/debug/accel/<parent_device>/command_submission
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays a list with information about the currently active
|
||||
command submissions
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
|
||||
What: /sys/kernel/debug/accel/<parent_device>/command_submission_jobs
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays a list with detailed information about each JOB (CB) of
|
||||
each active command submission
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/data32
|
||||
What: /sys/kernel/debug/accel/<parent_device>/data32
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -50,7 +50,7 @@ Description: Allows the root user to read or write directly through the
|
||||
If the IOMMU is disabled, it also allows the root user to read
|
||||
or write from the host a device VA of a host mapped memory
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/data64
|
||||
What: /sys/kernel/debug/accel/<parent_device>/data64
|
||||
Date: Jan 2020
|
||||
KernelVersion: 5.6
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -65,7 +65,7 @@ Description: Allows the root user to read or write 64 bit data directly
|
||||
If the IOMMU is disabled, it also allows the root user to read
|
||||
or write from the host a device VA of a host mapped memory
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/data_dma
|
||||
What: /sys/kernel/debug/accel/<parent_device>/data_dma
|
||||
Date: Apr 2021
|
||||
KernelVersion: 5.13
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -79,11 +79,11 @@ Description: Allows the root user to read from the device's internal
|
||||
a very long time.
|
||||
This interface doesn't support concurrency in the same device.
|
||||
In GAUDI and GOYA, this action can cause undefined behavior
|
||||
in case the it is done while the device is executing user
|
||||
in case it is done while the device is executing user
|
||||
workloads.
|
||||
Only supported on GAUDI at this stage.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/device
|
||||
What: /sys/kernel/debug/accel/<parent_device>/device
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -91,14 +91,14 @@ Description: Enables the root user to set the device to specific state.
|
||||
Valid values are "disable", "enable", "suspend", "resume".
|
||||
User can read this property to see the valid values
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/device_release_watchdog_timeout
|
||||
What: /sys/kernel/debug/accel/<parent_device>/device_release_watchdog_timeout
|
||||
Date: Oct 2022
|
||||
KernelVersion: 6.2
|
||||
Contact: ttayar@habana.ai
|
||||
Description: The watchdog timeout value in seconds for a device release upon
|
||||
certain error cases, after which the device is reset.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/dma_size
|
||||
What: /sys/kernel/debug/accel/<parent_device>/dma_size
|
||||
Date: Apr 2021
|
||||
KernelVersion: 5.13
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -108,7 +108,7 @@ Description: Specify the size of the DMA transaction when using DMA to read
|
||||
When the write is finished, the user can read the "data_dma"
|
||||
blob
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/dump_razwi_events
|
||||
What: /sys/kernel/debug/accel/<parent_device>/dump_razwi_events
|
||||
Date: Aug 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: fkassabri@habana.ai
|
||||
@@ -117,7 +117,7 @@ Description: Dumps all razwi events to dmesg if exist.
|
||||
the routine will clear the status register.
|
||||
Usage: cat dump_razwi_events
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
|
||||
What: /sys/kernel/debug/accel/<parent_device>/dump_security_violations
|
||||
Date: Jan 2021
|
||||
KernelVersion: 5.12
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -125,14 +125,14 @@ Description: Dumps all security violations to dmesg. This will also ack
|
||||
all security violations meanings those violations will not be
|
||||
dumped next time user calls this API
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/engines
|
||||
What: /sys/kernel/debug/accel/<parent_device>/engines
|
||||
Date: Jul 2019
|
||||
KernelVersion: 5.3
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the status registers values of the device engines and
|
||||
their derived idle status
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
|
||||
What: /sys/kernel/debug/accel/<parent_device>/i2c_addr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -140,7 +140,7 @@ Description: Sets I2C device address for I2C transaction that is generated
|
||||
by the device's CPU, Not available when device is loaded with secured
|
||||
firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
|
||||
What: /sys/kernel/debug/accel/<parent_device>/i2c_bus
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -148,7 +148,7 @@ Description: Sets I2C bus address for I2C transaction that is generated by
|
||||
the device's CPU, Not available when device is loaded with secured
|
||||
firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_data
|
||||
What: /sys/kernel/debug/accel/<parent_device>/i2c_data
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -157,7 +157,7 @@ Description: Triggers an I2C transaction that is generated by the device's
|
||||
reading from the file generates a read transaction, Not available
|
||||
when device is loaded with secured firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_len
|
||||
What: /sys/kernel/debug/accel/<parent_device>/i2c_len
|
||||
Date: Dec 2021
|
||||
KernelVersion: 5.17
|
||||
Contact: obitton@habana.ai
|
||||
@@ -165,7 +165,7 @@ Description: Sets I2C length in bytes for I2C transaction that is generated b
|
||||
the device's CPU, Not available when device is loaded with secured
|
||||
firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
|
||||
What: /sys/kernel/debug/accel/<parent_device>/i2c_reg
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -173,35 +173,35 @@ Description: Sets I2C register id for I2C transaction that is generated by
|
||||
the device's CPU, Not available when device is loaded with secured
|
||||
firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/led0
|
||||
What: /sys/kernel/debug/accel/<parent_device>/led0
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Sets the state of the first S/W led on the device, Not available
|
||||
when device is loaded with secured firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/led1
|
||||
What: /sys/kernel/debug/accel/<parent_device>/led1
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Sets the state of the second S/W led on the device, Not available
|
||||
when device is loaded with secured firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/led2
|
||||
What: /sys/kernel/debug/accel/<parent_device>/led2
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Sets the state of the third S/W led on the device, Not available
|
||||
when device is loaded with secured firmware
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
|
||||
What: /sys/kernel/debug/accel/<parent_device>/memory_scrub
|
||||
Date: May 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: dhirschfeld@habana.ai
|
||||
Description: Allows the root user to scrub the dram memory. The scrubbing
|
||||
value can be set using the debugfs file memory_scrub_val.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
|
||||
What: /sys/kernel/debug/accel/<parent_device>/memory_scrub_val
|
||||
Date: May 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: dhirschfeld@habana.ai
|
||||
@@ -209,7 +209,7 @@ Description: The value to which the dram will be set to when the user
|
||||
scrubs the dram using 'memory_scrub' debugfs file and
|
||||
the scrubbing value when using module param 'memory_scrub'
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/mmu
|
||||
What: /sys/kernel/debug/accel/<parent_device>/mmu
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -217,19 +217,19 @@ Description: Displays the hop values and physical address for a given ASID
|
||||
and virtual address. The user should write the ASID and VA into
|
||||
the file and then read the file to get the result.
|
||||
e.g. to display info about VA 0x1000 for ASID 1 you need to do:
|
||||
echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
|
||||
echo "1 0x1000" > /sys/kernel/debug/accel/0/mmu
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/mmu_error
|
||||
What: /sys/kernel/debug/accel/<parent_device>/mmu_error
|
||||
Date: Mar 2021
|
||||
KernelVersion: 5.12
|
||||
Contact: fkassabri@habana.ai
|
||||
Description: Check and display page fault or access violation mmu errors for
|
||||
all MMUs specified in mmu_cap_mask.
|
||||
e.g. to display error info for MMU hw cap bit 9, you need to do:
|
||||
echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
|
||||
cat /sys/kernel/debug/habanalabs/hl0/mmu_error
|
||||
echo "0x200" > /sys/kernel/debug/accel/0/mmu_error
|
||||
cat /sys/kernel/debug/accel/0/mmu_error
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
|
||||
What: /sys/kernel/debug/accel/<parent_device>/monitor_dump
|
||||
Date: Mar 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: osharabi@habana.ai
|
||||
@@ -243,7 +243,7 @@ Description: Allows the root user to dump monitors status from the device's
|
||||
This interface doesn't support concurrency in the same device.
|
||||
Only supported on GAUDI.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
|
||||
What: /sys/kernel/debug/accel/<parent_device>/monitor_dump_trig
|
||||
Date: Mar 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: osharabi@habana.ai
|
||||
@@ -253,14 +253,14 @@ Description: Triggers dump of monitor data. The value to trigger the operatio
|
||||
When the write is finished, the user can read the "monitor_dump"
|
||||
blob
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/set_power_state
|
||||
What: /sys/kernel/debug/accel/<parent_device>/set_power_state
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
|
||||
for D3Hot
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
|
||||
What: /sys/kernel/debug/accel/<parent_device>/skip_reset_on_timeout
|
||||
Date: Jun 2021
|
||||
KernelVersion: 5.13
|
||||
Contact: ynudelman@habana.ai
|
||||
@@ -268,7 +268,7 @@ Description: Sets the skip reset on timeout option for the device. Value of
|
||||
"0" means device will be reset in case some CS has timed out,
|
||||
otherwise it will not be reset.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/state_dump
|
||||
What: /sys/kernel/debug/accel/<parent_device>/state_dump
|
||||
Date: Oct 2021
|
||||
KernelVersion: 5.15
|
||||
Contact: ynudelman@habana.ai
|
||||
@@ -279,7 +279,7 @@ Description: Gets the state dump occurring on a CS timeout or failure.
|
||||
Writing an integer X discards X state dumps, so that the
|
||||
next read would return X+1-st newest state dump.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
|
||||
What: /sys/kernel/debug/accel/<parent_device>/stop_on_err
|
||||
Date: Mar 2020
|
||||
KernelVersion: 5.6
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -287,21 +287,21 @@ Description: Sets the stop-on_error option for the device engines. Value of
|
||||
"0" is for disable, otherwise enable.
|
||||
Relevant only for GOYA and GAUDI.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
|
||||
What: /sys/kernel/debug/accel/<parent_device>/timeout_locked
|
||||
Date: Sep 2021
|
||||
KernelVersion: 5.16
|
||||
Contact: obitton@habana.ai
|
||||
Description: Sets the command submission timeout value in seconds.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/userptr
|
||||
What: /sys/kernel/debug/accel/<parent_device>/userptr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays a list with information about the currently user
|
||||
Description: Displays a list with information about the current user
|
||||
pointers (user virtual addresses) that are pinned and mapped
|
||||
to DMA addresses
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
|
||||
What: /sys/kernel/debug/accel/<parent_device>/userptr_lookup
|
||||
Date: Oct 2021
|
||||
KernelVersion: 5.15
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -309,7 +309,7 @@ Description: Allows to search for specific user pointers (user virtual
|
||||
addresses) that are pinned and mapped to DMA addresses, and see
|
||||
their resolution to the specific dma address.
|
||||
|
||||
What: /sys/kernel/debug/habanalabs/hl<n>/vm
|
||||
What: /sys/kernel/debug/accel/<parent_device>/vm
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/qat/fw_counters
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/fw_counters
|
||||
Date: November 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: qat-linux@intel.com
|
||||
@@ -59,3 +59,25 @@ Description: (RO) Read returns the device health status.
|
||||
|
||||
The driver does not monitor for Heartbeat. It is left for a user
|
||||
to poll the status periodically.
|
||||
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/pm_status
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Read returns power management information specific to the
|
||||
QAT device.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/cnv_errors
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Read returns, for each Acceleration Engine (AE), the number
|
||||
of errors and the type of the last error detected by the device
|
||||
when performing verified compression.
|
||||
Reported counters::
|
||||
|
||||
<N>: Number of Compress and Verify (CnV) errors and type
|
||||
of the last CnV error detected by Acceleration
|
||||
Engine N.
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/control
|
||||
Date: March 2024
|
||||
KernelVersion: 6.8
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RW) Enables/disables the reporting of telemetry metrics.
|
||||
|
||||
Allowed values to write:
|
||||
========================
|
||||
* 0: disable telemetry
|
||||
* 1: enable telemetry
|
||||
* 2, 3, 4: enable telemetry and calculate minimum, maximum
|
||||
and average for each counter over 2, 3 or 4 samples
|
||||
|
||||
Returned values:
|
||||
================
|
||||
* 1-4: telemetry is enabled and running
|
||||
* 0: telemetry is disabled
|
||||
|
||||
Example.
|
||||
|
||||
Writing '3' to this file starts the collection of
|
||||
telemetry metrics. Samples are collected every second and
|
||||
stored in a circular buffer of size 3. These values are then
|
||||
used to calculate the minimum, maximum and average for each
|
||||
counter. After enabling, counters can be retrieved through
|
||||
the ``device_data`` file::
|
||||
|
||||
echo 3 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control
|
||||
|
||||
Writing '0' to this file stops the collection of telemetry
|
||||
metrics::
|
||||
|
||||
echo 0 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/control
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/device_data
|
||||
Date: March 2024
|
||||
KernelVersion: 6.8
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Reports device telemetry counters.
|
||||
Reads report metrics about performance and utilization of
|
||||
a QAT device:
|
||||
|
||||
======================= ========================================
|
||||
Field Description
|
||||
======================= ========================================
|
||||
sample_cnt number of acquisitions of telemetry data
|
||||
from the device. Reads are performed
|
||||
every 1000 ms.
|
||||
pci_trans_cnt number of PCIe partial transactions
|
||||
max_rd_lat maximum logged read latency [ns] (could
|
||||
be any read operation)
|
||||
rd_lat_acc_avg average read latency [ns]
|
||||
max_gp_lat max get to put latency [ns] (only takes
|
||||
samples for AE0)
|
||||
gp_lat_acc_avg average get to put latency [ns]
|
||||
bw_in PCIe, write bandwidth [Mbps]
|
||||
bw_out PCIe, read bandwidth [Mbps]
|
||||
at_page_req_lat_avg Address Translator(AT), average page
|
||||
request latency [ns]
|
||||
at_trans_lat_avg AT, average page translation latency [ns]
|
||||
at_max_tlb_used AT, maximum uTLB used
|
||||
util_cpr<N> utilization of Compression slice N [%]
|
||||
exec_cpr<N> execution count of Compression slice N
|
||||
util_xlt<N> utilization of Translator slice N [%]
|
||||
exec_xlt<N> execution count of Translator slice N
|
||||
util_dcpr<N> utilization of Decompression slice N [%]
|
||||
exec_dcpr<N> execution count of Decompression slice N
|
||||
util_pke<N> utilization of PKE N [%]
|
||||
exec_pke<N> execution count of PKE N
|
||||
util_ucs<N> utilization of UCS slice N [%]
|
||||
exec_ucs<N> execution count of UCS slice N
|
||||
util_wat<N> utilization of Wireless Authentication
|
||||
slice N [%]
|
||||
exec_wat<N> execution count of Wireless Authentication
|
||||
slice N
|
||||
util_wcp<N> utilization of Wireless Cipher slice N [%]
|
||||
exec_wcp<N> execution count of Wireless Cipher slice N
|
||||
util_cph<N> utilization of Cipher slice N [%]
|
||||
exec_cph<N> execution count of Cipher slice N
|
||||
util_ath<N> utilization of Authentication slice N [%]
|
||||
exec_ath<N> execution count of Authentication slice N
|
||||
======================= ========================================
|
||||
|
||||
The telemetry report file can be read with the following command::
|
||||
|
||||
cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/device_data
|
||||
|
||||
If ``control`` is set to 1, only the current values of the
|
||||
counters are displayed::
|
||||
|
||||
<counter_name> <current>
|
||||
|
||||
If ``control`` is 2, 3 or 4, counters are displayed in the
|
||||
following format::
|
||||
|
||||
<counter_name> <current> <min> <max> <avg>
|
||||
|
||||
If a device lacks of a specific accelerator, the corresponding
|
||||
attribute is not reported.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/kernel/debug/qat_<device>_<BDF>/telemetry/rp_<A/B/C/D>_data
|
||||
Date: March 2024
|
||||
KernelVersion: 6.8
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RW) Selects up to 4 Ring Pairs (RP) to monitor, one per file,
|
||||
and report telemetry counters related to each.
|
||||
|
||||
Allowed values to write:
|
||||
========================
|
||||
* 0 to ``<num_rps - 1>``:
|
||||
Ring pair to be monitored. The value of ``num_rps`` can be
|
||||
retrieved through ``/sys/bus/pci/devices/<BDF>/qat/num_rps``.
|
||||
See Documentation/ABI/testing/sysfs-driver-qat.
|
||||
|
||||
Reads report metrics about performance and utilization of
|
||||
the selected RP:
|
||||
|
||||
======================= ========================================
|
||||
Field Description
|
||||
======================= ========================================
|
||||
sample_cnt number of acquisitions of telemetry data
|
||||
from the device. Reads are performed
|
||||
every 1000 ms
|
||||
rp_num RP number associated with slot <A/B/C/D>
|
||||
service_type service associated to the RP
|
||||
pci_trans_cnt number of PCIe partial transactions
|
||||
gp_lat_acc_avg average get to put latency [ns]
|
||||
bw_in PCIe, write bandwidth [Mbps]
|
||||
bw_out PCIe, read bandwidth [Mbps]
|
||||
at_glob_devtlb_hit Message descriptor DevTLB hit rate
|
||||
at_glob_devtlb_miss Message descriptor DevTLB miss rate
|
||||
tl_at_payld_devtlb_hit Payload DevTLB hit rate
|
||||
tl_at_payld_devtlb_miss Payload DevTLB miss rate
|
||||
======================= ========================================
|
||||
|
||||
Example.
|
||||
|
||||
Writing the value '32' to the file ``rp_C_data`` starts the
|
||||
collection of telemetry metrics for ring pair 32::
|
||||
|
||||
echo 32 > /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data
|
||||
|
||||
Once a ring pair is selected, statistics can be read accessing
|
||||
the file::
|
||||
|
||||
cat /sys/kernel/debug/qat_4xxx_0000:6b:00.0/telemetry/rp_C_data
|
||||
|
||||
If ``control`` is set to 1, only the current values of the
|
||||
counters are displayed::
|
||||
|
||||
<counter_name> <current>
|
||||
|
||||
If ``control`` is 2, 3 or 4, counters are displayed in the
|
||||
following format::
|
||||
|
||||
<counter_name> <current> <min> <max> <avg>
|
||||
|
||||
|
||||
On QAT GEN4 devices there are 64 RPs on a PF, so the allowed
|
||||
values are 0..63. This number is absolute to the device.
|
||||
If Virtual Functions (VF) are used, the ring pair number can
|
||||
be derived from the Bus, Device, Function of the VF:
|
||||
|
||||
============ ====== ====== ====== ======
|
||||
PCI BDF/VF RP0 RP1 RP2 RP3
|
||||
============ ====== ====== ====== ======
|
||||
0000:6b:0.1 RP 0 RP 1 RP 2 RP 3
|
||||
0000:6b:0.2 RP 4 RP 5 RP 6 RP 7
|
||||
0000:6b:0.3 RP 8 RP 9 RP 10 RP 11
|
||||
0000:6b:0.4 RP 12 RP 13 RP 14 RP 15
|
||||
0000:6b:0.5 RP 16 RP 17 RP 18 RP 19
|
||||
0000:6b:0.6 RP 20 RP 21 RP 22 RP 23
|
||||
0000:6b:0.7 RP 24 RP 25 RP 26 RP 27
|
||||
0000:6b:1.0 RP 28 RP 29 RP 30 RP 31
|
||||
0000:6b:1.1 RP 32 RP 33 RP 34 RP 35
|
||||
0000:6b:1.2 RP 36 RP 37 RP 38 RP 39
|
||||
0000:6b:1.3 RP 40 RP 41 RP 42 RP 43
|
||||
0000:6b:1.4 RP 44 RP 45 RP 46 RP 47
|
||||
0000:6b:1.5 RP 48 RP 49 RP 50 RP 51
|
||||
0000:6b:1.6 RP 52 RP 53 RP 54 RP 55
|
||||
0000:6b:1.7 RP 56 RP 57 RP 58 RP 59
|
||||
0000:6b:2.0 RP 60 RP 61 RP 62 RP 63
|
||||
============ ====== ====== ====== ======
|
||||
|
||||
The mapping is only valid for the BDFs of VFs on the host.
|
||||
|
||||
|
||||
The service provided on a ring-pair varies depending on the
|
||||
configuration. The configuration for a given device can be
|
||||
queried and set using ``cfg_services``.
|
||||
See Documentation/ABI/testing/sysfs-driver-qat for details.
|
||||
|
||||
The following table reports how ring pairs are mapped to VFs
|
||||
on the PF 0000:6b:0.0 configured for `sym;asym` or `asym;sym`:
|
||||
|
||||
=========== ============ =========== ============ ===========
|
||||
PCI BDF/VF RP0/service RP1/service RP2/service RP3/service
|
||||
=========== ============ =========== ============ ===========
|
||||
0000:6b:0.1 RP 0 asym RP 1 sym RP 2 asym RP 3 sym
|
||||
0000:6b:0.2 RP 4 asym RP 5 sym RP 6 asym RP 7 sym
|
||||
0000:6b:0.3 RP 8 asym RP 9 sym RP10 asym RP11 sym
|
||||
... ... ... ... ...
|
||||
=========== ============ =========== ============ ===========
|
||||
|
||||
All VFs follow the same pattern.
|
||||
|
||||
|
||||
The following table reports how ring pairs are mapped to VFs on
|
||||
the PF 0000:6b:0.0 configured for `dc`:
|
||||
|
||||
=========== ============ =========== ============ ===========
|
||||
PCI BDF/VF RP0/service RP1/service RP2/service RP3/service
|
||||
=========== ============ =========== ============ ===========
|
||||
0000:6b:0.1 RP 0 dc RP 1 dc RP 2 dc RP 3 dc
|
||||
0000:6b:0.2 RP 4 dc RP 5 dc RP 6 dc RP 7 dc
|
||||
0000:6b:0.3 RP 8 dc RP 9 dc RP10 dc RP11 dc
|
||||
... ... ... ... ...
|
||||
=========== ============ =========== ============ ===========
|
||||
|
||||
The mapping of a RP to a service can be retrieved using
|
||||
``rp2srv`` from sysfs.
|
||||
See Documentation/ABI/testing/sysfs-driver-qat for details.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
@@ -101,7 +101,7 @@ What: /sys/kernel/debug/hisi_hpre/<bdf>/qm/status
|
||||
Date: Apr 2020
|
||||
Contact: linux-crypto@vger.kernel.org
|
||||
Description: Dump the status of the QM.
|
||||
Four states: initiated, started, stopped and closed.
|
||||
Two states: work, stop.
|
||||
Available for both PF and VF, and take no other effect on HPRE.
|
||||
|
||||
What: /sys/kernel/debug/hisi_hpre/<bdf>/qm/diff_regs
|
||||
|
||||
@@ -81,7 +81,7 @@ What: /sys/kernel/debug/hisi_sec2/<bdf>/qm/status
|
||||
Date: Apr 2020
|
||||
Contact: linux-crypto@vger.kernel.org
|
||||
Description: Dump the status of the QM.
|
||||
Four states: initiated, started, stopped and closed.
|
||||
Two states: work, stop.
|
||||
Available for both PF and VF, and take no other effect on SEC.
|
||||
|
||||
What: /sys/kernel/debug/hisi_sec2/<bdf>/qm/diff_regs
|
||||
|
||||
@@ -94,7 +94,7 @@ What: /sys/kernel/debug/hisi_zip/<bdf>/qm/status
|
||||
Date: Apr 2020
|
||||
Contact: linux-crypto@vger.kernel.org
|
||||
Description: Dump the status of the QM.
|
||||
Four states: initiated, started, stopped and closed.
|
||||
Two states: work, stop.
|
||||
Available for both PF and VF, and take no other effect on ZIP.
|
||||
|
||||
What: /sys/kernel/debug/hisi_zip/<bdf>/qm/diff_regs
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
What: /sys/kernel/debug/vfio
|
||||
Date: December 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: Longfang Liu <liulongfang@huawei.com>
|
||||
Description: This debugfs file directory is used for debugging
|
||||
of vfio devices, it's a common directory for all vfio devices.
|
||||
Vfio core will create a device subdirectory under this
|
||||
directory.
|
||||
|
||||
What: /sys/kernel/debug/vfio/<device>/migration
|
||||
Date: December 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: Longfang Liu <liulongfang@huawei.com>
|
||||
Description: This debugfs file directory is used for debugging
|
||||
of vfio devices that support live migration.
|
||||
The debugfs of each vfio device that supports live migration
|
||||
could be created under this directory.
|
||||
|
||||
What: /sys/kernel/debug/vfio/<device>/migration/state
|
||||
Date: December 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: Longfang Liu <liulongfang@huawei.com>
|
||||
Description: Read the live migration status of the vfio device.
|
||||
The contents of the state file reflects the migration state
|
||||
relative to those defined in the vfio_device_mig_state enum
|
||||
@@ -28,14 +28,57 @@ Description:
|
||||
of a device manufacturer.
|
||||
Combination of Vendor ID and Device ID identifies a device.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../subsystem_vendor
|
||||
Date: July 2023
|
||||
Contact: puneet.gupta@amd.com
|
||||
Description:
|
||||
Subsystem Vendor ID for this CDX device, in hexadecimal.
|
||||
Subsystem Vendor ID is 16 bit identifier specific to the
|
||||
card manufacturer.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../subsystem_device
|
||||
Date: July 2023
|
||||
Contact: puneet.gupta@amd.com
|
||||
Description:
|
||||
Subsystem Device ID for this CDX device, in hexadecimal
|
||||
Subsystem Device ID is 16 bit identifier specific to the
|
||||
card manufacturer.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../class
|
||||
Date: July 2023
|
||||
Contact: puneet.gupta@amd.com
|
||||
Description:
|
||||
This file contains the class of the CDX device, in hexadecimal.
|
||||
Class is 24 bit identifier specifies the functionality of the device.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../revision
|
||||
Date: July 2023
|
||||
Contact: puneet.gupta@amd.com
|
||||
Description:
|
||||
This file contains the revision field of the CDX device, in hexadecimal.
|
||||
Revision is 8 bit revision identifier of the device.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../enable
|
||||
Date: October 2023
|
||||
Contact: abhijit.gangurde@amd.com
|
||||
Description:
|
||||
CDX bus should be disabled before updating the devices in FPGA.
|
||||
Writing n/0/off will attempt to disable the CDX bus and.
|
||||
writing y/1/on will attempt to enable the CDX bus. Reading this file
|
||||
gives the current state of the bus, 1 for enabled and 0 for disabled.
|
||||
|
||||
For example::
|
||||
|
||||
# echo 1 > /sys/bus/cdx/.../enable
|
||||
|
||||
What: /sys/bus/cdx/devices/.../reset
|
||||
Date: March 2023
|
||||
Contact: nipun.gupta@amd.com
|
||||
Description:
|
||||
Writing y/1/on to this file resets the CDX device.
|
||||
On resetting the device, the corresponding driver is notified
|
||||
twice, once before the device is being reset, and again after
|
||||
the reset has been complete.
|
||||
Writing y/1/on to this file resets the CDX device or all devices
|
||||
on the bus. On resetting the device, the corresponding driver is
|
||||
notified twice, once before the device is being reset, and again
|
||||
after the reset has been complete.
|
||||
|
||||
For example::
|
||||
|
||||
@@ -54,3 +97,25 @@ Description:
|
||||
For example::
|
||||
|
||||
# echo 1 > /sys/bus/cdx/devices/.../remove
|
||||
|
||||
What: /sys/bus/cdx/devices/.../resource<N>
|
||||
Date: July 2023
|
||||
Contact: puneet.gupta@amd.com
|
||||
Description:
|
||||
The resource binary file contains the content of the memory
|
||||
regions. These files can be m'maped from userspace.
|
||||
|
||||
What: /sys/bus/cdx/devices/.../modalias
|
||||
Date: July 2023
|
||||
Contact: nipun.gupta@amd.com
|
||||
Description:
|
||||
This attribute indicates the CDX ID of the device.
|
||||
That is in the format:
|
||||
cdx:vXXXXdXXXXsvXXXXsdXXXXcXXXXXX,
|
||||
where:
|
||||
|
||||
- vXXXX contains the vendor ID;
|
||||
- dXXXX contains the device ID;
|
||||
- svXXXX contains the subsystem vendor ID;
|
||||
- sdXXXX contains the subsystem device ID;
|
||||
- cXXXXXX contains the device class.
|
||||
|
||||
@@ -91,3 +91,19 @@ Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||
Description: (RW) Size of the trace buffer for TMC-ETR when used in SYSFS
|
||||
mode. Writable only for TMC-ETR configurations. The value
|
||||
should be aligned to the kernel pagesize.
|
||||
|
||||
What: /sys/bus/coresight/devices/<memory_map>.tmc/buf_modes_available
|
||||
Date: August 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Description: (Read) Shows all supported Coresight TMC-ETR buffer modes available
|
||||
for the users to configure explicitly. This file is avaialble only
|
||||
for TMC ETR devices.
|
||||
|
||||
What: /sys/bus/coresight/devices/<memory_map>.tmc/buf_mode_preferred
|
||||
Date: August 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Description: (RW) Current Coresight TMC-ETR buffer mode selected. But user could
|
||||
only provide a mode which is supported for a given ETR device. This
|
||||
file is available only for TMC ETR devices.
|
||||
|
||||
@@ -11,3 +11,162 @@ Description:
|
||||
Accepts only one of the 2 values - 1 or 2.
|
||||
1 : Generate 64 bits data
|
||||
2 : Generate 32 bits data
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/reset_dataset
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Reset the dataset of the tpdm.
|
||||
|
||||
Accepts only one value - 1.
|
||||
1 : Reset the dataset of the tpdm
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the trigger type of the DSB for tpdm.
|
||||
|
||||
Accepts only one of the 2 values - 0 or 1.
|
||||
0 : Set the DSB trigger type to false
|
||||
1 : Set the DSB trigger type to true
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the trigger timestamp of the DSB for tpdm.
|
||||
|
||||
Accepts only one of the 2 values - 0 or 1.
|
||||
0 : Set the DSB trigger type to false
|
||||
1 : Set the DSB trigger type to true
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_mode
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the programming mode of the DSB for tpdm.
|
||||
|
||||
Accepts the value needs to be greater than 0. What data
|
||||
bits do is listed below.
|
||||
Bit[0:1] : Test mode control bit for choosing the inputs.
|
||||
Bit[3] : Set to 0 for low performance mode. Set to 1 for high
|
||||
performance mode.
|
||||
Bit[4:8] : Select byte lane for high performance mode.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_idx
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the index number of the edge detection for the DSB
|
||||
subunit TPDM. Since there are at most 256 edge detections, this
|
||||
value ranges from 0 to 255.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_val
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
Write a data to control the edge detection corresponding to
|
||||
the index number. Before writing data to this sysfs file,
|
||||
"ctrl_idx" should be written first to configure the index
|
||||
number of the edge detection which needs to be controlled.
|
||||
|
||||
Accepts only one of the following values.
|
||||
0 - Rising edge detection
|
||||
1 - Falling edge detection
|
||||
2 - Rising and falling edge detection (toggle detection)
|
||||
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
Write a data to mask the edge detection corresponding to the index
|
||||
number. Before writing data to this sysfs file, "ctrl_idx" should
|
||||
be written first to configure the index number of the edge detection
|
||||
which needs to be masked.
|
||||
|
||||
Accepts only one of the 2 values - 0 or 1.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcr[0:15]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
Read a set of the edge control value of the DSB in TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
Read a set of the edge control mask of the DSB in TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the value of the trigger pattern for the DSB
|
||||
subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpmr[0:7]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the mask of the trigger pattern for the DSB
|
||||
subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:7]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the value of the pattern for the DSB subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:7]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the mask of the pattern for the DSB subunit TPDM.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Set the pattern timestamp of DSB tpdm. Read
|
||||
the pattern timestamp of DSB tpdm.
|
||||
|
||||
Accepts only one of the 2 values - 0 or 1.
|
||||
0 : Disable DSB pattern timestamp.
|
||||
1 : Enable DSB pattern timestamp.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/set_type
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(Write) Set the pattern type of DSB tpdm. Read
|
||||
the pattern type of DSB tpdm.
|
||||
|
||||
Accepts only one of the 2 values - 0 or 1.
|
||||
0 : Set the DSB pattern type to value.
|
||||
1 : Set the DSB pattern type to toggle.
|
||||
|
||||
What: /sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31]
|
||||
Date: March 2023
|
||||
KernelVersion 6.7
|
||||
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
|
||||
Description:
|
||||
(RW) Set/Get the MSR(mux select register) for the DSB subunit
|
||||
TPDM.
|
||||
|
||||
@@ -28,6 +28,23 @@ Description:
|
||||
Payload in the CXL-2.0 specification.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/memX/ram/qos_class
|
||||
Date: May, 2023
|
||||
KernelVersion: v6.8
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
(RO) For CXL host platforms that support "QoS Telemmetry"
|
||||
this attribute conveys a comma delimited list of platform
|
||||
specific cookies that identifies a QoS performance class
|
||||
for the volatile partition of the CXL mem device. These
|
||||
class-ids can be compared against a similar "qos_class"
|
||||
published for a root decoder. While it is not required
|
||||
that the endpoints map their local memory-class to a
|
||||
matching platform class, mismatches are not recommended
|
||||
and there are platform specific performance related
|
||||
side-effects that may result. First class-id is displayed.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/memX/pmem/size
|
||||
Date: December, 2020
|
||||
KernelVersion: v5.12
|
||||
@@ -38,6 +55,23 @@ Description:
|
||||
Payload in the CXL-2.0 specification.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/memX/pmem/qos_class
|
||||
Date: May, 2023
|
||||
KernelVersion: v6.8
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
(RO) For CXL host platforms that support "QoS Telemmetry"
|
||||
this attribute conveys a comma delimited list of platform
|
||||
specific cookies that identifies a QoS performance class
|
||||
for the persistent partition of the CXL mem device. These
|
||||
class-ids can be compared against a similar "qos_class"
|
||||
published for a root decoder. While it is not required
|
||||
that the endpoints map their local memory-class to a
|
||||
matching platform class, mismatches are not recommended
|
||||
and there are platform specific performance related
|
||||
side-effects that may result. First class-id is displayed.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/memX/serial
|
||||
Date: January, 2022
|
||||
KernelVersion: v5.18
|
||||
@@ -178,6 +212,21 @@ Description:
|
||||
hardware decoder target list.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/portX/decoders_committed
|
||||
Date: October, 2023
|
||||
KernelVersion: v6.7
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
(RO) A memory device is considered active when any of its
|
||||
decoders are in the "committed" state (See CXL 3.0 8.2.4.19.7
|
||||
CXL HDM Decoder n Control Register). Hotplug and destructive
|
||||
operations like "sanitize" are blocked while device is actively
|
||||
decoding a Host Physical Address range. Note that this number
|
||||
may be elevated without any regionX objects active or even
|
||||
enumerated, as this may be due to decoders established by
|
||||
platform firwmare or a previous kernel (kexec).
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/decoderX.Y
|
||||
Date: June, 2021
|
||||
KernelVersion: v5.14
|
||||
@@ -369,6 +418,21 @@ Description:
|
||||
provided it is currently idle / not bound to a driver.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/decoderX.Y/qos_class
|
||||
Date: May, 2023
|
||||
KernelVersion: v6.5
|
||||
Contact: linux-cxl@vger.kernel.org
|
||||
Description:
|
||||
(RO) For CXL host platforms that support "QoS Telemmetry" this
|
||||
root-decoder-only attribute conveys a platform specific cookie
|
||||
that identifies a QoS performance class for the CXL Window.
|
||||
This class-id can be compared against a similar "qos_class"
|
||||
published for each memory-type that an endpoint supports. While
|
||||
it is not required that endpoints map their local memory-class
|
||||
to a matching platform class, mismatches are not recommended and
|
||||
there are platform specific side-effects that may result.
|
||||
|
||||
|
||||
What: /sys/bus/cxl/devices/regionZ/uuid
|
||||
Date: May, 2022
|
||||
KernelVersion: v6.0
|
||||
|
||||
@@ -16,3 +16,9 @@ Description:
|
||||
Example output in powerpc:
|
||||
grep . /sys/bus/event_source/devices/cpu/caps/*
|
||||
/sys/bus/event_source/devices/cpu/caps/pmu_name:POWER9
|
||||
|
||||
The "branch_counter_nr" in the supported platform exposes the
|
||||
maximum number of counters which can be shown in the u64 counters
|
||||
of PERF_SAMPLE_BRANCH_COUNTERS, while the "branch_counter_width"
|
||||
exposes the width of each counter. Both of them can be used by
|
||||
the perf tool to parse the logged counters in each branch.
|
||||
|
||||
@@ -67,7 +67,7 @@ What: /sys/bus/i3c/devices/i3c-<bus-id>/pid
|
||||
KernelVersion: 5.0
|
||||
Contact: linux-i3c@vger.kernel.org
|
||||
Description:
|
||||
PID stands for Provisional ID and is used to uniquely identify
|
||||
PID stands for Provisioned ID and is used to uniquely identify
|
||||
a device on a bus. This PID contains information about the
|
||||
vendor, the part and an instance ID so that several devices of
|
||||
the same type can be connected on the same bus.
|
||||
@@ -88,6 +88,21 @@ Description:
|
||||
This entry describes the HDRCAP of the master controller
|
||||
driving the bus.
|
||||
|
||||
What: /sys/bus/i3c/devices/i3c-<bus-id>/hotjoin
|
||||
KernelVersion: 6.8
|
||||
Contact: linux-i3c@vger.kernel.org
|
||||
Description:
|
||||
I3C’s Hot-Join mechanism allows an I3C Device to inform the
|
||||
Active Controller that a newly-joined Target is present on the
|
||||
I3C Bus and is ready to receive a Dynamic Address, in order to
|
||||
become fully functional on the Bus. Hot-Join is used when the
|
||||
Target is mounted on the same I3C bus and remains depowered
|
||||
until needed or until the Target is physically inserted into the
|
||||
I3C bus
|
||||
|
||||
This entry allows to enable or disable Hot-join of the Current
|
||||
Controller driving the bus.
|
||||
|
||||
What: /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>
|
||||
KernelVersion: 5.0
|
||||
Contact: linux-i3c@vger.kernel.org
|
||||
@@ -123,7 +138,7 @@ What: /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/pid
|
||||
KernelVersion: 5.0
|
||||
Contact: linux-i3c@vger.kernel.org
|
||||
Description:
|
||||
PID stands for Provisional ID and is used to uniquely identify
|
||||
PID stands for Provisioned ID and is used to uniquely identify
|
||||
a device on a bus. This PID contains information about the
|
||||
vendor, the part and an instance ID so that several devices of
|
||||
the same type can be connected on the same bus.
|
||||
|
||||
@@ -279,6 +279,35 @@ Description:
|
||||
but should match other such assignments on device).
|
||||
Units after application of scale and offset are m/s^2.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltaangl_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltaangl_y_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltaangl_z_raw
|
||||
KernelVersion: 6.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Angular displacement between two consecutive samples on x, y or
|
||||
z (may be arbitrarily assigned but should match other such
|
||||
assignments on device).
|
||||
In order to compute the total angular displacement during a
|
||||
desired period of time, the application should sum-up the delta
|
||||
angle samples acquired during that time.
|
||||
Units after application of scale and offset are radians.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltavelocity_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltavelocity_y_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltavelocity_z_raw
|
||||
KernelVersion: 6.5
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
The linear velocity change between two consecutive samples on x,
|
||||
y or z (may be arbitrarily assigned but should match other such
|
||||
assignments on device).
|
||||
In order to compute the total linear velocity change during a
|
||||
desired period of time, the application should sum-up the delta
|
||||
velocity samples acquired during that time.
|
||||
Units after application of scale and offset are meters per
|
||||
second.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglY_raw
|
||||
KernelVersion: 4.17
|
||||
@@ -333,10 +362,21 @@ Description:
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_accel_x_peak_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_peak_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_peak_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_peak_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_peak_raw
|
||||
KernelVersion: 2.6.36
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Highest value since some reset condition. These
|
||||
Highest value since some reset condition. These
|
||||
attributes allow access to this and are otherwise
|
||||
the direct equivalent of the <type>Y[_name]_raw attributes.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_trough_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp_trough_raw
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Lowest value since some reset condition. These
|
||||
attributes allow access to this and are otherwise
|
||||
the direct equivalent of the <type>Y[_name]_raw attributes.
|
||||
|
||||
@@ -461,6 +501,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_illuminance_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_countY_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltaangl_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_deltavelocity_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_angl_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale
|
||||
@@ -587,7 +629,9 @@ KernelVersion: 2.6.35
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
If a discrete set of scale values is available, they
|
||||
are listed in this attribute.
|
||||
are listed in this attribute. Unlike illumination,
|
||||
multiplying intensity by intensity_scale does not
|
||||
yield value with any standardized unit.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_hardwaregain
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_hardwaregain
|
||||
@@ -1332,6 +1376,12 @@ Description:
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_x_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_y_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_z_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_x_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_y_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_z_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_x_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_y_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_z_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_x_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_y_en
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_z_en
|
||||
@@ -1362,6 +1412,8 @@ Description:
|
||||
Scan element control for triggered data capture.
|
||||
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_type
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_type
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_type
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_type
|
||||
What: /sys/.../iio:deviceX/bufferY/in_magn_type
|
||||
What: /sys/.../iio:deviceX/bufferY/in_incli_type
|
||||
@@ -1416,6 +1468,12 @@ What: /sys/.../iio:deviceX/bufferY/in_voltage_q_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_x_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_y_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_accel_z_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_x_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_y_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltaangl_z_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_x_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_y_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_deltavelocity_z_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_x_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_y_index
|
||||
What: /sys/.../iio:deviceX/bufferY/in_anglvel_z_index
|
||||
@@ -1529,6 +1587,8 @@ What: /sys/.../iio:deviceX/in_intensityY_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_ir_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_both_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_uv_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_uva_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_uvb_raw
|
||||
What: /sys/.../iio:deviceX/in_intensityY_duv_raw
|
||||
KernelVersion: 3.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
@@ -1537,8 +1597,9 @@ Description:
|
||||
that measurements contain visible and infrared light
|
||||
components or just infrared light, respectively. Modifier
|
||||
uv indicates that measurements contain ultraviolet light
|
||||
components. Modifier duv indicates that measurements
|
||||
contain deep ultraviolet light components.
|
||||
components. Modifiers uva, uvb and duv indicate that
|
||||
measurements contain A, B or deep (C) ultraviolet light
|
||||
components respectively.
|
||||
|
||||
What: /sys/.../iio:deviceX/in_uvindex_input
|
||||
KernelVersion: 4.6
|
||||
@@ -2179,3 +2240,51 @@ Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Number of conditions that must occur, during a running
|
||||
period, before an event is generated.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_colortemp_raw
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Represents light color temperature, which measures light color
|
||||
temperature in Kelvin.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_chromaticity_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_chromaticity_y_raw
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
The x and y light color coordinate on the CIE 1931 chromaticity
|
||||
diagram.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_either_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_rising_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_thresh_falling_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_thresh_rising_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_anglvelY_mag_rising_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_anglY_thresh_rising_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_phaseY_mag_rising_label
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Optional symbolic label to a device channel event.
|
||||
If a label is defined for this event add that to the event
|
||||
specific attributes. This is useful for userspace to be able to
|
||||
better identify an individual event.
|
||||
|
||||
What: /sys/.../events/in_accel_gesture_tap_wait_timeout
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Enable tap gesture confirmation with timeout.
|
||||
|
||||
What: /sys/.../events/in_accel_gesture_tap_wait_dur
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Timeout value in seconds for tap gesture confirmation.
|
||||
|
||||
What: /sys/.../events/in_accel_gesture_tap_wait_dur_available
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
List of available timeout value for tap gesture confirmation.
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/boost_current_gain
|
||||
KernelVersion: 6.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute is used to set the gain of the biasing current
|
||||
circuit of the Delta-Sigma modulator. The different BOOST
|
||||
settings are applied to the entire modulator circuit, including
|
||||
the voltage reference buffers.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/boost_current_gain_available
|
||||
KernelVersion: 6.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns a list with the possible gain values for
|
||||
the current biasing circuit of the Delta-Sigma modulator.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/auto_zeroing_mux_enable
|
||||
KernelVersion: 6.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute is used to enable the analog input multiplexer
|
||||
auto-zeroing algorithm (the input multiplexer and the ADC
|
||||
include an offset cancellation algorithm that cancels the offset
|
||||
contribution of the ADC). When the offset cancellation algorithm
|
||||
is enabled, ADC takes two conversions, one with the differential
|
||||
input as VIN+/VIN-, one with VIN+/VIN- inverted. In this case the
|
||||
conversion time is multiplied by two compared to the default
|
||||
case where the algorithm is disabled. This technique allows the
|
||||
cancellation of the ADC offset error and the achievement of
|
||||
ultra-low offset without any digital calibration. The resulting
|
||||
offset is the residue of the difference between the two
|
||||
conversions, which is on the order of magnitude of the noise
|
||||
floor. This offset is effectively canceled at every conversion,
|
||||
so the residual offset error temperature drift is extremely low.
|
||||
Write '1' to enable it, write '0' to disable it.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/auto_zeroing_ref_enable
|
||||
KernelVersion: 6.4
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
This attribute is used to enable the chopping algorithm for the
|
||||
internal voltage reference buffer. This setting has no effect
|
||||
when external voltage reference is selected.
|
||||
Internal voltage reference buffer injects a certain quantity of
|
||||
1/f noise into the system that can be modulated with the
|
||||
incoming input signals and can limit the SNR performance at
|
||||
higher Oversampling Ratio values (over 256). To overcome this
|
||||
limitation, the buffer includes an auto-zeroing algorithm that
|
||||
greatly reduces (cancels out) the 1/f noise and cancels the
|
||||
offset value of the reference buffer. As a result, the SNR of
|
||||
the system is not affected by this 1/f noise component of the
|
||||
reference buffer, even at maximum oversampling ratio values.
|
||||
Write '1' to enable it, write '0' to disable it.
|
||||
@@ -0,0 +1,27 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns the current Degradation of Signal Reset Maximum
|
||||
Threshold value in millivolts. Writing sets the value.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_max_available
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns the allowable voltage range for
|
||||
in_altvoltage0_mag_rising_reset_max.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns the current Degradation of Signal Reset Minimum
|
||||
Threshold value in millivolts. Writing sets the value.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltage0_mag_rising_reset_min_available
|
||||
KernelVersion: 6.7
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns the allowable voltage range for
|
||||
in_altvoltage0_mag_rising_reset_min.
|
||||
@@ -6,3 +6,12 @@ Description:
|
||||
OP-TEE bus provides reference to registered drivers under this directory. The <uuid>
|
||||
matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers
|
||||
are free to create needed API under optee-ta-<uuid> directory.
|
||||
|
||||
What: /sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant
|
||||
Date: November 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: op-tee@lists.trustedfirmware.org
|
||||
Description:
|
||||
Allows to distinguish whether an OP-TEE based TA/device requires user-space
|
||||
tee-supplicant to function properly or not. This attribute will be present for
|
||||
devices which depend on tee-supplicant to be running.
|
||||
|
||||
@@ -8,7 +8,7 @@ Description:
|
||||
more bits set in the dimm-health-bitmap retrieved in
|
||||
response to H_SCM_HEALTH hcall. The details of the bit
|
||||
flags returned in response to this hcall is available
|
||||
at 'Documentation/powerpc/papr_hcalls.rst' . Below are
|
||||
at 'Documentation/arch/powerpc/papr_hcalls.rst' . Below are
|
||||
the flags reported in this sysfs file:
|
||||
|
||||
* "not_armed"
|
||||
|
||||
@@ -25,6 +25,9 @@ KernelVersion: 5.14
|
||||
Contact: linux-mtd@lists.infradead.org
|
||||
Description: (RO) Part name of the SPI NOR flash.
|
||||
|
||||
The attribute is optional. User space should not rely on
|
||||
it to be present or even correct. Instead, user space
|
||||
should read the jedec_id attribute.
|
||||
|
||||
What: /sys/bus/spi/devices/.../spi-nor/sfdp
|
||||
Date: April 2021
|
||||
|
||||
@@ -313,6 +313,15 @@ Description:
|
||||
Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
|
||||
direction. Devices before USB 3.2 are single lane (tx_lanes = 1)
|
||||
|
||||
What: /sys/bus/usb/devices/.../typec
|
||||
Date: November 2023
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
Symlink to the USB Type-C partner device. USB Type-C partner
|
||||
represents the component that communicates over the
|
||||
Configuration Channel (CC signal on USB Type-C connectors and
|
||||
cables) with the local port.
|
||||
|
||||
What: /sys/bus/usb/devices/usbX/bAlternateSetting
|
||||
Description:
|
||||
The current interface alternate setting number, in decimal.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/bus/vdpa/driver_autoprobe
|
||||
What: /sys/bus/vdpa/drivers_autoprobe
|
||||
Date: March 2020
|
||||
Contact: virtualization@lists.linux-foundation.org
|
||||
Description:
|
||||
@@ -17,7 +17,7 @@ Description:
|
||||
Writing a device name to this file will cause the kernel binds
|
||||
devices to a compatible driver.
|
||||
|
||||
This can be useful when /sys/bus/vdpa/driver_autoprobe is
|
||||
This can be useful when /sys/bus/vdpa/drivers_autoprobe is
|
||||
disabled.
|
||||
|
||||
What: /sys/bus/vdpa/drivers/.../bind
|
||||
|
||||
@@ -52,6 +52,9 @@ Description:
|
||||
|
||||
echo 0 > /sys/class/devfreq/.../trans_stat
|
||||
|
||||
If the transition table is bigger than PAGE_SIZE, reading
|
||||
this will return an -EFBIG error.
|
||||
|
||||
What: /sys/class/devfreq/.../available_frequencies
|
||||
Date: October 2012
|
||||
Contact: Nishanth Menon <nm@ti.com>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
What: /sys/class/firmware/.../data
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: The data sysfs file is used for firmware-fallback and for
|
||||
firmware uploads. Cat a firmware image to this sysfs file
|
||||
after you echo 1 to the loading sysfs file. When the firmware
|
||||
@@ -13,7 +13,7 @@ Description: The data sysfs file is used for firmware-fallback and for
|
||||
What: /sys/class/firmware/.../cancel
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: Write-only. For firmware uploads, write a "1" to this file to
|
||||
request that the transfer of firmware data to the lower-level
|
||||
device be canceled. This request will be rejected (EBUSY) if
|
||||
@@ -23,7 +23,7 @@ Description: Write-only. For firmware uploads, write a "1" to this file to
|
||||
What: /sys/class/firmware/.../error
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: Read-only. Returns a string describing a failed firmware
|
||||
upload. This string will be in the form of <STATUS>:<ERROR>,
|
||||
where <STATUS> will be one of the status strings described
|
||||
@@ -37,7 +37,7 @@ Description: Read-only. Returns a string describing a failed firmware
|
||||
What: /sys/class/firmware/.../loading
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: The loading sysfs file is used for both firmware-fallback and
|
||||
for firmware uploads. Echo 1 onto the loading file to indicate
|
||||
you are writing a firmware file to the data sysfs node. Echo
|
||||
@@ -49,7 +49,7 @@ Description: The loading sysfs file is used for both firmware-fallback and
|
||||
What: /sys/class/firmware/.../remaining_size
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: Read-only. For firmware upload, this file contains the size
|
||||
of the firmware data that remains to be transferred to the
|
||||
lower-level device driver. The size value is initialized to
|
||||
@@ -62,7 +62,7 @@ Description: Read-only. For firmware upload, this file contains the size
|
||||
What: /sys/class/firmware/.../status
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: Read-only. Returns a string describing the current status of
|
||||
a firmware upload. The string will be one of the following:
|
||||
idle, "receiving", "preparing", "transferring", "programming".
|
||||
@@ -70,7 +70,7 @@ Description: Read-only. Returns a string describing the current status of
|
||||
What: /sys/class/firmware/.../timeout
|
||||
Date: July 2022
|
||||
KernelVersion: 5.19
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Russ Weight <russ.weight@linux.dev>
|
||||
Description: This file supports the timeout mechanism for firmware
|
||||
fallback. This file has no affect on firmware uploads. For
|
||||
more information on timeouts please see the documentation
|
||||
|
||||
@@ -383,6 +383,36 @@ Description:
|
||||
Note that any changes to this attribute requires a reboot
|
||||
for changes to take effect.
|
||||
|
||||
What: /sys/class/firmware-attributes/*/attributes/save_settings
|
||||
Date: August 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: Mark Pearson <mpearson-lenovo@squebb.ca>
|
||||
Description:
|
||||
On Lenovo platforms there is a limitation in the number of times an attribute can be
|
||||
saved. This is an architectural limitation and it limits the number of attributes
|
||||
that can be modified to 48.
|
||||
A solution for this is instead of the attribute being saved after every modification,
|
||||
to allow a user to bulk set the attributes, and then trigger a final save. This allows
|
||||
unlimited attributes.
|
||||
|
||||
Read the attribute to check what save mode is enabled (single or bulk).
|
||||
E.g:
|
||||
# cat /sys/class/firmware-attributes/thinklmi/attributes/save_settings
|
||||
single
|
||||
|
||||
Write the attribute with 'bulk' to enable bulk save mode.
|
||||
Write the attribute with 'single' to enable saving, after every attribute set.
|
||||
The default setting is single mode.
|
||||
E.g:
|
||||
# echo bulk > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
|
||||
|
||||
When in bulk mode write 'save' to trigger a save of all currently modified attributes.
|
||||
Note, once a save has been triggered, in bulk mode, attributes can no longer be set and
|
||||
will return a permissions error. This is to prevent users hitting the 48+ save limitation
|
||||
(which requires entering the BIOS to clear the error condition)
|
||||
E.g:
|
||||
# echo save > /sys/class/firmware-attributes/thinklmi/attributes/save_settings
|
||||
|
||||
What: /sys/class/firmware-attributes/*/attributes/debug_cmd
|
||||
Date: July 2021
|
||||
KernelVersion: 5.14
|
||||
|
||||
@@ -381,6 +381,15 @@ Description:
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_max_alarm
|
||||
Description:
|
||||
Maximum temperature alarm flag.
|
||||
|
||||
- 0: OK
|
||||
- 1: temperature has reached tempY_max
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_min
|
||||
Description:
|
||||
Temperature min value.
|
||||
@@ -389,6 +398,15 @@ Description:
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_min_alarm
|
||||
Description:
|
||||
Minimum temperature alarm flag.
|
||||
|
||||
- 0: OK
|
||||
- 1: temperature has reached tempY_min
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_max_hyst
|
||||
Description:
|
||||
Temperature hysteresis value for max limit.
|
||||
@@ -434,12 +452,7 @@ Description:
|
||||
- 0: OK
|
||||
- 1: temperature has reached tempY_crit
|
||||
|
||||
RW
|
||||
|
||||
Contrary to regular alarm flags which clear themselves
|
||||
automatically when read, this one sticks until cleared by
|
||||
the user. This is done by writing 0 to the file. Writing
|
||||
other values is unsupported.
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_crit_hyst
|
||||
Description:
|
||||
@@ -462,6 +475,15 @@ Description:
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_emergency_alarm
|
||||
Description:
|
||||
Emergency high temperature alarm flag.
|
||||
|
||||
- 0: OK
|
||||
- 1: temperature has reached tempY_emergency
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/tempY_emergency_hyst
|
||||
Description:
|
||||
Temperature hysteresis value for emergency limit.
|
||||
@@ -887,15 +909,15 @@ Description:
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_input
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_alarm
|
||||
Description:
|
||||
Humidity
|
||||
Humidity limit detection
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
- 0: OK
|
||||
- 1: Humidity limit has been reached
|
||||
|
||||
RO
|
||||
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_enable
|
||||
Description:
|
||||
Enable or disable the sensors
|
||||
@@ -908,6 +930,74 @@ Description:
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_fault
|
||||
Description:
|
||||
Reports a humidity sensor failure.
|
||||
|
||||
- 1: Failed
|
||||
- 0: Ok
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_input
|
||||
Description:
|
||||
Humidity
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_label
|
||||
Description:
|
||||
Suggested humidity channel label.
|
||||
|
||||
Text string
|
||||
|
||||
Should only be created if the driver has hints about what
|
||||
this humidity channel is being used for, and user-space
|
||||
doesn't. In all other cases, the label is provided by
|
||||
user-space.
|
||||
|
||||
RO
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_max
|
||||
Description:
|
||||
Humidity max value.
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_max_hyst
|
||||
Description:
|
||||
Humidity hysteresis value for max limit.
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
|
||||
Must be reported as an absolute humidity, NOT a delta
|
||||
from the max value.
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_min
|
||||
Description:
|
||||
Humidity min value.
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_min_hyst
|
||||
Description:
|
||||
Humidity hysteresis value for min limit.
|
||||
|
||||
Unit: milli-percent (per cent mille, pcm)
|
||||
|
||||
Must be reported as an absolute humidity, NOT a delta
|
||||
from the min value.
|
||||
|
||||
RW
|
||||
|
||||
What: /sys/class/hwmon/hwmonX/humidityY_rated_min
|
||||
Description:
|
||||
Minimum rated humidity.
|
||||
|
||||
@@ -12,3 +12,17 @@ Description: (RW) On the front panel of the Turris Omnia router there is also
|
||||
able to change this setting from software.
|
||||
|
||||
Format: %i
|
||||
|
||||
What: /sys/class/leds/<led>/device/gamma_correction
|
||||
Date: August 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: Marek Behún <kabel@kernel.org>
|
||||
Description: (RW) Newer versions of the microcontroller firmware of the
|
||||
Turris Omnia router support gamma correction for the RGB LEDs.
|
||||
This feature can be enabled/disabled by writing to this file.
|
||||
|
||||
If the feature is not supported because the MCU firmware is too
|
||||
old, the file always reads as 0, and writing to the file results
|
||||
in the EOPNOTSUPP error.
|
||||
|
||||
Format: %i
|
||||
|
||||
@@ -114,6 +114,45 @@ Description:
|
||||
speed of 1000Mbps of the named network device.
|
||||
Setting this value also immediately changes the LED state.
|
||||
|
||||
What: /sys/class/leds/<led>/link_2500
|
||||
Date: Nov 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: linux-leds@vger.kernel.org
|
||||
Description:
|
||||
Signal the link speed state of 2500Mbps of the named network device.
|
||||
|
||||
If set to 0 (default), the LED's normal state is off.
|
||||
|
||||
If set to 1, the LED's normal state reflects the link state
|
||||
speed of 2500Mbps of the named network device.
|
||||
Setting this value also immediately changes the LED state.
|
||||
|
||||
What: /sys/class/leds/<led>/link_5000
|
||||
Date: Nov 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: linux-leds@vger.kernel.org
|
||||
Description:
|
||||
Signal the link speed state of 5000Mbps of the named network device.
|
||||
|
||||
If set to 0 (default), the LED's normal state is off.
|
||||
|
||||
If set to 1, the LED's normal state reflects the link state
|
||||
speed of 5000Mbps of the named network device.
|
||||
Setting this value also immediately changes the LED state.
|
||||
|
||||
What: /sys/class/leds/<led>/link_10000
|
||||
Date: Nov 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: linux-leds@vger.kernel.org
|
||||
Description:
|
||||
Signal the link speed state of 10000Mbps of the named network device.
|
||||
|
||||
If set to 0 (default), the LED's normal state is off.
|
||||
|
||||
If set to 1, the LED's normal state reflects the link state
|
||||
speed of 10000Mbps of the named network device.
|
||||
Setting this value also immediately changes the LED state.
|
||||
|
||||
What: /sys/class/leds/<led>/half_duplex
|
||||
Date: Jun 2023
|
||||
KernelVersion: 6.5
|
||||
|
||||
@@ -4,3 +4,59 @@ KernelVersion: 5.10
|
||||
Contact: linux-leds@vger.kernel.org
|
||||
Description:
|
||||
Specifies the tty device name of the triggering tty
|
||||
|
||||
What: /sys/class/leds/<led>/rx
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
Signal reception (rx) of data on the named tty device.
|
||||
If set to 0, the LED will not blink on reception.
|
||||
If set to 1 (default), the LED will blink on reception.
|
||||
|
||||
What: /sys/class/leds/<led>/tx
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
Signal transmission (tx) of data on the named tty device.
|
||||
If set to 0, the LED will not blink on transmission.
|
||||
If set to 1 (default), the LED will blink on transmission.
|
||||
|
||||
What: /sys/class/leds/<led>/cts
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
CTS = Clear To Send
|
||||
DCE is ready to accept data from the DTE.
|
||||
If the line state is detected, the LED is switched on.
|
||||
If set to 0 (default), the LED will not evaluate CTS.
|
||||
If set to 1, the LED will evaluate CTS.
|
||||
|
||||
What: /sys/class/leds/<led>/dsr
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
DSR = Data Set Ready
|
||||
DCE is ready to receive and send data.
|
||||
If the line state is detected, the LED is switched on.
|
||||
If set to 0 (default), the LED will not evaluate DSR.
|
||||
If set to 1, the LED will evaluate DSR.
|
||||
|
||||
What: /sys/class/leds/<led>/dcd
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
DCD = Data Carrier Detect
|
||||
DTE is receiving a carrier from the DCE.
|
||||
If the line state is detected, the LED is switched on.
|
||||
If set to 0 (default), the LED will not evaluate CAR (DCD).
|
||||
If set to 1, the LED will evaluate CAR (DCD).
|
||||
|
||||
What: /sys/class/leds/<led>/rng
|
||||
Date: February 2024
|
||||
KernelVersion: 6.8
|
||||
Description:
|
||||
RNG = Ring Indicator
|
||||
DCE has detected an incoming ring signal on the telephone
|
||||
line. If the line state is detected, the LED is switched on.
|
||||
If set to 0 (default), the LED will not evaluate RNG.
|
||||
If set to 1, the LED will evaluate RNG.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/class/<iface>/queues/rx-<queue>/rps_cpus
|
||||
What: /sys/class/net/<iface>/queues/rx-<queue>/rps_cpus
|
||||
Date: March 2010
|
||||
KernelVersion: 2.6.35
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -8,7 +8,7 @@ Description:
|
||||
network device queue. Possible values depend on the number
|
||||
of available CPU(s) in the system.
|
||||
|
||||
What: /sys/class/<iface>/queues/rx-<queue>/rps_flow_cnt
|
||||
What: /sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt
|
||||
Date: April 2010
|
||||
KernelVersion: 2.6.35
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -16,7 +16,7 @@ Description:
|
||||
Number of Receive Packet Steering flows being currently
|
||||
processed by this particular network device receive queue.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/tx_timeout
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/tx_timeout
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -24,7 +24,7 @@ Description:
|
||||
Indicates the number of transmit timeout events seen by this
|
||||
network interface transmit queue.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/tx_maxrate
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate
|
||||
Date: March 2015
|
||||
KernelVersion: 4.1
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -32,7 +32,7 @@ Description:
|
||||
A Mbps max-rate set for the queue, a value of zero means disabled,
|
||||
default is disabled.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/xps_cpus
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/xps_cpus
|
||||
Date: November 2010
|
||||
KernelVersion: 2.6.38
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -42,7 +42,7 @@ Description:
|
||||
network device transmit queue. Possible values depend on the
|
||||
number of available CPU(s) in the system.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/xps_rxqs
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs
|
||||
Date: June 2018
|
||||
KernelVersion: 4.18.0
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -53,7 +53,7 @@ Description:
|
||||
number of available receive queue(s) in the network device.
|
||||
Default is disabled.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -62,7 +62,7 @@ Description:
|
||||
of this particular network device transmit queue.
|
||||
Default value is 1000.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -70,7 +70,7 @@ Description:
|
||||
Indicates the number of bytes (objects) in flight on this
|
||||
network device transmit queue.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -79,7 +79,7 @@ Description:
|
||||
on this network device transmit queue. This value is clamped
|
||||
to be within the bounds defined by limit_max and limit_min.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
@@ -88,7 +88,7 @@ Description:
|
||||
queued on this network device transmit queue. See
|
||||
include/linux/dynamic_queue_limits.h for the default value.
|
||||
|
||||
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
|
||||
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
|
||||
Date: November 2011
|
||||
KernelVersion: 3.3
|
||||
Contact: netdev@vger.kernel.org
|
||||
|
||||
@@ -124,6 +124,13 @@ Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
The voltage the supply supports in millivolts.
|
||||
|
||||
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
|
||||
Date: October 2023
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
This file shows the value of the Fixed Power Source Peak Current
|
||||
Capability field.
|
||||
|
||||
What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
|
||||
Date: May 2022
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
|
||||
@@ -3,7 +3,7 @@ What: /sys/devices/platform/HISI04Bx:00/chipX/linked_full_lane
|
||||
What: /sys/devices/platform/HISI04Bx:00/chipX/crc_err_cnt
|
||||
Date: November 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: Huisong Li <lihuisong@huawei.org>
|
||||
Contact: Huisong Li <lihuisong@huawei.com>
|
||||
Description:
|
||||
The /sys/devices/platform/HISI04Bx:00/chipX/ directory
|
||||
contains read-only attributes exposing some summarization
|
||||
@@ -26,7 +26,7 @@ What: /sys/devices/platform/HISI04Bx:00/chipX/dieY/linked_full_lane
|
||||
What: /sys/devices/platform/HISI04Bx:00/chipX/dieY/crc_err_cnt
|
||||
Date: November 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: Huisong Li <lihuisong@huawei.org>
|
||||
Contact: Huisong Li <lihuisong@huawei.com>
|
||||
Description:
|
||||
The /sys/devices/platform/HISI04Bx:00/chipX/dieY/ directory
|
||||
contains read-only attributes exposing some summarization
|
||||
@@ -54,7 +54,7 @@ What: /sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/lane_mask
|
||||
What: /sys/devices/platform/HISI04Bx:00/chipX/dieY/hccsN/crc_err_cnt
|
||||
Date: November 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: Huisong Li <lihuisong@huawei.org>
|
||||
Contact: Huisong Li <lihuisong@huawei.com>
|
||||
Description:
|
||||
The /sys/devices/platform/HISI04Bx/chipX/dieX/hccsN/ directory
|
||||
contains read-only attributes exposing information about
|
||||
|
||||
@@ -354,9 +354,6 @@ Description: Parameters for the CPU cache attributes
|
||||
- ReadWriteAllocate:
|
||||
both writeallocate and readallocate
|
||||
|
||||
attributes:
|
||||
LEGACY used only on IA64 and is same as write_policy
|
||||
|
||||
coherency_line_size:
|
||||
the minimum amount of data in bytes that gets
|
||||
transferred from memory to cache
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/class/habanalabs/hl<n>/armcp_kernel_ver
|
||||
What: /sys/class/accel/accel<n>/device/armcp_kernel_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -6,7 +6,7 @@ Description: Version of the Linux kernel running on the device's CPU.
|
||||
Will be DEPRECATED in Linux kernel version 5.10, and be
|
||||
replaced with cpucp_kernel_ver
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/armcp_ver
|
||||
What: /sys/class/accel/accel<n>/device/armcp_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -14,7 +14,7 @@ Description: Version of the application running on the device's CPU
|
||||
Will be DEPRECATED in Linux kernel version 5.10, and be
|
||||
replaced with cpucp_ver
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/clk_max_freq_mhz
|
||||
What: /sys/class/accel/accel<n>/device/clk_max_freq_mhz
|
||||
Date: Jun 2019
|
||||
KernelVersion: 5.7
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -24,58 +24,58 @@ Description: Allows the user to set the maximum clock frequency, in MHz.
|
||||
frequency value of the device clock. This property is valid
|
||||
only for the Gaudi ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/clk_cur_freq_mhz
|
||||
What: /sys/class/accel/accel<n>/device/clk_cur_freq_mhz
|
||||
Date: Jun 2019
|
||||
KernelVersion: 5.7
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the current frequency, in MHz, of the device clock.
|
||||
This property is valid only for the Gaudi ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/cpld_ver
|
||||
What: /sys/class/accel/accel<n>/device/cpld_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the Device's CPLD F/W
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/cpucp_kernel_ver
|
||||
What: /sys/class/accel/accel<n>/device/cpucp_kernel_ver
|
||||
Date: Oct 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the Linux kernel running on the device's CPU
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/cpucp_ver
|
||||
What: /sys/class/accel/accel<n>/device/cpucp_ver
|
||||
Date: Oct 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the application running on the device's CPU
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/device_type
|
||||
What: /sys/class/accel/accel<n>/device/device_type
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the code name of the device according to its type.
|
||||
The supported values are: "GOYA"
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/eeprom
|
||||
What: /sys/class/accel/accel<n>/device/eeprom
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: A binary file attribute that contains the contents of the
|
||||
on-board EEPROM
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/fuse_ver
|
||||
What: /sys/class/accel/accel<n>/device/fuse_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the device's version from the eFuse
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/fw_os_ver
|
||||
What: /sys/class/accel/accel<n>/device/fw_os_ver
|
||||
Date: Dec 2021
|
||||
KernelVersion: 5.18
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the firmware OS running on the device's CPU
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/hard_reset
|
||||
What: /sys/class/accel/accel<n>/device/hard_reset
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -83,14 +83,14 @@ Description: Interface to trigger a hard-reset operation for the device.
|
||||
Hard-reset will reset ALL internal components of the device
|
||||
except for the PCI interface and the internal PLLs
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/hard_reset_cnt
|
||||
What: /sys/class/accel/accel<n>/device/hard_reset_cnt
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays how many times the device have undergone a hard-reset
|
||||
operation since the driver was loaded
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/high_pll
|
||||
What: /sys/class/accel/accel<n>/device/high_pll
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -98,7 +98,7 @@ Description: Allows the user to set the maximum clock frequency for MME, TPC
|
||||
and IC when the power management profile is set to "automatic".
|
||||
This property is valid only for the Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/ic_clk
|
||||
What: /sys/class/accel/accel<n>/device/ic_clk
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -110,27 +110,27 @@ Description: Allows the user to set the maximum clock frequency, in Hz, of
|
||||
frequency value of the IC. This property is valid only for the
|
||||
Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/ic_clk_curr
|
||||
What: /sys/class/accel/accel<n>/device/ic_clk_curr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the current clock frequency, in Hz, of the Interconnect
|
||||
fabric. This property is valid only for the Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/infineon_ver
|
||||
What: /sys/class/accel/accel<n>/device/infineon_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the Device's power supply F/W code. Relevant only to GOYA and GAUDI
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/max_power
|
||||
What: /sys/class/accel/accel<n>/device/max_power
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Allows the user to set the maximum power consumption of the
|
||||
device in milliwatts.
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/mme_clk
|
||||
What: /sys/class/accel/accel<n>/device/mme_clk
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -142,21 +142,33 @@ Description: Allows the user to set the maximum clock frequency, in Hz, of
|
||||
frequency value of the MME. This property is valid only for the
|
||||
Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/mme_clk_curr
|
||||
What: /sys/class/accel/accel<n>/device/mme_clk_curr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the current clock frequency, in Hz, of the MME compute
|
||||
engine. This property is valid only for the Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/pci_addr
|
||||
What: /sys/class/accel/accel<n>/device/module_id
|
||||
Date: Nov 2023
|
||||
KernelVersion: not yet upstreamed
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the device's module id
|
||||
|
||||
What: /sys/class/accel/accel<n>/device/parent_device
|
||||
Date: Nov 2023
|
||||
KernelVersion: 6.8
|
||||
Contact: ttayar@habana.ai
|
||||
Description: Displays the name of the parent device of the accel device
|
||||
|
||||
What: /sys/class/accel/accel<n>/device/pci_addr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the PCI address of the device. This is needed so the
|
||||
user would be able to open a device based on its PCI address
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/pm_mng_profile
|
||||
What: /sys/class/accel/accel<n>/device/pm_mng_profile
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -170,19 +182,19 @@ Description: Power management profile. Values are "auto", "manual". In "auto"
|
||||
ic_clk, mme_clk and tpc_clk. This property is valid only for
|
||||
the Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/preboot_btl_ver
|
||||
What: /sys/class/accel/accel<n>/device/preboot_btl_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the device's preboot F/W code
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/security_enabled
|
||||
What: /sys/class/accel/accel<n>/device/security_enabled
|
||||
Date: Oct 2022
|
||||
KernelVersion: 6.1
|
||||
Contact: obitton@habana.ai
|
||||
Description: Displays the device's security status
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/soft_reset
|
||||
What: /sys/class/accel/accel<n>/device/soft_reset
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -190,14 +202,14 @@ Description: Interface to trigger a soft-reset operation for the device.
|
||||
Soft-reset will reset only the compute and DMA engines of the
|
||||
device
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/soft_reset_cnt
|
||||
What: /sys/class/accel/accel<n>/device/soft_reset_cnt
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays how many times the device have undergone a soft-reset
|
||||
operation since the driver was loaded
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/status
|
||||
What: /sys/class/accel/accel<n>/device/status
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -215,13 +227,13 @@ Description: Status of the card:
|
||||
a compute-reset which is executed after a device release
|
||||
(relevant for Gaudi2 only).
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/thermal_ver
|
||||
What: /sys/class/accel/accel<n>/device/thermal_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the Device's thermal daemon
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/tpc_clk
|
||||
What: /sys/class/accel/accel<n>/device/tpc_clk
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
@@ -233,20 +245,20 @@ Description: Allows the user to set the maximum clock frequency, in Hz, of
|
||||
frequency value of the TPC. This property is valid only for
|
||||
Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/tpc_clk_curr
|
||||
What: /sys/class/accel/accel<n>/device/tpc_clk_curr
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Displays the current clock frequency, in Hz, of the TPC compute
|
||||
engines. This property is valid only for the Goya ASIC family
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/uboot_ver
|
||||
What: /sys/class/accel/accel<n>/device/uboot_ver
|
||||
Date: Jan 2019
|
||||
KernelVersion: 5.1
|
||||
Contact: ogabbay@kernel.org
|
||||
Description: Version of the u-boot running on the device's CPU
|
||||
|
||||
What: /sys/class/habanalabs/hl<n>/vrm_ver
|
||||
What: /sys/class/accel/accel<n>/device/vrm_ver
|
||||
Date: Jan 2022
|
||||
KernelVersion: 5.17
|
||||
Contact: ogabbay@kernel.org
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/in0_input
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/in0_input
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -6,7 +6,7 @@ Description: RO. Current Voltage in millivolt.
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/power1_max
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -20,7 +20,7 @@ Description: RW. Card reactive sustained (PL1/Tau) power limit in microwatts.
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/power1_rated_max
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_rated_max
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -28,7 +28,7 @@ Description: RO. Card default power limit (default TDP setting).
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/power1_max_interval
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max_interval
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -37,7 +37,7 @@ Description: RW. Sustained power limit interval (Tau in PL1/Tau) in
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/power1_crit
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_crit
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -50,7 +50,7 @@ Description: RW. Card reactive critical (I1) power limit in microwatts.
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/curr1_crit
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/curr1_crit
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
@@ -63,7 +63,7 @@ Description: RW. Card reactive critical (I1) power limit in milliamperes.
|
||||
|
||||
Only supported for particular Intel i915 graphics platforms.
|
||||
|
||||
What: /sys/devices/.../hwmon/hwmon<i>/energy1_input
|
||||
What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/energy1_input
|
||||
Date: February 2023
|
||||
KernelVersion: 6.2
|
||||
Contact: intel-gfx@lists.freedesktop.org
|
||||
|
||||
@@ -17,7 +17,7 @@ Description: Read only. Returns the firmware version of Intel MAX10
|
||||
What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_address
|
||||
Date: January 2021
|
||||
KernelVersion: 5.12
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns the first MAC address in a block
|
||||
of sequential MAC addresses assigned to the board
|
||||
that is managed by the Intel MAX10 BMC. It is stored in
|
||||
@@ -28,7 +28,7 @@ Description: Read only. Returns the first MAC address in a block
|
||||
What: /sys/bus/.../drivers/intel-m10-bmc/.../mac_count
|
||||
Date: January 2021
|
||||
KernelVersion: 5.12
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns the number of sequential MAC
|
||||
addresses assigned to the board managed by the Intel
|
||||
MAX10 BMC. This value is stored in FLASH and is mirrored
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_root_entry_hash
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns the root entry hash for the static
|
||||
region if one is programmed, else it returns the
|
||||
string: "hash not programmed". This file is only
|
||||
@@ -11,7 +11,7 @@ Description: Read only. Returns the root entry hash for the static
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_root_entry_hash
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns the root entry hash for the partial
|
||||
reconfiguration region if one is programmed, else it
|
||||
returns the string: "hash not programmed". This file
|
||||
@@ -21,7 +21,7 @@ Description: Read only. Returns the root entry hash for the partial
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_root_entry_hash
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns the root entry hash for the BMC image
|
||||
if one is programmed, else it returns the string:
|
||||
"hash not programmed". This file is only visible if the
|
||||
@@ -31,7 +31,7 @@ Description: Read only. Returns the root entry hash for the BMC image
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/sr_canceled_csks
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns a list of indices for canceled code
|
||||
signing keys for the static region. The standard bitmap
|
||||
list format is used (e.g. "1,2-6,9").
|
||||
@@ -39,7 +39,7 @@ Description: Read only. Returns a list of indices for canceled code
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/pr_canceled_csks
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns a list of indices for canceled code
|
||||
signing keys for the partial reconfiguration region. The
|
||||
standard bitmap list format is used (e.g. "1,2-6,9").
|
||||
@@ -47,7 +47,7 @@ Description: Read only. Returns a list of indices for canceled code
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/bmc_canceled_csks
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns a list of indices for canceled code
|
||||
signing keys for the BMC. The standard bitmap list format
|
||||
is used (e.g. "1,2-6,9").
|
||||
@@ -55,7 +55,7 @@ Description: Read only. Returns a list of indices for canceled code
|
||||
What: /sys/bus/platform/drivers/intel-m10bmc-sec-update/.../security/flash_count
|
||||
Date: Sep 2022
|
||||
KernelVersion: 5.20
|
||||
Contact: Russ Weight <russell.h.weight@intel.com>
|
||||
Contact: Peter Colberg <peter.colberg@intel.com>
|
||||
Description: Read only. Returns number of times the secure update
|
||||
staging area has been flashed.
|
||||
Format: "%u".
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_max
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Card reactive sustained (PL1) power limit in microwatts.
|
||||
|
||||
The power controller will throttle the operating frequency
|
||||
if the power averaged over a window (typically seconds)
|
||||
exceeds this limit. A read value of 0 means that the PL1
|
||||
power limit is disabled, writing 0 disables the
|
||||
limit. Writing values > 0 and <= TDP will enable the power limit.
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_rated_max
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RO. Card default power limit (default TDP setting).
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_crit
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Card reactive critical (I1) power limit in microwatts.
|
||||
|
||||
Card reactive critical (I1) power limit in microwatts is exposed
|
||||
for client products. The power controller will throttle the
|
||||
operating frequency if the power averaged over a window exceeds
|
||||
this limit.
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/curr1_crit
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Card reactive critical (I1) power limit in milliamperes.
|
||||
|
||||
Card reactive critical (I1) power limit in milliamperes is
|
||||
exposed for server products. The power controller will throttle
|
||||
the operating frequency if the power averaged over a window
|
||||
exceeds this limit.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/in0_input
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RO. Current Voltage in millivolt.
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/energy1_input
|
||||
Date: September 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RO. Energy input of device in microjoules.
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
|
||||
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/power1_max_interval
|
||||
Date: October 2023
|
||||
KernelVersion: 6.6
|
||||
Contact: intel-xe@lists.freedesktop.org
|
||||
Description: RW. Sustained power limit interval (Tau in PL1/Tau) in
|
||||
milliseconds over which sustained power is averaged.
|
||||
|
||||
Only supported for particular Intel xe graphics platforms.
|
||||
@@ -29,6 +29,8 @@ Description: (RW) Reports the current configuration of the QAT device.
|
||||
services
|
||||
* asym;sym: identical to sym;asym
|
||||
* dc: the device is configured for running compression services
|
||||
* dcc: identical to dc but enables the dc chaining feature,
|
||||
hash then compression. If this is not required chose dc
|
||||
* sym: the device is configured for running symmetric crypto
|
||||
services
|
||||
* asym: the device is configured for running asymmetric crypto
|
||||
@@ -93,3 +95,49 @@ Description: (RW) This configuration option provides a way to force the device i
|
||||
0
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat/rp2srv
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) This attribute provides a way for a user to query a
|
||||
specific ring pair for the type of service that it is currently
|
||||
configured for.
|
||||
|
||||
When written to, the value is cached and used to perform the
|
||||
read operation. Allowed values are in the range 0 to N-1, where
|
||||
N is the max number of ring pairs supported by a device. This
|
||||
can be queried using the attribute qat/num_rps.
|
||||
|
||||
A read returns the service associated to the ring pair queried.
|
||||
|
||||
The values are:
|
||||
|
||||
* dc: the ring pair is configured for running compression services
|
||||
* sym: the ring pair is configured for running symmetric crypto
|
||||
services
|
||||
* asym: the ring pair is configured for running asymmetric crypto
|
||||
services
|
||||
|
||||
Example usage::
|
||||
|
||||
# echo 1 > /sys/bus/pci/devices/<BDF>/qat/rp2srv
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat/rp2srv
|
||||
sym
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat/num_rps
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RO) Returns the number of ring pairs that a single device has.
|
||||
|
||||
Example usage::
|
||||
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat/num_rps
|
||||
64
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_ras/errors_correctable
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Reports the number of correctable errors detected by the device.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_ras/errors_nonfatal
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Reports the number of non fatal errors detected by the device.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_ras/errors_fatal
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (RO) Reports the number of fatal errors detected by the device.
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_ras/reset_error_counters
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description: (WO) Write to resets all error counters of a device.
|
||||
|
||||
The following example reports how to reset the counters::
|
||||
|
||||
# echo 1 > /sys/bus/pci/devices/<BDF>/qat_ras/reset_error_counters
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_correctable
|
||||
0
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_nonfatal
|
||||
0
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_ras/errors_fatal
|
||||
0
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
@@ -0,0 +1,226 @@
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(WO) This attribute is used to perform an operation on an SLA.
|
||||
The supported operations are: add, update, rm, rm_all, and get.
|
||||
|
||||
Input values must be filled through the associated attribute in
|
||||
this group before a write to this file.
|
||||
If the operation completes successfully, the associated
|
||||
attributes will be updated.
|
||||
The associated attributes are: cir, pir, srv, rp, and id.
|
||||
|
||||
Supported operations:
|
||||
|
||||
* add: Creates a new SLA with the provided inputs from user.
|
||||
* Inputs: cir, pir, srv, and rp
|
||||
* Output: id
|
||||
|
||||
* get: Returns the configuration of the specified SLA in id attribute
|
||||
* Inputs: id
|
||||
* Outputs: cir, pir, srv, and rp
|
||||
|
||||
* update: Updates the SLA with new values set in the following attributes
|
||||
* Inputs: id, cir, and pir
|
||||
|
||||
* rm: Removes the specified SLA in the id attribute.
|
||||
* Inputs: id
|
||||
|
||||
* rm_all: Removes all the configured SLAs.
|
||||
* Inputs: None
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/rp
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) When read, reports the current assigned ring pairs for the
|
||||
queried SLA.
|
||||
When wrote to, configures the ring pairs associated to a new SLA.
|
||||
|
||||
The value is a 64-bit bit mask and is written/displayed in hex.
|
||||
Each bit of this mask represents a single ring pair i.e.,
|
||||
bit 1 == ring pair id 0; bit 3 == ring pair id 2.
|
||||
|
||||
Selected ring pairs must to be assigned to a single service,
|
||||
i.e. the one provided with the srv attribute. The service
|
||||
assigned to a certain ring pair can be checked by querying
|
||||
the attribute qat/rp2srv.
|
||||
|
||||
The maximum number of ring pairs is 4 per SLA.
|
||||
|
||||
Applicability in sla_op:
|
||||
|
||||
* WRITE: add operation
|
||||
* READ: get operation
|
||||
|
||||
Example usage::
|
||||
|
||||
## Read
|
||||
# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/rp
|
||||
0x5
|
||||
|
||||
## Write
|
||||
# echo 0x5 > /sys/bus/pci/devices/<BDF>/qat_rl/rp
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) If written to, the value is used to retrieve a particular
|
||||
SLA and operate on it.
|
||||
This is valid only for the following operations: update, rm,
|
||||
and get.
|
||||
A read of this attribute is only guaranteed to have correct data
|
||||
after creation of an SLA.
|
||||
|
||||
Applicability in sla_op:
|
||||
|
||||
* WRITE: rm and update operations
|
||||
* READ: add and get operations
|
||||
|
||||
Example usage::
|
||||
|
||||
## Read
|
||||
## Set attributes e.g. cir, pir, srv, etc
|
||||
# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
4
|
||||
|
||||
## Write
|
||||
# echo 7 > /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/rp
|
||||
0x5 ## ring pair ID 0 and ring pair ID 2
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/cir
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) Committed information rate (CIR). Rate guaranteed to be
|
||||
achieved by a particular SLA. The value is expressed in
|
||||
permille scale, i.e. 1000 refers to the maximum device
|
||||
throughput for a selected service.
|
||||
|
||||
After sending a "get" to sla_op, this will be populated with the
|
||||
CIR for that queried SLA.
|
||||
Write to this file before sending an "add/update" sla_op, to set
|
||||
the SLA to the specified value.
|
||||
|
||||
Applicability in sla_op:
|
||||
|
||||
* WRITE: add and update operations
|
||||
* READ: get operation
|
||||
|
||||
Example usage::
|
||||
|
||||
## Write
|
||||
# echo 500 > /sys/bus/pci/devices/<BDF>/qat_rl/cir
|
||||
# echo "add" /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
|
||||
## Read
|
||||
# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/cir
|
||||
500
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/pir
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) Peak information rate (PIR). The maximum rate that can be
|
||||
achieved by that particular SLA. An SLA can reach a value
|
||||
between CIR and PIR when the device is not fully utilized by
|
||||
requests from other users (assigned to different SLAs).
|
||||
|
||||
After sending a "get" to sla_op, this will be populated with the
|
||||
PIR for that queried SLA.
|
||||
Write to this file before sending an "add/update" sla_op, to set
|
||||
the SLA to the specified value.
|
||||
|
||||
Applicability in sla_op:
|
||||
|
||||
* WRITE: add and update operations
|
||||
* READ: get operation
|
||||
|
||||
Example usage::
|
||||
|
||||
## Write
|
||||
# echo 750 > /sys/bus/pci/devices/<BDF>/qat_rl/pir
|
||||
# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
|
||||
## Read
|
||||
# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/pir
|
||||
750
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/srv
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) Service (SRV). Represents the service (sym, asym, dc)
|
||||
associated to an SLA.
|
||||
Can be written to or queried to set/show the SRV type for an SLA.
|
||||
The SRV attribute is used to specify the SRV type before adding
|
||||
an SLA. After an SLA is configured, reports the service
|
||||
associated to that SLA.
|
||||
|
||||
Applicability in sla_op:
|
||||
|
||||
* WRITE: add and update operations
|
||||
* READ: get operation
|
||||
|
||||
Example usage::
|
||||
|
||||
## Write
|
||||
# echo "dc" > /sys/bus/pci/devices/<BDF>/qat_rl/srv
|
||||
# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
4
|
||||
|
||||
## Read
|
||||
# echo 4 > /sys/bus/pci/devices/<BDF>/qat_rl/id
|
||||
# echo "get" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/srv
|
||||
dc
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
|
||||
What: /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem
|
||||
Date: January 2024
|
||||
KernelVersion: 6.7
|
||||
Contact: qat-linux@intel.com
|
||||
Description:
|
||||
(RW) This file will return the remaining capability for a
|
||||
particular service/sla. This is the remaining value that a new
|
||||
SLA can be set to or a current SLA can be increased with.
|
||||
|
||||
Example usage::
|
||||
|
||||
# echo "asym" > /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem
|
||||
250
|
||||
# echo 250 > /sys/bus/pci/devices/<BDF>/qat_rl/cir
|
||||
# echo "add" > /sys/bus/pci/devices/<BDF>/qat_rl/sla_op
|
||||
# cat /sys/bus/pci/devices/<BDF>/qat_rl/cap_rem
|
||||
0
|
||||
|
||||
This attribute is only available for qat_4xxx devices.
|
||||
@@ -1223,6 +1223,55 @@ Description: This file shows the total latency (in micro seconds) of write
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/lane
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/lane
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows how many lanes are enabled on the UFS link,
|
||||
i.e., an output 2 means UFS link is operating with 2 lanes.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/mode
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/mode
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows the PA power mode of UFS.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/rate
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/rate
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows the speed rate of UFS link.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/gear
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/gear
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows the gear of UFS link.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/dev_pm
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/dev_pm
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows the UFS device power mode.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/power_info/link_state
|
||||
What: /sys/bus/platform/devices/*.ufs/power_info/link_state
|
||||
Date: September 2023
|
||||
Contact: Can Guo <quic_cang@quicinc.com>
|
||||
Description: This file shows the state of UFS link.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en
|
||||
What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_presv_us_en
|
||||
Date: June 2020
|
||||
@@ -1474,3 +1523,10 @@ Description: Indicates status of Write Booster.
|
||||
|
||||
The file is read only.
|
||||
|
||||
What: /sys/bus/platform/drivers/ufshcd/*/rtc_update_ms
|
||||
What: /sys/bus/platform/devices/*.ufs/rtc_update_ms
|
||||
Date: November 2023
|
||||
Contact: Bean Huo <beanhuo@micron.com>
|
||||
Description:
|
||||
rtc_update_ms indicates how often the host should synchronize or update the
|
||||
UFS RTC. If set to 0, this will disable UFS RTC periodic update.
|
||||
|
||||
@@ -2,7 +2,7 @@ What: /sys/firmware/dmi/entries/
|
||||
Date: February 2011
|
||||
Contact: Mike Waychison <mikew@google.com>
|
||||
Description:
|
||||
Many machines' firmware (x86 and ia64) export DMI /
|
||||
Many machines' firmware (x86 and arm64) export DMI /
|
||||
SMBIOS tables to the operating system. Getting at this
|
||||
information is often valuable to userland, especially in
|
||||
cases where there are OEM extensions used.
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
What: /sys/firmware/initrd
|
||||
Date: December 2023
|
||||
Contact: Alexander Graf <graf@amazon.com>
|
||||
Description:
|
||||
When the kernel was booted with an initrd and the
|
||||
"retain_initrd" option is set on the kernel command
|
||||
line, /sys/firmware/initrd contains the contents of the
|
||||
initrd that the kernel was booted with.
|
||||
@@ -498,6 +498,21 @@ Description: Show status of f2fs checkpoint in real time.
|
||||
CP_RESIZEFS_FLAG 0x00004000
|
||||
=============================== ==============================
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/stat/issued_discard
|
||||
Date: December 2023
|
||||
Contact: "Zhiguo Niu" <zhiguo.niu@unisoc.com>
|
||||
Description: Shows the number of issued discard.
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/stat/queued_discard
|
||||
Date: December 2023
|
||||
Contact: "Zhiguo Niu" <zhiguo.niu@unisoc.com>
|
||||
Description: Shows the number of queued discard.
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/stat/undiscard_blks
|
||||
Date: December 2023
|
||||
Contact: "Zhiguo Niu" <zhiguo.niu@unisoc.com>
|
||||
Description: Shows the total number of undiscard blocks.
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/ckpt_thread_ioprio
|
||||
Date: January 2021
|
||||
Contact: "Daeho Jeong" <daehojeong@google.com>
|
||||
@@ -740,3 +755,9 @@ Description: When compress cache is on, it controls cached page
|
||||
If cached page percent exceed threshold, then deny caching compress page.
|
||||
The value should be in range of (0, 100], by default it was initialized
|
||||
as 20(%).
|
||||
|
||||
What: /sys/fs/f2fs/<disk>/discard_io_aware
|
||||
Date: November 2023
|
||||
Contact: "Chao Yu" <chao@kernel.org>
|
||||
Description: It controls to enable/disable IO aware feature for background discard.
|
||||
By default, the value is 1 which indicates IO aware is on.
|
||||
|
||||
@@ -25,12 +25,14 @@ Description: Writing 'on' or 'off' to this file makes the kdamond starts or
|
||||
stops, respectively. Reading the file returns the keywords
|
||||
based on the current status. Writing 'commit' to this file
|
||||
makes the kdamond reads the user inputs in the sysfs files
|
||||
except 'state' again. Writing 'update_schemes_stats' to the
|
||||
file updates contents of schemes stats files of the kdamond.
|
||||
Writing 'update_schemes_tried_regions' to the file updates
|
||||
contents of 'tried_regions' directory of every scheme directory
|
||||
of this kdamond. Writing 'update_schemes_tried_bytes' to the
|
||||
file updates only '.../tried_regions/total_bytes' files of this
|
||||
except 'state' again. Writing 'commit_schemes_quota_goals' to
|
||||
this file makes the kdamond reads the quota goal files again.
|
||||
Writing 'update_schemes_stats' to the file updates contents of
|
||||
schemes stats files of the kdamond. Writing
|
||||
'update_schemes_tried_regions' to the file updates contents of
|
||||
'tried_regions' directory of every scheme directory of this
|
||||
kdamond. Writing 'update_schemes_tried_bytes' to the file
|
||||
updates only '.../tried_regions/total_bytes' files of this
|
||||
kdamond. Writing 'clear_schemes_tried_regions' to the file
|
||||
removes contents of the 'tried_regions' directory.
|
||||
|
||||
@@ -151,6 +153,13 @@ Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing to and reading from this file sets and gets the action
|
||||
of the scheme.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/apply_interval_us
|
||||
Date: Sep 2023
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing a value to this file sets the action apply interval of
|
||||
the scheme in microseconds. Reading this file returns the
|
||||
value.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/access_pattern/sz/min
|
||||
Date: Mar 2022
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
@@ -205,6 +214,25 @@ Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing to and reading from this file sets and gets the quotas
|
||||
charge reset interval of the scheme in milliseconds.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/nr_goals
|
||||
Date: Nov 2023
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing a number 'N' to this file creates the number of
|
||||
directories for setting automatic tuning of the scheme's
|
||||
aggressiveness named '0' to 'N-1' under the goals/ directory.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/target_value
|
||||
Date: Nov 2023
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing to and reading from this file sets and gets the target
|
||||
value of the goal metric.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goals/<G>/current_value
|
||||
Date: Nov 2023
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
Description: Writing to and reading from this file sets and gets the current
|
||||
value of the goal metric.
|
||||
|
||||
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
|
||||
Date: Mar 2022
|
||||
Contact: SeongJae Park <sj@kernel.org>
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
What: /sys/bus/nvmem/devices/.../cells/<cell-name>
|
||||
Date: May 2023
|
||||
KernelVersion: 6.5
|
||||
Contact: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Description:
|
||||
The "cells" folder contains one file per cell exposed by the
|
||||
NVMEM device. The name of the file is: <name>@<where>, with
|
||||
<name> being the cell name and <where> its location in the NVMEM
|
||||
device, in hexadecimal (without the '0x' prefix, to mimic device
|
||||
tree node names). The length of the file is the size of the cell
|
||||
(when known). The content of the file is the binary content of
|
||||
the cell (may sometimes be ASCII, likely without trailing
|
||||
character).
|
||||
Note: This file is only present if CONFIG_NVMEM_SYSFS
|
||||
is enabled.
|
||||
|
||||
Example::
|
||||
|
||||
hexdump -C /sys/bus/nvmem/devices/1-00563/cells/product-name@d
|
||||
00000000 54 4e 34 38 4d 2d 50 2d 44 4e |TN48M-P-DN|
|
||||
0000000a
|
||||
@@ -0,0 +1,30 @@
|
||||
What: /sys/devices/platform/silicom-platform/uc_version
|
||||
Date: November 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: Henry Shi <henrys@silicom-usa.com>
|
||||
Description:
|
||||
This file allows to read microcontroller firmware
|
||||
version of current platform.
|
||||
|
||||
What: /sys/devices/platform/silicom-platform/power_cycle
|
||||
Date: November 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: Henry Shi <henrys@silicom-usa.com>
|
||||
Description:
|
||||
This file allow user to power cycle the platform.
|
||||
Default value is 0; when set to 1, it powers down
|
||||
the platform, waits 5 seconds, then powers on the
|
||||
device. It returns to default value after power cycle.
|
||||
|
||||
0 - default value.
|
||||
|
||||
What: /sys/devices/platform/silicom-platform/efuse_status
|
||||
Date: November 2023
|
||||
KernelVersion: 6.7
|
||||
Contact: Henry Shi <henrys@silicom-usa.com>
|
||||
Description:
|
||||
This file is read only. It returns the current
|
||||
OTP status:
|
||||
|
||||
0 - not programmed.
|
||||
1 - programmed.
|
||||
@@ -87,19 +87,22 @@ What: /sys/class/tty/ttyS<x>/close_delay
|
||||
Date: October 2012
|
||||
Contact: Alan Cox <alan@linux.intel.com>
|
||||
Description:
|
||||
Show the closing delay time for this port in ms.
|
||||
Show the closing delay time for this port in centiseconds.
|
||||
|
||||
These sysfs values expose the TIOCGSERIAL interface via
|
||||
sysfs rather than via ioctls.
|
||||
These sysfs values expose the TIOCGSERIAL interface via
|
||||
sysfs rather than via ioctls.
|
||||
|
||||
What: /sys/class/tty/ttyS<x>/closing_wait
|
||||
Date: October 2012
|
||||
Contact: Alan Cox <alan@linux.intel.com>
|
||||
Description:
|
||||
Show the close wait time for this port in ms.
|
||||
Show the close wait time for this port in centiseconds.
|
||||
|
||||
These sysfs values expose the TIOCGSERIAL interface via
|
||||
sysfs rather than via ioctls.
|
||||
Waiting forever is represented as 0. If waiting on close is
|
||||
disabled then the value is 65535.
|
||||
|
||||
These sysfs values expose the TIOCGSERIAL interface via
|
||||
sysfs rather than via ioctls.
|
||||
|
||||
What: /sys/class/tty/ttyS<x>/custom_divisor
|
||||
Date: October 2012
|
||||
|
||||
@@ -97,7 +97,21 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
|
||||
cp $(if $(patsubst /%,,$(DOCS_CSS)),$(abspath $(srctree)/$(DOCS_CSS)),$(DOCS_CSS)) $(BUILDDIR)/$3/_static/; \
|
||||
fi
|
||||
|
||||
htmldocs:
|
||||
YNL_INDEX:=$(srctree)/Documentation/networking/netlink_spec/index.rst
|
||||
YNL_RST_DIR:=$(srctree)/Documentation/networking/netlink_spec
|
||||
YNL_YAML_DIR:=$(srctree)/Documentation/netlink/specs
|
||||
YNL_TOOL:=$(srctree)/tools/net/ynl/ynl-gen-rst.py
|
||||
|
||||
YNL_RST_FILES_TMP := $(patsubst %.yaml,%.rst,$(wildcard $(YNL_YAML_DIR)/*.yaml))
|
||||
YNL_RST_FILES := $(patsubst $(YNL_YAML_DIR)%,$(YNL_RST_DIR)%, $(YNL_RST_FILES_TMP))
|
||||
|
||||
$(YNL_INDEX): $(YNL_RST_FILES)
|
||||
$(Q)$(YNL_TOOL) -o $@ -x
|
||||
|
||||
$(YNL_RST_DIR)/%.rst: $(YNL_YAML_DIR)/%.yaml $(YNL_TOOL)
|
||||
$(Q)$(YNL_TOOL) -i $< -o $@
|
||||
|
||||
htmldocs: $(YNL_INDEX)
|
||||
@$(srctree)/scripts/sphinx-pre-install --version-check
|
||||
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ Conditions
|
||||
==========
|
||||
|
||||
The use of threaded interrupts is the most likely condition to trigger
|
||||
this problem today. Threaded interrupts may not be reenabled after the IRQ
|
||||
this problem today. Threaded interrupts may not be re-enabled after the IRQ
|
||||
handler wakes. These "one shot" conditions mean that the threaded interrupt
|
||||
needs to keep the interrupt line masked until the threaded handler has run.
|
||||
Especially when dealing with high data rate interrupts, the thread needs to
|
||||
|
||||
@@ -236,7 +236,7 @@ including a full 'lspci -v' so we can add the quirks to the kernel.
|
||||
Disabling MSIs below a bridge
|
||||
-----------------------------
|
||||
|
||||
Some PCI bridges are not able to route MSIs between busses properly.
|
||||
Some PCI bridges are not able to route MSIs between buses properly.
|
||||
In this case, MSIs must be disabled on all devices behind the bridge.
|
||||
|
||||
Some bridges allow you to enable MSIs by changing some bits in their
|
||||
|
||||
@@ -364,7 +364,7 @@ Note, however, not all failures are truly "permanent". Some are
|
||||
caused by over-heating, some by a poorly seated card. Many
|
||||
PCI error events are caused by software bugs, e.g. DMAs to
|
||||
wild addresses or bogus split transactions due to programming
|
||||
errors. See the discussion in Documentation/powerpc/eeh-pci-error-recovery.rst
|
||||
errors. See the discussion in Documentation/arch/powerpc/eeh-pci-error-recovery.rst
|
||||
for additional detail on real-life experience of the causes of
|
||||
software errors.
|
||||
|
||||
@@ -404,7 +404,7 @@ That is, the recovery API only requires that:
|
||||
.. note::
|
||||
|
||||
Implementation details for the powerpc platform are discussed in
|
||||
the file Documentation/powerpc/eeh-pci-error-recovery.rst
|
||||
the file Documentation/arch/powerpc/eeh-pci-error-recovery.rst
|
||||
|
||||
As of this writing, there is a growing list of device drivers with
|
||||
patches implementing error recovery. Not all of these patches are in
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Reliability, Availability and Serviceability features
|
||||
=====================================================
|
||||
|
||||
This documents different aspects of the RAS functionality present in the
|
||||
kernel.
|
||||
|
||||
Error decoding
|
||||
---------------
|
||||
|
||||
* x86
|
||||
|
||||
Error decoding on AMD systems should be done using the rasdaemon tool:
|
||||
https://github.com/mchehab/rasdaemon/
|
||||
|
||||
While the daemon is running, it would automatically log and decode
|
||||
errors. If not, one can still decode such errors by supplying the
|
||||
hardware information from the error::
|
||||
|
||||
$ rasdaemon -p --status <STATUS> --ipid <IPID> --smca
|
||||
|
||||
Also, the user can pass particular family and model to decode the error
|
||||
string::
|
||||
|
||||
$ rasdaemon -p --status <STATUS> --ipid <IPID> --smca --family <CPU Family> --model <CPU Model> --bank <BANK_NUM>
|
||||
@@ -181,7 +181,7 @@ operations is carried out at several levels:
|
||||
of this wait (or series of waits, as the case may be) is to permit a
|
||||
concurrent CPU-hotplug operation to complete.
|
||||
#. In the case of RCU-sched, one of the last acts of an outgoing CPU is
|
||||
to invoke ``rcu_report_dead()``, which reports a quiescent state for
|
||||
to invoke ``rcutree_report_cpu_dead()``, which reports a quiescent state for
|
||||
that CPU. However, this is likely paranoia-induced redundancy.
|
||||
|
||||
+-----------------------------------------------------------------------+
|
||||
|
||||
@@ -564,15 +564,6 @@
|
||||
font-size="192"
|
||||
id="text202-7-9-6"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="8335.4873"
|
||||
y="5357.1006"
|
||||
font-style="normal"
|
||||
font-weight="bold"
|
||||
font-size="192"
|
||||
id="text202-7-9-6-0"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="8768.4678"
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@@ -1135,7 +1135,7 @@
|
||||
font-weight="bold"
|
||||
font-size="192"
|
||||
id="text202-7-5-3-27-6-5"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text>
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_report_cpu_dead()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="3745.7725"
|
||||
@@ -1256,7 +1256,7 @@
|
||||
font-style="normal"
|
||||
y="3679.27"
|
||||
x="-3804.9949"
|
||||
xml:space="preserve">rcu_cpu_starting()</text>
|
||||
xml:space="preserve">rcutree_report_cpu_starting()</text>
|
||||
<g
|
||||
style="fill:none;stroke-width:0.025in"
|
||||
id="g3107-7-5-0"
|
||||
|
||||
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
@@ -1446,15 +1446,6 @@
|
||||
font-size="192"
|
||||
id="text202-7-9-6"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_migrate_callbacks()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="8335.4873"
|
||||
y="5357.1006"
|
||||
font-style="normal"
|
||||
font-weight="bold"
|
||||
font-size="192"
|
||||
id="text202-7-9-6-0"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_migrate_callbacks()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="8768.4678"
|
||||
@@ -3274,7 +3265,7 @@
|
||||
font-weight="bold"
|
||||
font-size="192"
|
||||
id="text202-7-5-3-27-6-5"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text>
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_report_cpu_dead()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="3745.7725"
|
||||
@@ -3395,7 +3386,7 @@
|
||||
font-style="normal"
|
||||
y="3679.27"
|
||||
x="-3804.9949"
|
||||
xml:space="preserve">rcu_cpu_starting()</text>
|
||||
xml:space="preserve">rcutree_report_cpu_starting()</text>
|
||||
<g
|
||||
style="fill:none;stroke-width:0.025in"
|
||||
id="g3107-7-5-0"
|
||||
|
||||
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 208 KiB |
@@ -607,7 +607,7 @@
|
||||
font-weight="bold"
|
||||
font-size="192"
|
||||
id="text202-7-5-3-27-6"
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_report_dead()</text>
|
||||
style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcutree_report_cpu_dead()</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
x="3745.7725"
|
||||
@@ -728,7 +728,7 @@
|
||||
font-style="normal"
|
||||
y="3679.27"
|
||||
x="-3804.9949"
|
||||
xml:space="preserve">rcu_cpu_starting()</text>
|
||||
xml:space="preserve">rcutree_report_cpu_starting()</text>
|
||||
<g
|
||||
style="fill:none;stroke-width:0.025in"
|
||||
id="g3107-7-5-0"
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -1955,12 +1955,12 @@ if offline CPUs block an RCU grace period for too long.
|
||||
|
||||
An offline CPU's quiescent state will be reported either:
|
||||
|
||||
1. As the CPU goes offline using RCU's hotplug notifier (rcu_report_dead()).
|
||||
1. As the CPU goes offline using RCU's hotplug notifier (rcutree_report_cpu_dead()).
|
||||
2. When grace period initialization (rcu_gp_init()) detects a
|
||||
race either with CPU offlining or with a task unblocking on a leaf
|
||||
``rcu_node`` structure whose CPUs are all offline.
|
||||
|
||||
The CPU-online path (rcu_cpu_starting()) should never need to report
|
||||
The CPU-online path (rcutree_report_cpu_starting()) should never need to report
|
||||
a quiescent state for an offline CPU. However, as a debugging measure,
|
||||
it does emit a warning if a quiescent state was not already reported
|
||||
for that CPU.
|
||||
|
||||
@@ -241,15 +241,22 @@ over a rather long period of time, but improvements are always welcome!
|
||||
srcu_struct. The rules for the expedited RCU grace-period-wait
|
||||
primitives are the same as for their non-expedited counterparts.
|
||||
|
||||
If the updater uses call_rcu_tasks() or synchronize_rcu_tasks(),
|
||||
then the readers must refrain from executing voluntary
|
||||
context switches, that is, from blocking. If the updater uses
|
||||
call_rcu_tasks_trace() or synchronize_rcu_tasks_trace(), then
|
||||
the corresponding readers must use rcu_read_lock_trace() and
|
||||
rcu_read_unlock_trace(). If an updater uses call_rcu_tasks_rude()
|
||||
or synchronize_rcu_tasks_rude(), then the corresponding readers
|
||||
must use anything that disables preemption, for example,
|
||||
preempt_disable() and preempt_enable().
|
||||
Similarly, it is necessary to correctly use the RCU Tasks flavors:
|
||||
|
||||
a. If the updater uses synchronize_rcu_tasks() or
|
||||
call_rcu_tasks(), then the readers must refrain from
|
||||
executing voluntary context switches, that is, from
|
||||
blocking.
|
||||
|
||||
b. If the updater uses call_rcu_tasks_trace()
|
||||
or synchronize_rcu_tasks_trace(), then the
|
||||
corresponding readers must use rcu_read_lock_trace()
|
||||
and rcu_read_unlock_trace().
|
||||
|
||||
c. If an updater uses call_rcu_tasks_rude() or
|
||||
synchronize_rcu_tasks_rude(), then the corresponding
|
||||
readers must use anything that disables preemption,
|
||||
for example, preempt_disable() and preempt_enable().
|
||||
|
||||
Mixing things up will result in confusion and broken kernels, and
|
||||
has even resulted in an exploitable security issue. Therefore,
|
||||
|
||||
@@ -8,6 +8,15 @@ One of the most common uses of RCU is protecting read-mostly linked lists
|
||||
that all of the required memory ordering is provided by the list macros.
|
||||
This document describes several list-based RCU use cases.
|
||||
|
||||
When iterating a list while holding the rcu_read_lock(), writers may
|
||||
modify the list. The reader is guaranteed to see all of the elements
|
||||
which were added to the list before they acquired the rcu_read_lock()
|
||||
and are still on the list when they drop the rcu_read_unlock().
|
||||
Elements which are added to, or removed from the list may or may not
|
||||
be seen. If the writer calls list_replace_rcu(), the reader may see
|
||||
either the old element or the new element; they will not see both,
|
||||
nor will they see neither.
|
||||
|
||||
|
||||
Example 1: Read-mostly list: Deferred Destruction
|
||||
-------------------------------------------------
|
||||
|
||||
@@ -3,13 +3,26 @@
|
||||
PROPER CARE AND FEEDING OF RETURN VALUES FROM rcu_dereference()
|
||||
===============================================================
|
||||
|
||||
Most of the time, you can use values from rcu_dereference() or one of
|
||||
the similar primitives without worries. Dereferencing (prefix "*"),
|
||||
field selection ("->"), assignment ("="), address-of ("&"), addition and
|
||||
subtraction of constants, and casts all work quite naturally and safely.
|
||||
Proper care and feeding of address and data dependencies is critically
|
||||
important to correct use of things like RCU. To this end, the pointers
|
||||
returned from the rcu_dereference() family of primitives carry address and
|
||||
data dependencies. These dependencies extend from the rcu_dereference()
|
||||
macro's load of the pointer to the later use of that pointer to compute
|
||||
either the address of a later memory access (representing an address
|
||||
dependency) or the value written by a later memory access (representing
|
||||
a data dependency).
|
||||
|
||||
It is nevertheless possible to get into trouble with other operations.
|
||||
Follow these rules to keep your RCU code working properly:
|
||||
Most of the time, these dependencies are preserved, permitting you to
|
||||
freely use values from rcu_dereference(). For example, dereferencing
|
||||
(prefix "*"), field selection ("->"), assignment ("="), address-of
|
||||
("&"), casts, and addition or subtraction of constants all work quite
|
||||
naturally and safely. However, because current compilers do not take
|
||||
either address or data dependencies into account it is still possible
|
||||
to get into trouble.
|
||||
|
||||
Follow these rules to preserve the address and data dependencies emanating
|
||||
from your calls to rcu_dereference() and friends, thus keeping your RCU
|
||||
readers working properly:
|
||||
|
||||
- You must use one of the rcu_dereference() family of primitives
|
||||
to load an RCU-protected pointer, otherwise CONFIG_PROVE_RCU
|
||||
|
||||
@@ -185,7 +185,7 @@ argument.
|
||||
Not all changes require that all scenarios be run. For example, a change
|
||||
to Tree SRCU might run only the SRCU-N and SRCU-P scenarios using the
|
||||
--configs argument to kvm.sh as follows: "--configs 'SRCU-N SRCU-P'".
|
||||
Large systems can run multiple copies of of the full set of scenarios,
|
||||
Large systems can run multiple copies of the full set of scenarios,
|
||||
for example, a system with 448 hardware threads can run five instances
|
||||
of the full set concurrently. To make this happen::
|
||||
|
||||
|
||||
@@ -59,8 +59,8 @@ experiment with should focus on Section 2. People who prefer to start
|
||||
with example uses should focus on Sections 3 and 4. People who need to
|
||||
understand the RCU implementation should focus on Section 5, then dive
|
||||
into the kernel source code. People who reason best by analogy should
|
||||
focus on Section 6. Section 7 serves as an index to the docbook API
|
||||
documentation, and Section 8 is the traditional answer key.
|
||||
focus on Section 6 and 7. Section 8 serves as an index to the docbook
|
||||
API documentation, and Section 9 is the traditional answer key.
|
||||
|
||||
So, start with the section that makes the most sense to you and your
|
||||
preferred method of learning. If you need to know everything about
|
||||
|
||||
@@ -101,8 +101,8 @@ External References
|
||||
email threads
|
||||
-------------
|
||||
|
||||
* `Initial discussion on the New subsystem for acceleration devices <https://lkml.org/lkml/2022/7/31/83>`_ - Oded Gabbay (2022)
|
||||
* `patch-set to add the new subsystem <https://lkml.org/lkml/2022/10/22/544>`_ - Oded Gabbay (2022)
|
||||
* `Initial discussion on the New subsystem for acceleration devices <https://lore.kernel.org/lkml/CAFCwf11=9qpNAepL7NL+YAV_QO=Wv6pnWPhKHKAepK3fNn+2Dg@mail.gmail.com/>`_ - Oded Gabbay (2022)
|
||||
* `patch-set to add the new subsystem <https://lore.kernel.org/lkml/20221022214622.18042-1-ogabbay@kernel.org/>`_ - Oded Gabbay (2022)
|
||||
|
||||
Conference talks
|
||||
----------------
|
||||
|
||||
@@ -36,8 +36,9 @@ AIC100 DID (0xa100).
|
||||
|
||||
AIC100 does not implement FLR (function level reset).
|
||||
|
||||
AIC100 implements MSI but does not implement MSI-X. AIC100 requires 17 MSIs to
|
||||
operate (1 for MHI, 16 for the DMA Bridge).
|
||||
AIC100 implements MSI but does not implement MSI-X. AIC100 prefers 17 MSIs to
|
||||
operate (1 for MHI, 16 for the DMA Bridge). Falling back to 1 MSI is possible in
|
||||
scenarios where reserving 32 MSIs isn't feasible.
|
||||
|
||||
As a PCIe device, AIC100 utilizes BARs to provide host interfaces to the device
|
||||
hardware. AIC100 provides 3, 64-bit BARs.
|
||||
@@ -220,10 +221,14 @@ of the defined channels, and their uses.
|
||||
+----------------+---------+----------+----------------------------------------+
|
||||
| QAIC_DEBUG | 18 & 19 | AMSS | Not used. |
|
||||
+----------------+---------+----------+----------------------------------------+
|
||||
| QAIC_TIMESYNC | 20 & 21 | SBL/AMSS | Used to synchronize timestamps in the |
|
||||
| QAIC_TIMESYNC | 20 & 21 | SBL | Used to synchronize timestamps in the |
|
||||
| | | | device side logs with the host time |
|
||||
| | | | source. |
|
||||
+----------------+---------+----------+----------------------------------------+
|
||||
| QAIC_TIMESYNC | 22 & 23 | AMSS | Used to periodically synchronize |
|
||||
| _PERIODIC | | | timestamps in the device side logs with|
|
||||
| | | | the host time source. |
|
||||
+----------------+---------+----------+----------------------------------------+
|
||||
|
||||
DMA Bridge
|
||||
==========
|
||||
|
||||
@@ -10,6 +10,9 @@ accelerator products.
|
||||
Interrupts
|
||||
==========
|
||||
|
||||
IRQ Storm Mitigation
|
||||
--------------------
|
||||
|
||||
While the AIC100 DMA Bridge hardware implements an IRQ storm mitigation
|
||||
mechanism, it is still possible for an IRQ storm to occur. A storm can happen
|
||||
if the workload is particularly quick, and the host is responsive. If the host
|
||||
@@ -35,6 +38,26 @@ generates 100k IRQs per second (per /proc/interrupts) is reduced to roughly 64
|
||||
IRQs over 5 minutes while keeping the host system stable, and having the same
|
||||
workload throughput performance (within run to run noise variation).
|
||||
|
||||
Single MSI Mode
|
||||
---------------
|
||||
|
||||
MultiMSI is not well supported on all systems; virtualized ones even less so
|
||||
(circa 2023). Between hypervisors masking the PCIe MSI capability structure to
|
||||
large memory requirements for vIOMMUs (required for supporting MultiMSI), it is
|
||||
useful to be able to fall back to a single MSI when needed.
|
||||
|
||||
To support this fallback, we allow the case where only one MSI is able to be
|
||||
allocated, and share that one MSI between MHI and the DBCs. The device detects
|
||||
when only one MSI has been configured and directs the interrupts for the DBCs
|
||||
to the interrupt normally used for MHI. Unfortunately this means that the
|
||||
interrupt handlers for every DBC and MHI wake up for every interrupt that
|
||||
arrives; however, the DBC threaded irq handlers only are started when work to be
|
||||
done is detected (MHI will always start its threaded handler).
|
||||
|
||||
If the DBC is configured to force MSI interrupts, this can circumvent the
|
||||
software IRQ storm mitigation mentioned above. Since the MSI is shared it is
|
||||
never disabled, allowing each new entry to the FIFO to trigger a new interrupt.
|
||||
|
||||
|
||||
Neural Network Control (NNC) Protocol
|
||||
=====================================
|
||||
@@ -70,8 +93,15 @@ commands (does not impact QAIC).
|
||||
uAPI
|
||||
====
|
||||
|
||||
QAIC creates an accel device per phsyical PCIe device. This accel device exists
|
||||
for as long as the PCIe device is known to Linux.
|
||||
|
||||
The PCIe device may not be in the state to accept requests from userspace at
|
||||
all times. QAIC will trigger KOBJ_ONLINE/OFFLINE uevents to advertise when the
|
||||
device can accept requests (ONLINE) and when the device is no longer accepting
|
||||
requests (OFFLINE) because of a reset or other state transition.
|
||||
|
||||
QAIC defines a number of driver specific IOCTLs as part of the userspace API.
|
||||
This section describes those APIs.
|
||||
|
||||
DRM_IOCTL_QAIC_MANAGE
|
||||
This IOCTL allows userspace to send a NNC request to the QSM. The call will
|
||||
@@ -123,6 +153,16 @@ DRM_IOCTL_QAIC_PART_DEV
|
||||
AIC100 device and can be used for limiting a process to some subset of
|
||||
resources.
|
||||
|
||||
DRM_IOCTL_QAIC_DETACH_SLICE_BO
|
||||
This IOCTL allows userspace to remove the slicing information from a BO that
|
||||
was originally provided by a call to DRM_IOCTL_QAIC_ATTACH_SLICE_BO. This
|
||||
is the inverse of DRM_IOCTL_QAIC_ATTACH_SLICE_BO. The BO must be idle for
|
||||
DRM_IOCTL_QAIC_DETACH_SLICE_BO to be called. After a successful detach slice
|
||||
operation the BO may have new slicing information attached with a new call
|
||||
to DRM_IOCTL_QAIC_ATTACH_SLICE_BO. After detach slice, the BO cannot be
|
||||
executed until after a new attach slice operation. Combining attach slice
|
||||
and detach slice calls allows userspace to use a BO with multiple workloads.
|
||||
|
||||
Userspace Client Isolation
|
||||
==========================
|
||||
|
||||
@@ -168,3 +208,8 @@ overrides this for that call. Default is 5000 (5 seconds).
|
||||
|
||||
Sets the polling interval in microseconds (us) when datapath polling is active.
|
||||
Takes effect at the next polling interval. Default is 100 (100 us).
|
||||
|
||||
**timesync_delay_ms (unsigned int)**
|
||||
|
||||
Sets the time interval in milliseconds (ms) between two consecutive timesync
|
||||
operations. Default is 1000 (1000 ms).
|
||||
|
||||
@@ -7,5 +7,5 @@ marked to be removed at some later point in time.
|
||||
The description of the interface will document the reason why it is
|
||||
obsolete and when it can be expected to be removed.
|
||||
|
||||
.. kernel-abi:: $srctree/Documentation/ABI/obsolete
|
||||
.. kernel-abi:: ABI/obsolete
|
||||
:rst:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ABI removed symbols
|
||||
===================
|
||||
|
||||
.. kernel-abi:: $srctree/Documentation/ABI/removed
|
||||
.. kernel-abi:: ABI/removed
|
||||
:rst:
|
||||
|
||||
@@ -10,5 +10,5 @@ for at least 2 years.
|
||||
Most interfaces (like syscalls) are expected to never change and always
|
||||
be available.
|
||||
|
||||
.. kernel-abi:: $srctree/Documentation/ABI/stable
|
||||
.. kernel-abi:: ABI/stable
|
||||
:rst:
|
||||
|
||||
@@ -16,5 +16,5 @@ Programs that use these interfaces are strongly encouraged to add their
|
||||
name to the description of these interfaces, so that the kernel
|
||||
developers can easily notify them if any changes occur.
|
||||
|
||||
.. kernel-abi:: $srctree/Documentation/ABI/testing
|
||||
.. kernel-abi:: ABI/testing
|
||||
:rst:
|
||||
|
||||
@@ -75,4 +75,4 @@ taking two different snapshots of feedback counters at time T1 and T2.
|
||||
delivered_counter_delta = fbc_t2[del] - fbc_t1[del]
|
||||
reference_counter_delta = fbc_t2[ref] - fbc_t1[ref]
|
||||
|
||||
delivered_perf = (refernce_perf x delivered_counter_delta) / reference_counter_delta
|
||||
delivered_perf = (reference_perf x delivered_counter_delta) / reference_counter_delta
|
||||
|
||||
@@ -328,7 +328,7 @@ as idle::
|
||||
From now on, any pages on zram are idle pages. The idle mark
|
||||
will be removed until someone requests access of the block.
|
||||
IOW, unless there is access request, those pages are still idle pages.
|
||||
Additionally, when CONFIG_ZRAM_MEMORY_TRACKING is enabled pages can be
|
||||
Additionally, when CONFIG_ZRAM_TRACK_ENTRY_ACTIME is enabled pages can be
|
||||
marked as idle based on how long (in seconds) it's been since they were
|
||||
last accessed::
|
||||
|
||||
|
||||
@@ -92,6 +92,13 @@ Brief summary of control files.
|
||||
memory.oom_control set/show oom controls.
|
||||
memory.numa_stat show the number of memory usage per numa
|
||||
node
|
||||
memory.kmem.limit_in_bytes Deprecated knob to set and read the kernel
|
||||
memory hard limit. Kernel hard limit is not
|
||||
supported since 5.16. Writing any value to
|
||||
do file will not have any effect same as if
|
||||
nokmem kernel parameter was specified.
|
||||
Kernel memory is still charged and reported
|
||||
by memory.kmem.usage_in_bytes.
|
||||
memory.kmem.usage_in_bytes show current kernel memory allocation
|
||||
memory.kmem.failcnt show the number of kernel memory usage
|
||||
hits limits
|
||||
@@ -544,6 +551,7 @@ memory.stat file includes following statistics:
|
||||
event happens each time a page is unaccounted from the
|
||||
cgroup.
|
||||
swap # of bytes of swap usage
|
||||
swapcached # of bytes of swap cached in memory
|
||||
dirty # of bytes that are waiting to get written back to the disk.
|
||||
writeback # of bytes of file/anon cache that are queued for syncing to
|
||||
disk.
|
||||
|
||||
@@ -210,6 +210,35 @@ cgroup v2 currently supports the following mount options.
|
||||
relying on the original semantics (e.g. specifying bogusly
|
||||
high 'bypass' protection values at higher tree levels).
|
||||
|
||||
memory_hugetlb_accounting
|
||||
Count HugeTLB memory usage towards the cgroup's overall
|
||||
memory usage for the memory controller (for the purpose of
|
||||
statistics reporting and memory protetion). This is a new
|
||||
behavior that could regress existing setups, so it must be
|
||||
explicitly opted in with this mount option.
|
||||
|
||||
A few caveats to keep in mind:
|
||||
|
||||
* There is no HugeTLB pool management involved in the memory
|
||||
controller. The pre-allocated pool does not belong to anyone.
|
||||
Specifically, when a new HugeTLB folio is allocated to
|
||||
the pool, it is not accounted for from the perspective of the
|
||||
memory controller. It is only charged to a cgroup when it is
|
||||
actually used (for e.g at page fault time). Host memory
|
||||
overcommit management has to consider this when configuring
|
||||
hard limits. In general, HugeTLB pool management should be
|
||||
done via other mechanisms (such as the HugeTLB controller).
|
||||
* Failure to charge a HugeTLB folio to the memory controller
|
||||
results in SIGBUS. This could happen even if the HugeTLB pool
|
||||
still has pages available (but the cgroup limit is hit and
|
||||
reclaim attempt fails).
|
||||
* Charging HugeTLB memory towards the memory controller affects
|
||||
memory protection and reclaim dynamics. Any userspace tuning
|
||||
(of low, min limits for e.g) needs to take this into account.
|
||||
* HugeTLB pages utilized while this option is not selected
|
||||
will not be tracked by the memory controller (even if cgroup
|
||||
v2 is remounted later on).
|
||||
|
||||
|
||||
Organizing Processes and Threads
|
||||
--------------------------------
|
||||
@@ -364,6 +393,13 @@ constraint, a threaded controller must be able to handle competition
|
||||
between threads in a non-leaf cgroup and its child cgroups. Each
|
||||
threaded controller defines how such competitions are handled.
|
||||
|
||||
Currently, the following controllers are threaded and can be enabled
|
||||
in a threaded cgroup::
|
||||
|
||||
- cpu
|
||||
- cpuset
|
||||
- perf_event
|
||||
- pids
|
||||
|
||||
[Un]populated Notification
|
||||
--------------------------
|
||||
@@ -1057,7 +1093,11 @@ All time durations are in microseconds.
|
||||
A read-write single value file which exists on non-root
|
||||
cgroups. The default is "100".
|
||||
|
||||
The weight in the range [1, 10000].
|
||||
For non idle groups (cpu.idle = 0), the weight is in the
|
||||
range [1, 10000].
|
||||
|
||||
If the cgroup has been configured to be SCHED_IDLE (cpu.idle = 1),
|
||||
then the weight will show as a 0.
|
||||
|
||||
cpu.weight.nice
|
||||
A read-write single value file which exists on non-root
|
||||
@@ -1121,6 +1161,16 @@ All time durations are in microseconds.
|
||||
values similar to the sched_setattr(2). This maximum utilization
|
||||
value is used to clamp the task specific maximum utilization clamp.
|
||||
|
||||
cpu.idle
|
||||
A read-write single value file which exists on non-root cgroups.
|
||||
The default is 0.
|
||||
|
||||
This is the cgroup analog of the per-task SCHED_IDLE sched policy.
|
||||
Setting this value to a 1 will make the scheduling policy of the
|
||||
cgroup SCHED_IDLE. The threads inside the cgroup will retain their
|
||||
own relative priorities, but the cgroup itself will be treated as
|
||||
very low priority relative to its peers.
|
||||
|
||||
|
||||
|
||||
Memory
|
||||
@@ -1532,6 +1582,15 @@ PAGE_SIZE multiple when read back.
|
||||
collapsing an existing range of pages. This counter is not
|
||||
present when CONFIG_TRANSPARENT_HUGEPAGE is not set.
|
||||
|
||||
thp_swpout (npn)
|
||||
Number of transparent hugepages which are swapout in one piece
|
||||
without splitting.
|
||||
|
||||
thp_swpout_fallback (npn)
|
||||
Number of transparent hugepages which were split before swapout.
|
||||
Usually because failed to allocate some continuous swap space
|
||||
for the huge page.
|
||||
|
||||
memory.numa_stat
|
||||
A read-only nested-keyed file which exists on non-root cgroups.
|
||||
|
||||
@@ -1634,6 +1693,21 @@ PAGE_SIZE multiple when read back.
|
||||
limit, it will refuse to take any more stores before existing
|
||||
entries fault back in or are written out to disk.
|
||||
|
||||
memory.zswap.writeback
|
||||
A read-write single value file. The default value is "1". The
|
||||
initial value of the root cgroup is 1, and when a new cgroup is
|
||||
created, it inherits the current value of its parent.
|
||||
|
||||
When this is set to 0, all swapping attempts to swapping devices
|
||||
are disabled. This included both zswap writebacks, and swapping due
|
||||
to zswap store failures. If the zswap store failures are recurring
|
||||
(for e.g if the pages are incompressible), users can observe
|
||||
reclaim inefficiency after disabling writeback (because the same
|
||||
pages might be rejected again and again).
|
||||
|
||||
Note that this is subtly different from setting memory.swap.max to
|
||||
0, as it still allows for pages to be written to the zswap pool.
|
||||
|
||||
memory.pressure
|
||||
A read-only nested-keyed file.
|
||||
|
||||
@@ -2023,7 +2097,7 @@ IO Priority
|
||||
~~~~~~~~~~~
|
||||
|
||||
A single attribute controls the behavior of the I/O priority cgroup policy,
|
||||
namely the blkio.prio.class attribute. The following values are accepted for
|
||||
namely the io.prio.class attribute. The following values are accepted for
|
||||
that attribute:
|
||||
|
||||
no-change
|
||||
@@ -2052,9 +2126,11 @@ The following numerical values are associated with the I/O priority policies:
|
||||
+----------------+---+
|
||||
| no-change | 0 |
|
||||
+----------------+---+
|
||||
| rt-to-be | 2 |
|
||||
| promote-to-rt | 1 |
|
||||
+----------------+---+
|
||||
| all-to-idle | 3 |
|
||||
| restrict-to-be | 2 |
|
||||
+----------------+---+
|
||||
| idle | 3 |
|
||||
+----------------+---+
|
||||
|
||||
The numerical value that corresponds to each I/O priority class is as follows:
|
||||
@@ -2074,7 +2150,7 @@ The algorithm to set the I/O priority class for a request is as follows:
|
||||
- If I/O priority class policy is promote-to-rt, change the request I/O
|
||||
priority class to IOPRIO_CLASS_RT and change the request I/O priority
|
||||
level to 4.
|
||||
- If I/O priorityt class is not promote-to-rt, translate the I/O priority
|
||||
- If I/O priority class policy is not promote-to-rt, translate the I/O priority
|
||||
class policy into a number, then change the request I/O priority class
|
||||
into the maximum of the I/O priority class policy number and the numerical
|
||||
I/O priority class.
|
||||
@@ -2226,6 +2302,56 @@ Cpuset Interface Files
|
||||
|
||||
Its value will be affected by memory nodes hotplug events.
|
||||
|
||||
cpuset.cpus.exclusive
|
||||
A read-write multiple values file which exists on non-root
|
||||
cpuset-enabled cgroups.
|
||||
|
||||
It lists all the exclusive CPUs that are allowed to be used
|
||||
to create a new cpuset partition. Its value is not used
|
||||
unless the cgroup becomes a valid partition root. See the
|
||||
"cpuset.cpus.partition" section below for a description of what
|
||||
a cpuset partition is.
|
||||
|
||||
When the cgroup becomes a partition root, the actual exclusive
|
||||
CPUs that are allocated to that partition are listed in
|
||||
"cpuset.cpus.exclusive.effective" which may be different
|
||||
from "cpuset.cpus.exclusive". If "cpuset.cpus.exclusive"
|
||||
has previously been set, "cpuset.cpus.exclusive.effective"
|
||||
is always a subset of it.
|
||||
|
||||
Users can manually set it to a value that is different from
|
||||
"cpuset.cpus". The only constraint in setting it is that the
|
||||
list of CPUs must be exclusive with respect to its sibling.
|
||||
|
||||
For a parent cgroup, any one of its exclusive CPUs can only
|
||||
be distributed to at most one of its child cgroups. Having an
|
||||
exclusive CPU appearing in two or more of its child cgroups is
|
||||
not allowed (the exclusivity rule). A value that violates the
|
||||
exclusivity rule will be rejected with a write error.
|
||||
|
||||
The root cgroup is a partition root and all its available CPUs
|
||||
are in its exclusive CPU set.
|
||||
|
||||
cpuset.cpus.exclusive.effective
|
||||
A read-only multiple values file which exists on all non-root
|
||||
cpuset-enabled cgroups.
|
||||
|
||||
This file shows the effective set of exclusive CPUs that
|
||||
can be used to create a partition root. The content of this
|
||||
file will always be a subset of "cpuset.cpus" and its parent's
|
||||
"cpuset.cpus.exclusive.effective" if its parent is not the root
|
||||
cgroup. It will also be a subset of "cpuset.cpus.exclusive"
|
||||
if it is set. If "cpuset.cpus.exclusive" is not set, it is
|
||||
treated to have an implicit value of "cpuset.cpus" in the
|
||||
formation of local partition.
|
||||
|
||||
cpuset.cpus.isolated
|
||||
A read-only and root cgroup only multiple values file.
|
||||
|
||||
This file shows the set of all isolated CPUs used in existing
|
||||
isolated partitions. It will be empty if no isolated partition
|
||||
is created.
|
||||
|
||||
cpuset.cpus.partition
|
||||
A read-write single value file which exists on non-root
|
||||
cpuset-enabled cgroups. This flag is owned by the parent cgroup
|
||||
@@ -2239,25 +2365,40 @@ Cpuset Interface Files
|
||||
"isolated" Partition root without load balancing
|
||||
========== =====================================
|
||||
|
||||
The root cgroup is always a partition root and its state
|
||||
cannot be changed. All other non-root cgroups start out as
|
||||
"member".
|
||||
A cpuset partition is a collection of cpuset-enabled cgroups with
|
||||
a partition root at the top of the hierarchy and its descendants
|
||||
except those that are separate partition roots themselves and
|
||||
their descendants. A partition has exclusive access to the
|
||||
set of exclusive CPUs allocated to it. Other cgroups outside
|
||||
of that partition cannot use any CPUs in that set.
|
||||
|
||||
There are two types of partitions - local and remote. A local
|
||||
partition is one whose parent cgroup is also a valid partition
|
||||
root. A remote partition is one whose parent cgroup is not a
|
||||
valid partition root itself. Writing to "cpuset.cpus.exclusive"
|
||||
is optional for the creation of a local partition as its
|
||||
"cpuset.cpus.exclusive" file will assume an implicit value that
|
||||
is the same as "cpuset.cpus" if it is not set. Writing the
|
||||
proper "cpuset.cpus.exclusive" values down the cgroup hierarchy
|
||||
before the target partition root is mandatory for the creation
|
||||
of a remote partition.
|
||||
|
||||
Currently, a remote partition cannot be created under a local
|
||||
partition. All the ancestors of a remote partition root except
|
||||
the root cgroup cannot be a partition root.
|
||||
|
||||
The root cgroup is always a partition root and its state cannot
|
||||
be changed. All other non-root cgroups start out as "member".
|
||||
|
||||
When set to "root", the current cgroup is the root of a new
|
||||
partition or scheduling domain that comprises itself and all
|
||||
its descendants except those that are separate partition roots
|
||||
themselves and their descendants.
|
||||
partition or scheduling domain. The set of exclusive CPUs is
|
||||
determined by the value of its "cpuset.cpus.exclusive.effective".
|
||||
|
||||
When set to "isolated", the CPUs in that partition root will
|
||||
be in an isolated state without any load balancing from the
|
||||
scheduler. Tasks placed in such a partition with multiple
|
||||
CPUs should be carefully distributed and bound to each of the
|
||||
individual CPUs for optimal performance.
|
||||
|
||||
The value shown in "cpuset.cpus.effective" of a partition root
|
||||
is the CPUs that the partition root can dedicate to a potential
|
||||
new child partition root. The new child subtracts available
|
||||
CPUs from its parent "cpuset.cpus.effective".
|
||||
When set to "isolated", the CPUs in that partition will be in
|
||||
an isolated state without any load balancing from the scheduler
|
||||
and excluded from the unbound workqueues. Tasks placed in such
|
||||
a partition with multiple CPUs should be carefully distributed
|
||||
and bound to each of the individual CPUs for optimal performance.
|
||||
|
||||
A partition root ("root" or "isolated") can be in one of the
|
||||
two possible states - valid or invalid. An invalid partition
|
||||
@@ -2281,37 +2422,33 @@ Cpuset Interface Files
|
||||
In the case of an invalid partition root, a descriptive string on
|
||||
why the partition is invalid is included within parentheses.
|
||||
|
||||
For a partition root to become valid, the following conditions
|
||||
For a local partition root to be valid, the following conditions
|
||||
must be met.
|
||||
|
||||
1) The "cpuset.cpus" is exclusive with its siblings , i.e. they
|
||||
are not shared by any of its siblings (exclusivity rule).
|
||||
2) The parent cgroup is a valid partition root.
|
||||
3) The "cpuset.cpus" is not empty and must contain at least
|
||||
one of the CPUs from parent's "cpuset.cpus", i.e. they overlap.
|
||||
4) The "cpuset.cpus.effective" cannot be empty unless there is
|
||||
1) The parent cgroup is a valid partition root.
|
||||
2) The "cpuset.cpus.exclusive.effective" file cannot be empty,
|
||||
though it may contain offline CPUs.
|
||||
3) The "cpuset.cpus.effective" cannot be empty unless there is
|
||||
no task associated with this partition.
|
||||
|
||||
External events like hotplug or changes to "cpuset.cpus" can
|
||||
cause a valid partition root to become invalid and vice versa.
|
||||
Note that a task cannot be moved to a cgroup with empty
|
||||
"cpuset.cpus.effective".
|
||||
For a remote partition root to be valid, all the above conditions
|
||||
except the first one must be met.
|
||||
|
||||
For a valid partition root with the sibling cpu exclusivity
|
||||
rule enabled, changes made to "cpuset.cpus" that violate the
|
||||
exclusivity rule will invalidate the partition as well as its
|
||||
sibling partitions with conflicting cpuset.cpus values. So
|
||||
care must be taking in changing "cpuset.cpus".
|
||||
External events like hotplug or changes to "cpuset.cpus" or
|
||||
"cpuset.cpus.exclusive" can cause a valid partition root to
|
||||
become invalid and vice versa. Note that a task cannot be
|
||||
moved to a cgroup with empty "cpuset.cpus.effective".
|
||||
|
||||
A valid non-root parent partition may distribute out all its CPUs
|
||||
to its child partitions when there is no task associated with it.
|
||||
to its child local partitions when there is no task associated
|
||||
with it.
|
||||
|
||||
Care must be taken to change a valid partition root to
|
||||
"member" as all its child partitions, if present, will become
|
||||
Care must be taken to change a valid partition root to "member"
|
||||
as all its child local partitions, if present, will become
|
||||
invalid causing disruption to tasks running in those child
|
||||
partitions. These inactivated partitions could be recovered if
|
||||
their parent is switched back to a partition root with a proper
|
||||
set of "cpuset.cpus".
|
||||
value in "cpuset.cpus" or "cpuset.cpus.exclusive".
|
||||
|
||||
Poll and inotify events are triggered whenever the state of
|
||||
"cpuset.cpus.partition" changes. That includes changes caused
|
||||
@@ -2321,6 +2458,11 @@ Cpuset Interface Files
|
||||
to "cpuset.cpus.partition" without the need to do continuous
|
||||
polling.
|
||||
|
||||
A user can pre-configure certain CPUs to an isolated state
|
||||
with load balancing disabled at boot time with the "isolcpus"
|
||||
kernel boot command line option. If those CPUs are to be put
|
||||
into a partition, they have to be used in an isolated partition.
|
||||
|
||||
|
||||
Device controller
|
||||
-----------------
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
TODO
|
||||
====
|
||||
|
||||
Version 2.14 December 21, 2018
|
||||
As of 6.7 kernel. See https://wiki.samba.org/index.php/LinuxCIFSKernel
|
||||
for list of features added by release
|
||||
|
||||
A Partial List of Missing Features
|
||||
==================================
|
||||
@@ -12,22 +13,22 @@ for visible, important contributions to this module. Here
|
||||
is a partial list of the known problems and missing features:
|
||||
|
||||
a) SMB3 (and SMB3.1.1) missing optional features:
|
||||
multichannel performance optimizations, algorithmic channel selection,
|
||||
directory leases optimizations,
|
||||
support for faster packet signing (GMAC),
|
||||
support for compression over the network,
|
||||
T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
|
||||
are currently the only two server side copy mechanisms supported)
|
||||
|
||||
- multichannel (partially integrated), integration of multichannel with RDMA
|
||||
- directory leases (improved metadata caching). Currently only implemented for root dir
|
||||
- T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
|
||||
currently the only two server side copy mechanisms supported)
|
||||
b) Better optimized compounding and error handling for sparse file support,
|
||||
perhaps addition of new optional SMB3.1.1 fsctls to make collapse range
|
||||
and insert range more atomic
|
||||
|
||||
b) improved sparse file support (fiemap and SEEK_HOLE are implemented
|
||||
but additional features would be supportable by the protocol such
|
||||
as FALLOC_FL_COLLAPSE_RANGE and FALLOC_FL_INSERT_RANGE)
|
||||
|
||||
c) Directory entry caching relies on a 1 second timer, rather than
|
||||
using Directory Leases, currently only the root file handle is cached longer
|
||||
by leveraging Directory Leases
|
||||
c) Support for SMB3.1.1 over QUIC (and perhaps other socket based protocols
|
||||
like SCTP)
|
||||
|
||||
d) quota support (needs minor kernel change since quota calls otherwise
|
||||
won't make it to network filesystems or deviceless filesystems).
|
||||
won't make it to network filesystems or deviceless filesystems).
|
||||
|
||||
e) Additional use cases can be optimized to use "compounding" (e.g.
|
||||
open/query/close and open/setinfo/close) to reduce the number of
|
||||
@@ -92,23 +93,20 @@ t) split cifs and smb3 support into separate modules so legacy (and less
|
||||
|
||||
v) Additional testing of POSIX Extensions for SMB3.1.1
|
||||
|
||||
w) Add support for additional strong encryption types, and additional spnego
|
||||
authentication mechanisms (see MS-SMB2). GCM-256 is now partially implemented.
|
||||
w) Support for the Mac SMB3.1.1 extensions to improve interop with Apple servers
|
||||
|
||||
x) Finish support for SMB3.1.1 compression
|
||||
x) Support for additional authentication options (e.g. IAKERB, peer-to-peer
|
||||
Kerberos, SCRAM and others supported by existing servers)
|
||||
|
||||
y) Improved tracing, more eBPF trace points, better scripts for performance
|
||||
analysis
|
||||
|
||||
Known Bugs
|
||||
==========
|
||||
|
||||
See https://bugzilla.samba.org - search on product "CifsVFS" for
|
||||
current bug list. Also check http://bugzilla.kernel.org (Product = File System, Component = CIFS)
|
||||
|
||||
1) existing symbolic links (Windows reparse points) are recognized but
|
||||
can not be created remotely. They are implemented for Samba and those that
|
||||
support the CIFS Unix extensions, although earlier versions of Samba
|
||||
overly restrict the pathnames.
|
||||
2) follow_link and readdir code does not follow dfs junctions
|
||||
but recognizes them
|
||||
and xfstest results e.g. https://wiki.samba.org/index.php/Xfstest-results-smb3
|
||||
|
||||
Misc testing to do
|
||||
==================
|
||||
|
||||
@@ -81,7 +81,7 @@ much older and less secure than the default dialect SMB3 which includes
|
||||
many advanced security features such as downgrade attack detection
|
||||
and encrypted shares and stronger signing and authentication algorithms.
|
||||
There are additional mount options that may be helpful for SMB3 to get
|
||||
improved POSIX behavior (NB: can use vers=3.0 to force only SMB3, never 2.1):
|
||||
improved POSIX behavior (NB: can use vers=3 to force SMB3 or later, never 2.1):
|
||||
|
||||
``mfsymlinks`` and either ``cifsacl`` or ``modefromsid`` (usually with ``idsfromsid``)
|
||||
|
||||
@@ -715,6 +715,7 @@ DebugData Displays information about active CIFS sessions and
|
||||
Stats Lists summary resource usage information as well as per
|
||||
share statistics.
|
||||
open_files List all the open file handles on all active SMB sessions.
|
||||
mount_params List of all mount parameters available for the module
|
||||
======================= =======================================================
|
||||
|
||||
Configuration pseudo-files:
|
||||
@@ -864,6 +865,11 @@ i.e.::
|
||||
|
||||
echo "value" > /sys/module/cifs/parameters/<param>
|
||||
|
||||
More detailed descriptions of the available module parameters and their values
|
||||
can be seen by doing:
|
||||
|
||||
modinfo cifs (or modinfo smb3)
|
||||
|
||||
================= ==========================================================
|
||||
1. enable_oplocks Enable or disable oplocks. Oplocks are enabled by default.
|
||||
[Y/y/1]. To disable use any of [N/n/0].
|
||||
|
||||
@@ -2704,6 +2704,9 @@
|
||||
...
|
||||
185 = /dev/ttyNX15 Hilscher netX serial port 15
|
||||
186 = /dev/ttyJ0 JTAG1 DCC protocol based serial port emulation
|
||||
|
||||
If maximum number of uartlite serial ports is more than 4, then the driver
|
||||
uses dynamic allocation instead of static allocation for major number.
|
||||
187 = /dev/ttyUL0 Xilinx uartlite - port 0
|
||||
...
|
||||
190 = /dev/ttyUL3 Xilinx uartlite - port 3
|
||||
|
||||
@@ -259,7 +259,7 @@ Debug Messages at Module Initialization Time
|
||||
|
||||
When ``modprobe foo`` is called, modprobe scans ``/proc/cmdline`` for
|
||||
``foo.params``, strips ``foo.``, and passes them to the kernel along with
|
||||
params given in modprobe args or ``/etc/modprob.d/*.conf`` files,
|
||||
params given in modprobe args or ``/etc/modprobe.d/*.conf`` files,
|
||||
in the following order:
|
||||
|
||||
1. parameters given via ``/etc/modprobe.d/*.conf``::
|
||||
@@ -321,13 +321,13 @@ Examples
|
||||
:#> ddcmd 'format "nfsd: READ" +p'
|
||||
|
||||
// enable messages in files of which the paths include string "usb"
|
||||
:#> ddcmd 'file *usb* +p' > /proc/dynamic_debug/control
|
||||
:#> ddcmd 'file *usb* +p'
|
||||
|
||||
// enable all messages
|
||||
:#> ddcmd '+p' > /proc/dynamic_debug/control
|
||||
:#> ddcmd '+p'
|
||||
|
||||
// add module, function to all enabled messages
|
||||
:#> ddcmd '+mf' > /proc/dynamic_debug/control
|
||||
:#> ddcmd '+mf'
|
||||
|
||||
// boot-args example, with newlines and comments for readability
|
||||
Kernel command line: ...
|
||||
|
||||
@@ -15,7 +15,7 @@ between architectures is in drivers/firmware/efi/libstub.
|
||||
|
||||
For arm64, there is no compressed kernel support, so the Image itself
|
||||
masquerades as a PE/COFF image and the EFI stub is linked into the
|
||||
kernel. The arm64 EFI stub lives in arch/arm64/kernel/efi-entry.S
|
||||
kernel. The arm64 EFI stub lives in drivers/firmware/efi/libstub/arm64.c
|
||||
and drivers/firmware/efi/libstub/arm64-stub.c.
|
||||
|
||||
By using the EFI boot stub it's possible to boot a Linux kernel
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. kernel-feat:: $srctree/Documentation/features
|
||||
.. kernel-feat:: features
|
||||
|
||||
@@ -102,9 +102,19 @@ The possible values in this file are:
|
||||
* - 'Vulnerable'
|
||||
- The processor is vulnerable, but no mitigation enabled
|
||||
* - 'Vulnerable: Clear CPU buffers attempted, no microcode'
|
||||
- The processor is vulnerable but microcode is not updated.
|
||||
- The processor is vulnerable but microcode is not updated. The
|
||||
mitigation is enabled on a best effort basis.
|
||||
|
||||
The mitigation is enabled on a best effort basis. See :ref:`vmwerv`
|
||||
If the processor is vulnerable but the availability of the microcode
|
||||
based mitigation mechanism is not advertised via CPUID, the kernel
|
||||
selects a best effort mitigation mode. This mode invokes the mitigation
|
||||
instructions without a guarantee that they clear the CPU buffers.
|
||||
|
||||
This is done to address virtualization scenarios where the host has the
|
||||
microcode update applied, but the hypervisor is not yet updated to
|
||||
expose the CPUID to the guest. If the host has updated microcode the
|
||||
protection takes effect; otherwise a few CPU cycles are wasted
|
||||
pointlessly.
|
||||
* - 'Mitigation: Clear CPU buffers'
|
||||
- The processor is vulnerable and the CPU buffer clearing mitigation is
|
||||
enabled.
|
||||
@@ -119,24 +129,6 @@ to the above information:
|
||||
'SMT Host state unknown' Kernel runs in a VM, Host SMT state unknown
|
||||
======================== ============================================
|
||||
|
||||
.. _vmwerv:
|
||||
|
||||
Best effort mitigation mode
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If the processor is vulnerable, but the availability of the microcode based
|
||||
mitigation mechanism is not advertised via CPUID the kernel selects a best
|
||||
effort mitigation mode. This mode invokes the mitigation instructions
|
||||
without a guarantee that they clear the CPU buffers.
|
||||
|
||||
This is done to address virtualization scenarios where the host has the
|
||||
microcode update applied, but the hypervisor is not yet updated to expose
|
||||
the CPUID to the guest. If the host has updated microcode the protection
|
||||
takes effect otherwise a few cpu cycles are wasted pointlessly.
|
||||
|
||||
The state in the mds sysfs file reflects this situation accordingly.
|
||||
|
||||
|
||||
Mitigation mechanism
|
||||
-------------------------
|
||||
|
||||
|
||||
@@ -225,8 +225,19 @@ The possible values in this file are:
|
||||
* - 'Vulnerable'
|
||||
- The processor is vulnerable, but no mitigation enabled
|
||||
* - 'Vulnerable: Clear CPU buffers attempted, no microcode'
|
||||
- The processor is vulnerable, but microcode is not updated. The
|
||||
- The processor is vulnerable but microcode is not updated. The
|
||||
mitigation is enabled on a best effort basis.
|
||||
|
||||
If the processor is vulnerable but the availability of the microcode
|
||||
based mitigation mechanism is not advertised via CPUID, the kernel
|
||||
selects a best effort mitigation mode. This mode invokes the mitigation
|
||||
instructions without a guarantee that they clear the CPU buffers.
|
||||
|
||||
This is done to address virtualization scenarios where the host has the
|
||||
microcode update applied, but the hypervisor is not yet updated to
|
||||
expose the CPUID to the guest. If the host has updated microcode the
|
||||
protection takes effect; otherwise a few CPU cycles are wasted
|
||||
pointlessly.
|
||||
* - 'Mitigation: Clear CPU buffers'
|
||||
- The processor is vulnerable and the CPU buffer clearing mitigation is
|
||||
enabled.
|
||||
|
||||
@@ -46,12 +46,22 @@ The possible values in this file are:
|
||||
|
||||
The processor is not vulnerable
|
||||
|
||||
* 'Vulnerable: no microcode':
|
||||
* 'Vulnerable':
|
||||
|
||||
The processor is vulnerable and no mitigations have been applied.
|
||||
|
||||
* 'Vulnerable: No microcode':
|
||||
|
||||
The processor is vulnerable, no microcode extending IBPB
|
||||
functionality to address the vulnerability has been applied.
|
||||
|
||||
* 'Mitigation: microcode':
|
||||
* 'Vulnerable: Safe RET, no microcode':
|
||||
|
||||
The "Safe RET" mitigation (see below) has been applied to protect the
|
||||
kernel, but the IBPB-extending microcode has not been applied. User
|
||||
space tasks may still be vulnerable.
|
||||
|
||||
* 'Vulnerable: Microcode, no safe RET':
|
||||
|
||||
Extended IBPB functionality microcode patch has been applied. It does
|
||||
not address User->Kernel and Guest->Host transitions protection but it
|
||||
@@ -72,11 +82,11 @@ The possible values in this file are:
|
||||
|
||||
(spec_rstack_overflow=microcode)
|
||||
|
||||
* 'Mitigation: safe RET':
|
||||
* 'Mitigation: Safe RET':
|
||||
|
||||
Software-only mitigation. It complements the extended IBPB microcode
|
||||
patch functionality by addressing User->Kernel and Guest->Host
|
||||
transitions protection.
|
||||
Combined microcode/software mitigation. It complements the
|
||||
extended IBPB microcode patch functionality by addressing
|
||||
User->Kernel and Guest->Host transitions protection.
|
||||
|
||||
Selected by default or by spec_rstack_overflow=safe-ret
|
||||
|
||||
@@ -129,7 +139,7 @@ an indrect branch prediction barrier after having applied the required
|
||||
microcode patch for one's system. This mitigation comes also at
|
||||
a performance cost.
|
||||
|
||||
Mitigation: safe RET
|
||||
Mitigation: Safe RET
|
||||
--------------------
|
||||
|
||||
The mitigation works by ensuring all RET instructions speculate to
|
||||
|
||||
@@ -98,7 +98,19 @@ The possible values in this file are:
|
||||
* - 'Vulnerable'
|
||||
- The CPU is affected by this vulnerability and the microcode and kernel mitigation are not applied.
|
||||
* - 'Vulnerable: Clear CPU buffers attempted, no microcode'
|
||||
- The system tries to clear the buffers but the microcode might not support the operation.
|
||||
- The processor is vulnerable but microcode is not updated. The
|
||||
mitigation is enabled on a best effort basis.
|
||||
|
||||
If the processor is vulnerable but the availability of the microcode
|
||||
based mitigation mechanism is not advertised via CPUID, the kernel
|
||||
selects a best effort mitigation mode. This mode invokes the mitigation
|
||||
instructions without a guarantee that they clear the CPU buffers.
|
||||
|
||||
This is done to address virtualization scenarios where the host has the
|
||||
microcode update applied, but the hypervisor is not yet updated to
|
||||
expose the CPUID to the guest. If the host has updated microcode the
|
||||
protection takes effect; otherwise a few CPU cycles are wasted
|
||||
pointlessly.
|
||||
* - 'Mitigation: Clear CPU buffers'
|
||||
- The microcode has been updated to clear the buffers. TSX is still enabled.
|
||||
* - 'Mitigation: TSX disabled'
|
||||
@@ -106,25 +118,6 @@ The possible values in this file are:
|
||||
* - 'Not affected'
|
||||
- The CPU is not affected by this issue.
|
||||
|
||||
.. _ucode_needed:
|
||||
|
||||
Best effort mitigation mode
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If the processor is vulnerable, but the availability of the microcode-based
|
||||
mitigation mechanism is not advertised via CPUID the kernel selects a best
|
||||
effort mitigation mode. This mode invokes the mitigation instructions
|
||||
without a guarantee that they clear the CPU buffers.
|
||||
|
||||
This is done to address virtualization scenarios where the host has the
|
||||
microcode update applied, but the hypervisor is not yet updated to expose the
|
||||
CPUID to the guest. If the host has updated microcode the protection takes
|
||||
effect; otherwise a few CPU cycles are wasted pointlessly.
|
||||
|
||||
The state in the tsx_async_abort sysfs file reflects this situation
|
||||
accordingly.
|
||||
|
||||
|
||||
Mitigation mechanism
|
||||
--------------------
|
||||
|
||||
|
||||
@@ -14,10 +14,9 @@ into that core.
|
||||
|
||||
To make the most effective use of these mechanisms, you
|
||||
should download the support software as well. Download the
|
||||
latest version of the "rng-tools" package from the
|
||||
hw_random driver's official Web site:
|
||||
latest version of the "rng-tools" package from:
|
||||
|
||||
http://sourceforge.net/projects/gkernel/
|
||||
https://github.com/nhorman/rng-tools
|
||||
|
||||
Those tools use /dev/hwrng to fill the kernel entropy pool,
|
||||
which is used internally and exported by the /dev/urandom and
|
||||
|
||||
@@ -119,6 +119,7 @@ configure specific aspects of kernel behavior to your liking.
|
||||
parport
|
||||
perf-security
|
||||
pm/index
|
||||
pmf
|
||||
pnp
|
||||
rapidio
|
||||
ras
|
||||
|
||||
@@ -17,7 +17,7 @@ You can use common commands, such as cp, scp or makedumpfile to copy
|
||||
the memory image to a dump file on the local disk, or across the network
|
||||
to a remote system.
|
||||
|
||||
Kdump and kexec are currently supported on the x86, x86_64, ppc64, ia64,
|
||||
Kdump and kexec are currently supported on the x86, x86_64, ppc64,
|
||||
s390x, arm and arm64 architectures.
|
||||
|
||||
When the system kernel boots, it reserves a small section of memory for
|
||||
@@ -113,7 +113,7 @@ There are two possible methods of using Kdump.
|
||||
2) Or use the system kernel binary itself as dump-capture kernel and there is
|
||||
no need to build a separate dump-capture kernel. This is possible
|
||||
only with the architectures which support a relocatable kernel. As
|
||||
of today, i386, x86_64, ppc64, ia64, arm and arm64 architectures support
|
||||
of today, i386, x86_64, ppc64, arm and arm64 architectures support
|
||||
relocatable kernel.
|
||||
|
||||
Building a relocatable kernel is advantageous from the point of view that
|
||||
@@ -236,24 +236,6 @@ Dump-capture kernel config options (Arch Dependent, ppc64)
|
||||
|
||||
Make and install the kernel and its modules.
|
||||
|
||||
Dump-capture kernel config options (Arch Dependent, ia64)
|
||||
----------------------------------------------------------
|
||||
|
||||
- No specific options are required to create a dump-capture kernel
|
||||
for ia64, other than those specified in the arch independent section
|
||||
above. This means that it is possible to use the system kernel
|
||||
as a dump-capture kernel if desired.
|
||||
|
||||
The crashkernel region can be automatically placed by the system
|
||||
kernel at runtime. This is done by specifying the base address as 0,
|
||||
or omitting it all together::
|
||||
|
||||
crashkernel=256M@0
|
||||
|
||||
or::
|
||||
|
||||
crashkernel=256M
|
||||
|
||||
Dump-capture kernel config options (Arch Dependent, arm)
|
||||
----------------------------------------------------------
|
||||
|
||||
@@ -348,11 +330,6 @@ Boot into System Kernel
|
||||
|
||||
On ppc64, use "crashkernel=128M@32M".
|
||||
|
||||
On ia64, 256M@256M is a generous value that typically works.
|
||||
The region may be automatically placed on ia64, see the
|
||||
dump-capture kernel config option notes above.
|
||||
If use sparse memory, the size should be rounded to GRANULE boundaries.
|
||||
|
||||
On s390x, typically use "crashkernel=xxM". The value of xx is dependent
|
||||
on the memory consumption of the kdump system. In general this is not
|
||||
dependent on the memory size of the production system.
|
||||
@@ -383,10 +360,6 @@ For ppc64:
|
||||
|
||||
- Use vmlinux
|
||||
|
||||
For ia64:
|
||||
|
||||
- Use vmlinux or vmlinuz.gz
|
||||
|
||||
For s390x:
|
||||
|
||||
- Use image or bzImage
|
||||
@@ -428,14 +401,10 @@ to load dump-capture kernel::
|
||||
--initrd=<initrd-for-dump-capture-kernel> \
|
||||
--append="root=<root-dev> <arch-specific-options>"
|
||||
|
||||
Please note, that --args-linux does not need to be specified for ia64.
|
||||
It is planned to make this a no-op on that architecture, but for now
|
||||
it should be omitted
|
||||
|
||||
Following are the arch specific command line options to be used while
|
||||
loading dump-capture kernel.
|
||||
|
||||
For i386, x86_64 and ia64:
|
||||
For i386 and x86_64:
|
||||
|
||||
"1 irqpoll nr_cpus=1 reset_devices"
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ variables.
|
||||
Offset of the free_list's member. This value is used to compute the number
|
||||
of free pages.
|
||||
|
||||
Each zone has a free_area structure array called free_area[MAX_ORDER + 1].
|
||||
Each zone has a free_area structure array called free_area[NR_PAGE_ORDERS].
|
||||
The free_list represents a linked list of free page blocks.
|
||||
|
||||
(list_head, next|prev)
|
||||
@@ -189,11 +189,11 @@ Offsets of the vmap_area's members. They carry vmalloc-specific
|
||||
information. Makedumpfile gets the start address of the vmalloc region
|
||||
from this.
|
||||
|
||||
(zone.free_area, MAX_ORDER + 1)
|
||||
-------------------------------
|
||||
(zone.free_area, NR_PAGE_ORDERS)
|
||||
--------------------------------
|
||||
|
||||
Free areas descriptor. User-space tools use this value to iterate the
|
||||
free_area ranges. MAX_ORDER is used by the zone buddy allocator.
|
||||
free_area ranges. NR_PAGE_ORDERS is used by the zone buddy allocator.
|
||||
|
||||
prb
|
||||
---
|
||||
@@ -413,36 +413,6 @@ of a higher page table lookup overhead, and also consumes more page
|
||||
table space per process. Used to check whether PAE was enabled in the
|
||||
crash kernel when converting virtual addresses to physical addresses.
|
||||
|
||||
ia64
|
||||
====
|
||||
|
||||
pgdat_list|(pgdat_list, MAX_NUMNODES)
|
||||
-------------------------------------
|
||||
|
||||
pg_data_t array storing all NUMA nodes information. MAX_NUMNODES
|
||||
indicates the number of the nodes.
|
||||
|
||||
node_memblk|(node_memblk, NR_NODE_MEMBLKS)
|
||||
------------------------------------------
|
||||
|
||||
List of node memory chunks. Filled when parsing the SRAT table to obtain
|
||||
information about memory nodes. NR_NODE_MEMBLKS indicates the number of
|
||||
node memory chunks.
|
||||
|
||||
These values are used to compute the number of nodes the crashed kernel used.
|
||||
|
||||
node_memblk_s|(node_memblk_s, start_paddr)|(node_memblk_s, size)
|
||||
----------------------------------------------------------------
|
||||
|
||||
The size of a struct node_memblk_s and the offsets of the
|
||||
node_memblk_s's members. Used to compute the number of nodes.
|
||||
|
||||
PGTABLE_3|PGTABLE_4
|
||||
-------------------
|
||||
|
||||
User-space tools need to know whether the crash kernel was in 3-level or
|
||||
4-level paging mode. Used to distinguish the page table.
|
||||
|
||||
ARM64
|
||||
=====
|
||||
|
||||
|
||||
@@ -218,8 +218,3 @@ bytes respectively. Such letter suffixes can also be entirely omitted:
|
||||
|
||||
.. include:: kernel-parameters.txt
|
||||
:literal:
|
||||
|
||||
Todo
|
||||
----
|
||||
|
||||
Add more DRM drivers.
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
accept_memory= [MM]
|
||||
Format: { eager | lazy }
|
||||
default: lazy
|
||||
By default, unaccepted memory is accepted lazily to
|
||||
avoid prolonged boot times. The lazy option will add
|
||||
some runtime overhead until all memory is eventually
|
||||
accepted. In most cases the overhead is negligible.
|
||||
For some workloads or for debugging purposes
|
||||
accept_memory=eager can be used to accept all memory
|
||||
at once during boot.
|
||||
|
||||
acpi= [HW,ACPI,X86,ARM64,RISCV64]
|
||||
Advanced Configuration and Power Interface
|
||||
Format: { force | on | off | strict | noirq | rsdt |
|
||||
@@ -580,6 +591,10 @@
|
||||
named mounts. Specifying both "all" and "named" disables
|
||||
all v1 hierarchies.
|
||||
|
||||
cgroup_favordynmods= [KNL] Enable or Disable favordynmods.
|
||||
Format: { "true" | "false" }
|
||||
Defaults to the value of CONFIG_CGROUP_FAVOR_DYNMODS.
|
||||
|
||||
cgroup.memory= [KNL] Pass options to the cgroup memory controller.
|
||||
Format: <string>
|
||||
nosocket -- Disable socket memory accounting.
|
||||
@@ -873,9 +888,9 @@
|
||||
memory region [offset, offset + size] for that kernel
|
||||
image. If '@offset' is omitted, then a suitable offset
|
||||
is selected automatically.
|
||||
[KNL, X86-64, ARM64, RISCV] Select a region under 4G first, and
|
||||
fall back to reserve region above 4G when '@offset'
|
||||
hasn't been specified.
|
||||
[KNL, X86-64, ARM64, RISCV, LoongArch] Select a region
|
||||
under 4G first, and fall back to reserve region above
|
||||
4G when '@offset' hasn't been specified.
|
||||
See Documentation/admin-guide/kdump/kdump.rst for further details.
|
||||
|
||||
crashkernel=range1:size1[,range2:size2,...][@offset]
|
||||
@@ -886,25 +901,27 @@
|
||||
Documentation/admin-guide/kdump/kdump.rst for an example.
|
||||
|
||||
crashkernel=size[KMG],high
|
||||
[KNL, X86-64, ARM64, RISCV] range could be above 4G.
|
||||
[KNL, X86-64, ARM64, RISCV, LoongArch] range could be
|
||||
above 4G.
|
||||
Allow kernel to allocate physical memory region from top,
|
||||
so could be above 4G if system have more than 4G ram
|
||||
installed. Otherwise memory region will be allocated
|
||||
below 4G, if available.
|
||||
It will be ignored if crashkernel=X is specified.
|
||||
crashkernel=size[KMG],low
|
||||
[KNL, X86-64, ARM64, RISCV] range under 4G. When crashkernel=X,high
|
||||
is passed, kernel could allocate physical memory region
|
||||
above 4G, that cause second kernel crash on system
|
||||
that require some amount of low memory, e.g. swiotlb
|
||||
requires at least 64M+32K low memory, also enough extra
|
||||
low memory is needed to make sure DMA buffers for 32-bit
|
||||
devices won't run out. Kernel would try to allocate
|
||||
[KNL, X86-64, ARM64, RISCV, LoongArch] range under 4G.
|
||||
When crashkernel=X,high is passed, kernel could allocate
|
||||
physical memory region above 4G, that cause second kernel
|
||||
crash on system that require some amount of low memory,
|
||||
e.g. swiotlb requires at least 64M+32K low memory, also
|
||||
enough extra low memory is needed to make sure DMA buffers
|
||||
for 32-bit devices won't run out. Kernel would try to allocate
|
||||
default size of memory below 4G automatically. The default
|
||||
size is platform dependent.
|
||||
--> x86: max(swiotlb_size_or_default() + 8MiB, 256MiB)
|
||||
--> arm64: 128MiB
|
||||
--> riscv: 128MiB
|
||||
--> loongarch: 128MiB
|
||||
This one lets the user specify own low range under 4G
|
||||
for second kernel instead.
|
||||
0: to disable low allocation.
|
||||
@@ -966,17 +983,17 @@
|
||||
buddy allocator. Bigger value increase the probability
|
||||
of catching random memory corruption, but reduce the
|
||||
amount of memory for normal system use. The maximum
|
||||
possible value is MAX_ORDER/2. Setting this parameter
|
||||
to 1 or 2 should be enough to identify most random
|
||||
memory corruption problems caused by bugs in kernel or
|
||||
driver code when a CPU writes to (or reads from) a
|
||||
random memory location. Note that there exists a class
|
||||
of memory corruptions problems caused by buggy H/W or
|
||||
F/W or by drivers badly programming DMA (basically when
|
||||
memory is written at bus level and the CPU MMU is
|
||||
bypassed) which are not detectable by
|
||||
CONFIG_DEBUG_PAGEALLOC, hence this option will not help
|
||||
tracking down these problems.
|
||||
possible value is MAX_PAGE_ORDER/2. Setting this
|
||||
parameter to 1 or 2 should be enough to identify most
|
||||
random memory corruption problems caused by bugs in
|
||||
kernel or driver code when a CPU writes to (or reads
|
||||
from) a random memory location. Note that there exists
|
||||
a class of memory corruptions problems caused by buggy
|
||||
H/W or F/W or by drivers badly programming DMA
|
||||
(basically when memory is written at bus level and the
|
||||
CPU MMU is bypassed) which are not detectable by
|
||||
CONFIG_DEBUG_PAGEALLOC, hence this option will not
|
||||
help tracking down these problems.
|
||||
|
||||
debug_pagealloc=
|
||||
[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
|
||||
@@ -1331,6 +1348,7 @@
|
||||
earlyprintk=dbgp[debugController#]
|
||||
earlyprintk=pciserial[,force],bus:device.function[,baudrate]
|
||||
earlyprintk=xdbc[xhciController#]
|
||||
earlyprintk=bios
|
||||
|
||||
earlyprintk is useful when the kernel crashes before
|
||||
the normal console is initialized. It is not enabled by
|
||||
@@ -1361,6 +1379,8 @@
|
||||
|
||||
The sclp output can only be used on s390.
|
||||
|
||||
The bios output can only be used on SuperH.
|
||||
|
||||
The optional "force" to "pciserial" enables use of a
|
||||
PCI device even when its classcode is not of the
|
||||
UART class.
|
||||
@@ -1449,7 +1469,7 @@
|
||||
See comment before function elanfreq_setup() in
|
||||
arch/x86/kernel/cpu/cpufreq/elanfreq.c.
|
||||
|
||||
elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
|
||||
elfcorehdr=[size[KMG]@]offset[KMG] [PPC,SH,X86,S390]
|
||||
Specifies physical address of start of kernel core
|
||||
image elf header and optionally the size. Generally
|
||||
kexec loader will pass this option to capture kernel.
|
||||
@@ -1512,12 +1532,6 @@
|
||||
floppy= [HW]
|
||||
See Documentation/admin-guide/blockdev/floppy.rst.
|
||||
|
||||
force_pal_cache_flush
|
||||
[IA-64] Avoid check_sal_cache_flush which may hang on
|
||||
buggy SAL_CACHE_FLUSH implementations. Using this
|
||||
parameter will force ia64_sal_cache_flush to call
|
||||
ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.
|
||||
|
||||
forcepae [X86-32]
|
||||
Forcefully enable Physical Address Extension (PAE).
|
||||
Many Pentium M systems disable PAE but may have a
|
||||
@@ -1893,6 +1907,12 @@
|
||||
0 -- machine default
|
||||
1 -- force brightness inversion
|
||||
|
||||
ia32_emulation= [X86-64]
|
||||
Format: <bool>
|
||||
When true, allows loading 32-bit programs and executing 32-bit
|
||||
syscalls, essentially overriding IA32_EMULATION_DEFAULT_DISABLED at
|
||||
boot time. When false, unconditionally disables IA32 emulation.
|
||||
|
||||
icn= [HW,ISDN]
|
||||
Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
|
||||
|
||||
@@ -2220,7 +2240,7 @@
|
||||
forcing Dual Address Cycle for PCI cards supporting
|
||||
greater than 32-bit addressing.
|
||||
|
||||
iommu.strict= [ARM64, X86] Configure TLB invalidation behaviour
|
||||
iommu.strict= [ARM64, X86, S390] Configure TLB invalidation behaviour
|
||||
Format: { "0" | "1" }
|
||||
0 - Lazy mode.
|
||||
Request that DMA unmap operations use deferred
|
||||
@@ -2431,7 +2451,7 @@
|
||||
between unregistering the boot console and initializing
|
||||
the real console.
|
||||
|
||||
keepinitrd [HW,ARM]
|
||||
keepinitrd [HW,ARM] See retain_initrd.
|
||||
|
||||
kernelcore= [KNL,X86,IA-64,PPC]
|
||||
Format: nn[KMGTPE] | nn% | "mirror"
|
||||
@@ -2913,6 +2933,38 @@
|
||||
to extract confidential information from the kernel
|
||||
are also disabled.
|
||||
|
||||
locktorture.acq_writer_lim= [KNL]
|
||||
Set the time limit in jiffies for a lock
|
||||
acquisition. Acquisitions exceeding this limit
|
||||
will result in a splat once they do complete.
|
||||
|
||||
locktorture.bind_readers= [KNL]
|
||||
Specify the list of CPUs to which the readers are
|
||||
to be bound.
|
||||
|
||||
locktorture.bind_writers= [KNL]
|
||||
Specify the list of CPUs to which the writers are
|
||||
to be bound.
|
||||
|
||||
locktorture.call_rcu_chains= [KNL]
|
||||
Specify the number of self-propagating call_rcu()
|
||||
chains to set up. These are used to ensure that
|
||||
there is a high probability of an RCU grace period
|
||||
in progress at any given time. Defaults to 0,
|
||||
which disables these call_rcu() chains.
|
||||
|
||||
locktorture.long_hold= [KNL]
|
||||
Specify the duration in milliseconds for the
|
||||
occasional long-duration lock hold time. Defaults
|
||||
to 100 milliseconds. Select 0 to disable.
|
||||
|
||||
locktorture.nested_locks= [KNL]
|
||||
Specify the maximum lock nesting depth that
|
||||
locktorture is to exercise, up to a limit of 8
|
||||
(MAX_NESTED_LOCKS). Specify zero to disable.
|
||||
Note that this parameter is ineffective on types
|
||||
of locks that do not support nested acquisition.
|
||||
|
||||
locktorture.nreaders_stress= [KNL]
|
||||
Set the number of locking read-acquisition kthreads.
|
||||
Defaults to being automatically set based on the
|
||||
@@ -2928,6 +2980,25 @@
|
||||
Set time (s) between CPU-hotplug operations, or
|
||||
zero to disable CPU-hotplug testing.
|
||||
|
||||
locktorture.rt_boost= [KNL]
|
||||
Do periodic testing of real-time lock priority
|
||||
boosting. Select 0 to disable, 1 to boost
|
||||
only rt_mutex, and 2 to boost unconditionally.
|
||||
Defaults to 2, which might seem to be an
|
||||
odd choice, but which should be harmless for
|
||||
non-real-time spinlocks, due to their disabling
|
||||
of preemption. Note that non-realtime mutexes
|
||||
disable boosting.
|
||||
|
||||
locktorture.rt_boost_factor= [KNL]
|
||||
Number that determines how often and for how
|
||||
long priority boosting is exercised. This is
|
||||
scaled down by the number of writers, so that the
|
||||
number of boosts per unit time remains roughly
|
||||
constant as the number of writers increases.
|
||||
On the other hand, the duration of each boost
|
||||
increases with the number of writers.
|
||||
|
||||
locktorture.shuffle_interval= [KNL]
|
||||
Set task-shuffle interval (jiffies). Shuffling
|
||||
tasks allows some CPUs to go into dyntick-idle
|
||||
@@ -2950,13 +3021,13 @@
|
||||
locktorture.torture_type= [KNL]
|
||||
Specify the locking implementation to test.
|
||||
|
||||
locktorture.verbose= [KNL]
|
||||
Enable additional printk() statements.
|
||||
|
||||
locktorture.writer_fifo= [KNL]
|
||||
Run the write-side locktorture kthreads at
|
||||
sched_set_fifo() real-time priority.
|
||||
|
||||
locktorture.verbose= [KNL]
|
||||
Enable additional printk() statements.
|
||||
|
||||
logibm.irq= [HW,MOUSE] Logitech Bus Mouse Driver
|
||||
Format: <irq>
|
||||
|
||||
@@ -3275,6 +3346,11 @@
|
||||
|
||||
mga= [HW,DRM]
|
||||
|
||||
microcode.force_minrev= [X86]
|
||||
Format: <bool>
|
||||
Enable or disable the microcode minimal revision
|
||||
enforcement for the runtime microcode loader.
|
||||
|
||||
min_addr=nn[KMG] [KNL,BOOT,IA-64] All physical memory below this
|
||||
physical address is ignored.
|
||||
|
||||
@@ -3533,6 +3609,13 @@
|
||||
[NFS] set the TCP port on which the NFSv4 callback
|
||||
channel should listen.
|
||||
|
||||
nfs.delay_retrans=
|
||||
[NFS] specifies the number of times the NFSv4 client
|
||||
retries the request before returning an EAGAIN error,
|
||||
after a reply of NFS4ERR_DELAY from the server.
|
||||
Only applies if the softerr mount option is enabled,
|
||||
and the specified value is >= 0.
|
||||
|
||||
nfs.enable_ino64=
|
||||
[NFS] enable 64-bit inode numbers.
|
||||
If zero, the NFS client will fake up a 32-bit inode
|
||||
@@ -3915,9 +3998,9 @@
|
||||
vulnerability. System may allow data leaks with this
|
||||
option.
|
||||
|
||||
no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES] Disable paravirtualized
|
||||
steal time accounting. steal time is computed, but
|
||||
won't influence scheduler behaviour
|
||||
no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES,RISCV] Disable
|
||||
paravirtualized steal time accounting. steal time is
|
||||
computed, but won't influence scheduler behaviour
|
||||
|
||||
nosync [HW,M68K] Disables sync negotiation for all devices.
|
||||
|
||||
@@ -4066,7 +4149,7 @@
|
||||
[KNL] Minimal page reporting order
|
||||
Format: <integer>
|
||||
Adjust the minimal page reporting order. The page
|
||||
reporting is disabled when it exceeds MAX_ORDER.
|
||||
reporting is disabled when it exceeds MAX_PAGE_ORDER.
|
||||
|
||||
panic= [KNL] Kernel behaviour on panic: delay <timeout>
|
||||
timeout > 0: seconds before rebooting
|
||||
@@ -4769,6 +4852,13 @@
|
||||
Set maximum number of finished RCU callbacks to
|
||||
process in one batch.
|
||||
|
||||
rcutree.do_rcu_barrier= [KNL]
|
||||
Request a call to rcu_barrier(). This is
|
||||
throttled so that userspace tests can safely
|
||||
hammer on the sysfs variable if they so choose.
|
||||
If triggered before the RCU grace-period machinery
|
||||
is fully active, this will error out with EAGAIN.
|
||||
|
||||
rcutree.dump_tree= [KNL]
|
||||
Dump the structure of the rcu_node combining tree
|
||||
out at early boot. This is used for diagnostic
|
||||
@@ -5225,6 +5315,12 @@
|
||||
Dump ftrace buffer after reporting RCU CPU
|
||||
stall warning.
|
||||
|
||||
rcupdate.rcu_cpu_stall_notifiers= [KNL]
|
||||
Provide RCU CPU stall notifiers, but see the
|
||||
warnings in the RCU_CPU_STALL_NOTIFIER Kconfig
|
||||
option's help text. TL;DR: You almost certainly
|
||||
do not want rcupdate.rcu_cpu_stall_notifiers.
|
||||
|
||||
rcupdate.rcu_cpu_stall_suppress= [KNL]
|
||||
Suppress RCU CPU stall warning messages.
|
||||
|
||||
@@ -5422,6 +5518,12 @@
|
||||
test until boot completes in order to avoid
|
||||
interference.
|
||||
|
||||
refscale.lookup_instances= [KNL]
|
||||
Number of data elements to use for the forms of
|
||||
SLAB_TYPESAFE_BY_RCU testing. A negative number
|
||||
is negated and multiplied by nr_cpu_ids, while
|
||||
zero specifies nr_cpu_ids.
|
||||
|
||||
refscale.loops= [KNL]
|
||||
Set the number of loops over the synchronization
|
||||
primitive under test. Increasing this number
|
||||
@@ -5461,6 +5563,13 @@
|
||||
print every Nth verbose statement, where N is the value
|
||||
specified.
|
||||
|
||||
regulator_ignore_unused
|
||||
[REGULATOR]
|
||||
Prevents regulator framework from disabling regulators
|
||||
that are unused, due no driver claiming them. This may
|
||||
be useful for debug and development, but should not be
|
||||
needed on a platform with proper driver support.
|
||||
|
||||
relax_domain_level=
|
||||
[KNL, SMP] Set scheduler's default relax_domain_level.
|
||||
See Documentation/admin-guide/cgroup-v1/cpusets.rst.
|
||||
@@ -5497,7 +5606,8 @@
|
||||
Useful for devices that are detected asynchronously
|
||||
(e.g. USB and MMC devices).
|
||||
|
||||
retain_initrd [RAM] Keep initrd memory after extraction
|
||||
retain_initrd [RAM] Keep initrd memory after extraction. After boot, it will
|
||||
be accessible via /sys/firmware/initrd.
|
||||
|
||||
retbleed= [X86] Control mitigation of RETBleed (Arbitrary
|
||||
Speculative Code Execution with Return Instructions)
|
||||
@@ -5611,9 +5721,10 @@
|
||||
s390_iommu= [HW,S390]
|
||||
Set s390 IOTLB flushing mode
|
||||
strict
|
||||
With strict flushing every unmap operation will result in
|
||||
an IOTLB flush. Default is lazy flushing before reuse,
|
||||
which is faster.
|
||||
With strict flushing every unmap operation will result
|
||||
in an IOTLB flush. Default is lazy flushing before
|
||||
reuse, which is faster. Deprecated, equivalent to
|
||||
iommu.strict=1.
|
||||
|
||||
s390_iommu_aperture= [KNL,S390]
|
||||
Specifies the size of the per device DMA address space
|
||||
@@ -5858,6 +5969,13 @@
|
||||
This feature may be more efficiently disabled
|
||||
using the csdlock_debug- kernel parameter.
|
||||
|
||||
smp.panic_on_ipistall= [KNL]
|
||||
If a csd_lock_timeout extends for more than
|
||||
the specified number of milliseconds, panic the
|
||||
system. By default, let CSD-lock acquisition
|
||||
take as long as they take. Specifying 300,000
|
||||
for this value provides a 5-minute timeout.
|
||||
|
||||
smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices
|
||||
smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port
|
||||
smsc-ircc2.ircc_sir= [HW] SIR base I/O port
|
||||
@@ -6817,6 +6935,9 @@
|
||||
pause after every control message);
|
||||
o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
|
||||
delay after resetting its port);
|
||||
p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT
|
||||
(Reduce timeout of the SET_ADDRESS
|
||||
request from 5000 ms to 500 ms);
|
||||
Example: quirks=0781:5580:bk,0a5c:5834:gij
|
||||
|
||||
usbhid.mousepoll=
|
||||
|
||||
@@ -243,13 +243,9 @@ To reduce its OS jitter, do any of the following:
|
||||
3. Do any of the following needed to avoid jitter that your
|
||||
application cannot tolerate:
|
||||
|
||||
a. Build your kernel with CONFIG_SLUB=y rather than
|
||||
CONFIG_SLAB=y, thus avoiding the slab allocator's periodic
|
||||
use of each CPU's workqueues to run its cache_reap()
|
||||
function.
|
||||
b. Avoid using oprofile, thus avoiding OS jitter from
|
||||
a. Avoid using oprofile, thus avoiding OS jitter from
|
||||
wq_sync_buffer().
|
||||
c. Limit your CPU frequency so that a CPU-frequency
|
||||
b. Limit your CPU frequency so that a CPU-frequency
|
||||
governor is not required, possibly enlisting the aid of
|
||||
special heatsinks or other cooling technologies. If done
|
||||
correctly, and if you CPU architecture permits, you should
|
||||
@@ -259,7 +255,7 @@ To reduce its OS jitter, do any of the following:
|
||||
|
||||
WARNING: Please check your CPU specifications to
|
||||
make sure that this is safe on your particular system.
|
||||
d. As of v3.18, Christoph Lameter's on-demand vmstat workers
|
||||
c. As of v3.18, Christoph Lameter's on-demand vmstat workers
|
||||
commit prevents OS jitter due to vmstat_update() on
|
||||
CONFIG_SMP=y systems. Before v3.18, is not possible
|
||||
to entirely get rid of the OS jitter, but you can
|
||||
@@ -274,7 +270,7 @@ To reduce its OS jitter, do any of the following:
|
||||
(based on an earlier one from Gilad Ben-Yossef) that
|
||||
reduces or even eliminates vmstat overhead for some
|
||||
workloads at https://lore.kernel.org/r/00000140e9dfd6bd-40db3d4f-c1be-434f-8132-7820f81bb586-000000@email.amazonses.com.
|
||||
e. If running on high-end powerpc servers, build with
|
||||
d. If running on high-end powerpc servers, build with
|
||||
CONFIG_PPC_RTAS_DAEMON=n. This prevents the RTAS
|
||||
daemon from running on each CPU every second or so.
|
||||
(This will require editing Kconfig files and will defeat
|
||||
@@ -282,12 +278,12 @@ To reduce its OS jitter, do any of the following:
|
||||
due to the rtas_event_scan() function.
|
||||
WARNING: Please check your CPU specifications to
|
||||
make sure that this is safe on your particular system.
|
||||
f. If running on Cell Processor, build your kernel with
|
||||
e. If running on Cell Processor, build your kernel with
|
||||
CBE_CPUFREQ_SPU_GOVERNOR=n to avoid OS jitter from
|
||||
spu_gov_work().
|
||||
WARNING: Please check your CPU specifications to
|
||||
make sure that this is safe on your particular system.
|
||||
g. If running on PowerMAC, build your kernel with
|
||||
f. If running on PowerMAC, build your kernel with
|
||||
CONFIG_PMAC_RACKMETER=n to disable the CPU-meter,
|
||||
avoiding OS jitter from rackmeter_do_timer().
|
||||
|
||||
|
||||