| /linux/tools/testing/selftests/drivers/net/ |
| H A D | shaper.py | 2 # SPDX-License-Identifier: GPL-2.0 3 # pylint: disable=too-many-lines 15 def _delete_shaper(cfg, nl_shaper, handle) -> None: 16 """ Delete the shaper identified by handle, ignoring a missing-shaper error. """ 26 qcnt = len(glob.glob(f"/sys/class/net/{cfg.ifname}/queues/tx-*")) 41 def _require_caps(cfg, nl_shaper, scope, caps, msg) -> None: 53 def get_shapers(cfg, nl_shaper) -> None: 64 def get_caps(cfg, nl_shaper) -> None: 72 # Each device implementing shaper support must support some 76 def set_qshapers(cfg, nl_shaper) -> None: [all …]
|
| /linux/Documentation/userspace-api/ |
| H A D | iommufd.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 19 At minimum iommufd provides universal support of managing I/O address spaces and 20 I/O page tables for all IOMMUs, with room in the design to add non-generic 31 -------------------- 35 - IOMMUFD_OBJ_IOAS, representing an I/O address space (IOAS), allowing map/unmap 41 - IOMMUFD_OBJ_DEVICE, representing a device that is bound to iommufd by an 44 - IOMMUFD_OBJ_HWPT_PAGING, representing an actual hardware I/O page table 48 feature flag. This can be either an UNMANAGED stage-1 domain for a device 49 running in the user space, or a nesting parent stage-2 domain for mappings 50 from guest-level physical addresses to host-level physical addresses. [all …]
|
| /linux/Documentation/netlink/specs/ |
| H A D | net_shaper.yaml | 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2 --- 3 name: net-shaper 31 support for complex scheduling hierarchy, or for some shaping 33 @cap-get operation. 36 - 38 name: max-handle-id 41 - 45 render-max: true 47 - name: unspec [all …]
|
| /linux/include/linux/ |
| H A D | kcsan.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * data structures to set up runtime. See kcsan-checks.h for explicit checks and 5 * modifiers. For more info please see Documentation/dev-tools/kcsan.rst. 13 #include <linux/kcsan-checks.h> 20 * task_struct, and interrupts access internal per-CPU storage. 30 * track of nesting. Both (a) and (b) are entirely independent of each 32 * vice-versa. 41 * To support these cases, we independently track the depth of nesting 48 * Access mask for all accesses if non-zero. 58 * barriers; only keep 1 to keep fast-path complexity manageable. [all …]
|
| H A D | highmem.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 #include "highmem-internal.h" 17 * kmap - Map a page for long term usage 40 * kunmap - Unmap the virtual address mapped by kmap() 49 * kmap_to_page - Get the page for a kmap'ed address 57 * kmap_flush_unused - Flush all unused kmap mappings in order to 63 * kmap_local_page - Map a page for temporary usage 70 * Requires careful handling when nesting multiple mappings because the map 99 * kmap_local_folio - Map a page in this folio for temporary usage 103 * Requires careful handling when nesting multiple mappings because the map [all …]
|
| /linux/Documentation/virt/kvm/x86/ |
| H A D | running-nested-guests.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 can be KVM-based or a different hypervisor). The straightforward 12 .----------------. .----------------. 17 |----------------'--'----------------| 22 .------------------------------------------------------. 25 |------------------------------------------------------| 27 '------------------------------------------------------' 31 - L0 – level-0; the bare metal host, running KVM 33 - L1 – level-1 guest; a VM running on L0; also called the "guest 36 - L2 – level-2 guest; a VM running on L1, this is the "nested guest" [all …]
|
| /linux/Documentation/bpf/ |
| H A D | map_of_maps.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 9 - ``BPF_MAP_TYPE_ARRAY_OF_MAPS`` and ``BPF_MAP_TYPE_HASH_OF_MAPS`` were 13 purpose support for map in map storage. One level of nesting is supported, where 15 ``array_of_maps->sock_map``. 27 - Multi-level nesting is not supported. 28 - Any BPF map type can be used as an inner map, except for 30 - A BPF program cannot update or delete outer map entries. 32 For ``BPF_MAP_TYPE_ARRAY_OF_MAPS`` the key is an unsigned 32-bit integer index 38 the max_entries limit that you specify. Hash maps use pre-allocation of hash 40 pre-allocation when it is too memory expensive. [all …]
|
| /linux/Documentation/networking/ |
| H A D | openvswitch.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 flow-level packet processing on selected network devices. It can be 10 VLAN processing, network access control, flow-based network control, 26 packets of the same type entirely in-kernel). 30 ---------------------- 36 might even be desirable, someday, to drop support for parsing 41 To support this forward and backward compatibility, whenever the 45 kernel-provided version: 47 - If userspace's notion of the flow key for the packet matches the 50 - If the kernel's flow key includes more fields than the userspace [all …]
|
| /linux/Documentation/userspace-api/netlink/ |
| H A D | genetlink-legacy.rst | 1 .. SPDX-License-Identifier: BSD-3-Clause 4 Netlink specification support for legacy Generic Netlink families 9 the ``genetlink-legacy`` protocol level. 15 ------- 29 -------------------- 31 New Netlink families should use ``multi-attr`` to define arrays. 35 For reference the ``multi-attr`` array may look like this:: 37 [ARRAY-ATTR] 41 [SOME-OTHER-ATTR] 42 [ARRAY-ATTR] [all …]
|
| /linux/drivers/acpi/acpica/ |
| H A D | utownerid.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: utownerid - Support for Table/Method Owner IDs 19 * PARAMETERS: owner_id - Where the new owner ID is returned 114 * If this error happens, there may be very deep nesting of invoked in acpi_ut_allocate_owner_id() 130 * PARAMETERS: owner_id_ptr - Pointer to a previously allocated owner_ID 136 * DESCRIPTION: Release a table or method owner ID. Valid IDs are 1 - 255 169 owner_id--; in acpi_ut_release_owner_id() 182 "Attempted release of non-allocated OwnerId: 0x%3.3X", in acpi_ut_release_owner_id()
|
| /linux/Documentation/RCU/Design/Data-Structures/ |
| H A D | Data-Structures.rst | 15 Data-Structure Relationships 25 .. kernel-figure:: BigTreeClassicRCU.svg 34 which results in a three-level ``rcu_node`` tree. 38 The purpose of this combining tree is to allow per-CPU events 39 such as quiescent states, dyntick-idle transitions, 42 Quiescent states are recorded by the per-CPU ``rcu_data`` structures, 43 and other events are recorded by the leaf-level ``rcu_node`` 54 As can be seen from the diagram, on a 64-bit system 55 a two-level tree with 64 leaves can accommodate 1,024 CPUs, with a fanout 58 +-----------------------------------------------------------------------+ [all …]
|
| /linux/scripts/ |
| H A D | unifdef.c | 2 * Copyright (c) 2002 - 2011 Tony Finch <dot@dotat.at> 27 * unifdef - remove ifdef'ed lines 30 * It was rewritten to support ANSI C by Tony Finch. The original version 31 * of unifdef carried the 4-clause BSD copyright licence. None of its code 60 "@(#) $Version: unifdef-2.5 $\n" 99 IS_TRUE_PREFIX, /* first non-false #(el)if is true */ 100 IS_PASS_MIDDLE, /* first non-false #(el)if is unknown */ 122 STARTING_COMMENT, /* just after slash-backslash-newline */ 123 FINISHING_COMMENT, /* star-backslash-newline in a C comment */ 146 #define MAXDEPTH 64 /* maximum #if nesting */ [all …]
|
| /linux/kernel/bpf/ |
| H A D | rqspinlock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P. 6 * (C) Copyright 2013-2014,2018 Red Hat, Inc. 8 * (C) Copyright 2015 Hewlett-Packard Enterprise Development LP 9 * (C) Copyright 2024-2025 Meta Platforms, Inc. and affiliates. 44 * The basic principle of a queue-based spinlock can best be understood 45 * by studying a classic queue-based spinlock implementation called the 47 * Synchronization on Shared-Memory Multiprocessors by Mellor-Crummey and 58 * unlock the next pending (next->locked), we compress both these: {tail, 59 * next->locked} into a single u32 value. [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | nospec-branch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 #include <asm/msr-index.h> 16 #include <asm/ptrace-abi.h> 79 #include <asm/asm-offsets.h> 82 movq $-1, PER_CPU_VAR(__x86_call_depth); 112 * This is required in various cases for retpoline and IBRS-based 120 * from C via asm(".include <asm/nospec-branch.h>") but let's not go there. 138 * Google experimented with loop-unrolling and this turned out to be 139 * the optimal version - two calls, each with their own speculation 170 * To mitigate Post-Barrier RSB speculation, one CALL instruction must be [all …]
|
| /linux/arch/arm64/kernel/probes/ |
| H A D | kprobes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Kprobes support for ARM64 28 #include <asm/debug-monitors.h> 31 #include <asm/text-patching.h> 37 #include "decode-insn.h" 61 kprobe_opcode_t *addr = p->ainsn.xol_insn; in arch_prepare_ss_slot() 67 * - That the I-cache maintenance for these instructions is complete in arch_prepare_ss_slot() 69 * ensures this, but just omits causing a Context-Synchronization-Event in arch_prepare_ss_slot() 72 * - That the kprobe BRK results in an exception (and consequently a in arch_prepare_ss_slot() 73 * Context-Synchronoization-Event), which ensures that the CPU will in arch_prepare_ss_slot() [all …]
|
| /linux/include/linux/mmc/ |
| H A D | host.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 #include <linux/fault-inject.h> 18 #include <linux/dma-direction.h> 19 #include <linux/blk-crypto-profile.h> 164 * order to support double buffering of requests (prepare one 187 * ios->clock might be 0. For some controllers, setting 0Hz 197 * 1 for a read-only card 198 * -ENOSYS when not supported (equal to NULL callback) 207 * -ENOSYS when not supported (equal to NULL callback) 233 /* Optional callback to prepare for SD high-speed tuning */ [all …]
|
| /linux/kernel/events/ |
| H A D | ring_buffer.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Performance events ring-buffer code: 6 * Copyright (C) 2008-2011 Red Hat, Inc., Ingo Molnar 7 * Copyright (C) 2008-2011 Red Hat, Inc., Peter Zijlstra 22 atomic_set(&handle->rb->poll, EPOLLIN | EPOLLRDNORM); in perf_output_wakeup() 24 handle->event->pending_wakeup = 1; in perf_output_wakeup() 26 if (*perf_event_fasync(handle->event) && !handle->event->pending_kill) in perf_output_wakeup() 27 handle->event->pending_kill = POLL_IN; in perf_output_wakeup() 29 irq_work_queue(&handle->event->pending_irq); in perf_output_wakeup() 37 * We only publish the head (and generate a wakeup) when the outer-most [all …]
|
| /linux/kernel/rcu/ |
| H A D | tree_stall.h | 1 // SPDX-License-Identifier: GPL-2.0+ 110 /* Limit-check stall timeouts specified at boottime and runtime. */ 161 /* If so specified via sysctl, panic, yielding cleaner stall-warning output. */ 181 * rcu_cpu_stall_reset - restart stall-warning timeout for current grace period 208 smp_mb(); // ->gp_start before ->jiffies_stall and caller's ->gp_seq. in record_gp_stall_check_time() 215 /* Zero ->ticks_this_gp and snapshot the number of RCU softirq handlers. */ 218 rdp->ticks_this_gp = 0; in zero_cpu_stall_ticks() 219 rdp->softirq_snap = kstat_softirqs_cpu(RCU_SOFTIRQ, smp_processor_id()); in zero_cpu_stall_ticks() 220 WRITE_ONCE(rdp->last_fqs_resched, jiffies); in zero_cpu_stall_ticks() 236 WARN_ONCE(1, "Kicking %s grace-period kthread\n", in rcu_stall_kick_kthreads() [all …]
|
| /linux/drivers/iommu/arm/arm-smmu-v3/ |
| H A D | arm-smmu-v3-iommufd.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include "arm-smmu-v3.h" 14 const struct arm_smmu_impl_ops *impl_ops = master->smmu->impl_ops; in arm_smmu_hw_info() 21 if (!impl_ops || !impl_ops->hw_info) in arm_smmu_hw_info() 22 return ERR_PTR(-EOPNOTSUPP); in arm_smmu_hw_info() 23 return impl_ops->hw_info(master->smmu, length, type); in arm_smmu_hw_info() 28 return ERR_PTR(-ENOMEM); in arm_smmu_hw_info() 30 base_idr = master->smmu->base + ARM_SMMU_IDR0; in arm_smmu_hw_info() 32 info->idr[i] = readl_relaxed(base_idr + i); in arm_smmu_hw_info() 33 info->iidr = readl_relaxed(master->smmu->base + ARM_SMMU_IIDR); in arm_smmu_hw_info() [all …]
|
| /linux/net/rds/ |
| H A D | rds.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 56 /* Used to limit both RDMA and non-RDMA RDS message to 1MB */ 96 #define RDS_MPATH_HASH(rs, n) (jhash_1word(ntohs((rs)->rs_bound_port), \ 97 (rs)->rs_hash_initval) & ((n) - 1)) 180 return read_pnet(&conn->c_net); in rds_conn_net() 186 write_pnet(&conn->c_net, net); in rds_conn_net_set() 226 * Reserved - indicates end of extensions 352 * conn->c_lock. m_sock_item has additional meaning in that once it is empty 366 * nesting. As paths iterate over messages on a sock, or conn, they must 408 spin_lock_init(&q->lock); in rds_message_zcopy_queue_init() [all …]
|
| /linux/drivers/mtd/chips/ |
| H A D | cfi_probe.c | 1 // SPDX-License-Identifier: GPL-2.0 83 for (f = fixups; f->fixup; f++) { in cfi_early_fixup() 84 if (((f->mfr == CFI_MFR_ANY) || (f->mfr == cfi->mfr)) && in cfi_early_fixup() 85 ((f->id == CFI_ID_ANY) || (f->id == cfi->id))) { in cfi_early_fixup() 86 f->fixup(cfi); in cfi_early_fixup() 101 if ((base + 0) >= map->size) { in cfi_probe_chip() 104 (unsigned long)base, map->size -1); in cfi_probe_chip() 107 if ((base + 0xff) >= map->size) { in cfi_probe_chip() 110 (unsigned long)base + 0x55, map->size -1); in cfi_probe_chip() 120 if (!cfi->numchips) { in cfi_probe_chip() [all …]
|
| /linux/drivers/dma-buf/ |
| H A D | dma-fence.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Fence mechanism for dma-buf and to allow for asynchronous dma access 16 #include <linux/dma-fence.h> 49 * Since the purposes of fences is to facilitate cross-device and 50 * cross-application synchronization, there's multiple ways to use one: 52 * - Individual fences can be exposed as a &sync_file, accessed as a file 57 * - Som [all...] |
| /linux/Documentation/locking/ |
| H A D | rt-mutex-design.rst | 2 RT-mutex implementation design 12 Documentation/locking/rt-mutex.rst. Although this document does explain problems 22 ---------------------------- 49 A ---+ 52 C +----+ 54 B +--------> 59 ------------------------- 74 ----------- 80 - The PI chain is an ordered series of locks and processes that cause 86 - In this document, to differentiate from locks that implement [all …]
|
| /linux/drivers/base/ |
| H A D | arch_topology.c | 1 // SPDX-License-Identifier: GPL-2.0 59 * Task scheduler behavior depends on frequency invariance support, in update_scale_freq_invariant() 60 * either cpufreq or counter driven. If the support status changes as in update_scale_freq_invariant() 89 if (!sfd || sfd->source != SCALE_FREQ_SOURCE_ARCH) { in topology_set_scale_freq_source() 112 if (sfd && sfd->source == source) { in topology_clear_scale_freq_source() 122 * use-after-free races. in topology_clear_scale_freq_source() 135 sfd->set_freq_scale(); in topology_scale_freq_tick() 167 * topology_update_hw_pressure() - Update HW pressure for CPUs 173 * operating on stale data when hot-plug is used for some CPUs. The 200 pressure = max_capacity - capacity; in topology_update_hw_pressure() [all …]
|
| /linux/kernel/trace/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 21 API, which will be used by other function-entry hooking 27 See Documentation/trace/ftrace-design.rst 32 See Documentation/trace/ftrace-design.rst 45 See Documentation/trace/ftrace-design.rst 95 See Documentation/trace/ftrace-design.rst 100 Arch supports the gcc options -pg with -mfentry 105 Arch supports the gcc options -pg with -mrecord-mcount and -nop-mcount 110 Arch supports objtool --mcount 115 Arch supports the objtool options --mcount with --mnop. [all …]
|