| /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/fs/xfs/ |
| H A D | xfs_inode.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. 105 return ip->i_prev_unlinked != 0; in xfs_inode_on_unlinked_list() 110 return ip->i_forkoff > 0; in xfs_inode_has_attr_fork() 120 return &ip->i_df; in xfs_ifork_ptr() 124 return &ip->i_af; in xfs_ifork_ptr() 126 return ip->i_cowfp; in xfs_ifork_ptr() 135 return ip->i_forkoff << 3; in xfs_inode_fork_boff() 143 return XFS_LITINO(ip->i_mount); in xfs_inode_data_fork_size() 149 return XFS_LITINO(ip->i_mount) - xfs_inode_fork_boff(ip); in xfs_inode_attr_fork_size() [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/net/bluetooth/ |
| H A D | l2cap_sock.c | 1 // SPDX-License-Identifier: GPL-2.0 3 BlueZ - Bluetooth protocol stack for Linux 4 Copyright (C) 2000-2001 Qualcomm Incorporated 5 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> 52 return sock && sock->ops == &l2cap_sock_ops; in l2cap_is_socket() 60 return -EINVAL; in l2cap_validate_bredr_psm() 62 /* Restrict usage of well-known PSMs */ in l2cap_validate_bredr_psm() 64 return -EACCES; in l2cap_validate_bredr_psm() 73 return -EINVAL; in l2cap_validate_le_psm() 77 return -EACCES; in l2cap_validate_le_psm() [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/lib/ |
| H A D | Kconfig.debug | 1 # SPDX-License-Identifier: GPL-2.0-only 19 parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst 62 int "Default console loglevel (1-15)" 72 Note: This does not affect the log level of un-prefixed printk() 77 int "quiet console loglevel (1-15)" 88 int "Default message log level (1-7)" 94 This was hard-coded to KERN_WARNING since at least 2.6.10 but folks 121 bool "Enable dynamic printk() support" 130 enabled/disabled based on various levels of scope - per source file, 170 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' > [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 * - Some subsystems also have their own explicit fencing primitives, like 61 * - Then there's also implicit fencing, where the synchronization points are 68 * DOC: fence cross-driver contract 76 * further command submission and force complete all in-flight fences, e.g. [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 …]
|