Home
last modified time | relevance | path

Searched +full:support +full:- +full:nesting (Results 1 – 25 of 66) sorted by relevance

123

/linux/include/linux/
H A Dkcsan.h1 /* 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 Dhighmem-internal.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 * Outside of CONFIG_HIGHMEM to support X86 32bit iomap_atomic() cruft.
17 DEBUG_LOCKS_WARN_ON(current->kmap_ctrl.idx); in kmap_assert_nomap()
185 return page_address(&folio->page) + offset; in kmap_local_folio()
248 * kunmap_atomic - Unmap the virtual address mapped by kmap_atomic() - deprecated!
251 * Unmaps an address previously mapped by kmap_atomic() and re-enables
252 * pagefaults. Depending on PREEMP_RT configuration, re-enables also
256 * See kmap_local_page() for details on nesting.
270 * kunmap_local - Unmap a page mapped via kmap_local_page().
H A Dkcsan-checks.h1 /* SPDX-License-Identifier: GPL-2.0 */
16 /* Access types -- if KCSAN_ACCESS_WRITE is not set, the access is a read. */
18 #define KCSAN_ACCESS_COMPOUND (1 << 1) /* Compounded read-write instrumentation. */
31 * __kcsan_check_access - check generic access for races
42 * memory orders to the LKMM memory orders and vice-versa!
50 * __kcsan_mb - full memory barrier instrumentation
55 * __kcsan_wmb - write memory barrier instrumentation
60 * __kcsan_rmb - read memory barrier instrumentation
65 * __kcsan_release - release barrier instrumentation
70 * kcsan_disable_current - disable KCSAN for the current context
[all …]
H A Dhighmem.h1 /* 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/kernel/
H A Dcontext_tracking.c1 // SPDX-License-Identifier: GPL-2.0-only
13 * Many thanks to Gilad Ben-Yossef, Paul McKenney, Ingo Molnar, Andrew Morton,
31 .nesting = 1,
41 /* Record the current task on exiting RCU-tasks (dyntick-idle entry). */
45 WRITE_ONCE(current->rcu_tasks_idle_cpu, smp_processor_id()); in rcu_task_exit()
49 /* Record no current task on entering RCU-tasks (dyntick-idle exit). */
53 WRITE_ONCE(current->rcu_tasks_idle_cpu, -1); in rcu_task_enter()
62 current->trc_reader_special.b.need_mb = true; in rcu_task_trace_heavyweight_enter()
71 current->trc_reader_special.b.need_mb = false; in rcu_task_trace_heavyweight_exit()
86 * CPUs seeing atomic_add_return() must see prior RCU read-side in ct_kernel_exit_state()
[all …]
/linux/include/uapi/linux/
H A Diommufd.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES.
23 * - ENOTTY: The IOCTL number itself is not supported at all
24 * - E2BIG: The IOCTL number is supported, but the provided structure has
25 * non-zero in a part the kernel does not understand.
26 * - EOPNOTSUP
[all...]
/linux/Documentation/virt/kvm/x86/
H A Drunning-nested-guests.rst1 .. 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 Dmap_of_maps.rst1 .. 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/userspace-api/netlink/
H A Dnetlink-raw.rst1 .. SPDX-License-Identifier: BSD-3-Clause
4 Netlink specification support for raw Netlink families
8 families such as ``NETLINK_ROUTE`` which use the ``netlink-raw`` protocol
14 The netlink-raw schema extends the :doc:`genetlink-legacy <genetlink-legacy>`
17 information. The raw netlink families also make use of type-specific
18 sub-messages.
21 -------
29 .. code-block:: yaml
31 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
33 name: rt-addr
[all …]
H A Dgenetlink-legacy.rst1 .. 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/Documentation/networking/
H A Dopenvswitch.rst1 .. 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/locking/
H A Dlocktypes.rst1 .. SPDX-License-Identifier: GPL-2.0
15 - Sleeping locks
16 - CPU local locks
17 - Spinning locks
20 for their nesting, including the rules for use under PREEMPT_RT.
27 --------------
39 - mutex
40 - rt_mutex
41 - semaphore
42 - rw_semaphore
[all …]
/linux/kernel/locking/
H A Dqspinlock.c1 // 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
33 * The basic principle of a queue-based spinlock can best be understood
34 * by studying a classic queue-based spinlock implementation called the
36 * Synchronization on Shared-Memory Multiprocessors by Mellor-Crummey and
47 * unlock the next pending (next->locked), we compress both these: {tail,
48 * next->locked} into a single u32 value.
52 * are at most 4 nesting levels, it can be encoded by a 2-bit number. Now
[all …]
/linux/Documentation/networking/devlink/
H A Ddevlink-health.rst1 .. SPDX-License-Identifier: GPL-2.0
15 * If problem needs vendor support, provide a way to gather all needed
49 auto-dump is set and there is no other dump which is already stored)
52 - Auto-recovery configuration
53 - Grace period vs. time passed since last recover
63 json-like format. The API allows the driver to add nested attributes such as
71 attributes, to avoid actual nesting use which cannot be divided between
85 .. list-table:: List of devlink health interfaces
88 * - Name
89 - Description
[all …]
/linux/Documentation/RCU/Design/Data-Structures/
H A DData-Structures.rst15 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/kernel/rcu/
H A Dtasks.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Task-based RCU implementations.
24 * struct rcu_tasks_percpu - Per-CPU component of definition for a Tasks-RCU-like mechanism.
26 * @lock: Lock protecting per-CPU callback list.
29 * @urgent_gp: Number of additional non-lazy grace periods.
30 * @rtp_n_lock_retries: Rough lock-contention statistic.
58 * struct rcu_tasks - Definition for a Tasks-RCU-like mechanism.
61 * @tasks_gp_mutex: Mutex protecting grace period, needed during mid-boot dead zone.
62 * @gp_func: This flavor's grace-period-wait function.
64 * @gp_sleep: Per-grace-period sleep to prevent CPU-bound looping.
[all …]
/linux/fs/xfs/
H A Dxfs_inode.h1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
111 return ip->i_prev_unlinked != 0; in xfs_inode_on_unlinked_list()
116 return ip->i_forkoff > 0; in xfs_inode_has_attr_fork()
126 return &ip->i_df; in xfs_ifork_ptr()
130 return &ip->i_af; in xfs_ifork_ptr()
132 return ip->i_cowfp; in xfs_ifork_ptr()
141 return ip->i_forkoff << 3; in xfs_inode_fork_boff()
149 return XFS_LITINO(ip->i_mount); in xfs_inode_data_fork_size()
155 return XFS_LITINO(ip->i_mount) - xfs_inode_fork_boff(ip); in xfs_inode_attr_fork_size()
[all …]
/linux/arch/powerpc/include/asm/book3s/64/
H A Dkup.h1 /* SPDX-License-Identifier: GPL-2.0 */
102 * save AMR -> stack;
105 * KUAP_BLOCKED -> AMR;
108 * save IAMR -> stack;
110 * KUEP_BLOCKED ->IAMR
118 * save AMR -> stack;
120 * KUAP_BLOCKED -> AMR;
212 * thread-specific and we inherit the address space and not thread
218 if (current->thread.regs) in current_thread_amr()
219 return current->thread.regs->amr; in current_thread_amr()
[all …]
/linux/drivers/acpi/acpica/
H A Ddsinit.c1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
4 * Module Name: dsinit - Object initialization namespace walk
6 * Copyright (C) 2000 - 2023, Intel Corp.
29 * PARAMETERS: obj_handle - Node for the object
30 * level - Current nesting level
31 * context - Points to a init info struct
32 * return_value - Not used
62 if (node->owner_id != info->owner_id) { in acpi_ds_init_one_object()
66 info->object_count++; in acpi_ds_init_one_object()
81 info->op_region_count++; in acpi_ds_init_one_object()
[all …]
H A Dutownerid.c1 // 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()
H A Dnsinit.c1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
4 * Module Name: nsinit - namespace initialization
6 * Copyright (C) 2000 - 2023, Intel Corp.
148 * This support is provided for Windows compatibility (Vista+) and in acpi_ns_initialize_devices()
151 info.evaluate_info->prefix_node = acpi_gbl_root_node; in acpi_ns_initialize_devices()
152 info.evaluate_info->relative_pathname = METHOD_NAME__INI; in acpi_ns_initialize_devices()
153 info.evaluate_info->parameters = NULL; in acpi_ns_initialize_devices()
154 info.evaluate_info->flags = ACPI_IGNORE_RETURN_VALUE; in acpi_ns_initialize_devices()
170 info.evaluate_info->prefix_node = handle; in acpi_ns_initialize_devices()
171 info.evaluate_info->relative_pathname = in acpi_ns_initialize_devices()
[all …]
H A Ddscontrol.c1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
4 * Module Name: dscontrol - Support for execution control opcodes -
7 * Copyright (C) 2000 - 2023, Intel Corp.
25 * PARAMETERS: walk_list - The list that owns the walk stack
26 * op - The control Op
44 op, op->common.aml_opcode, walk_state)); in acpi_ds_exec_begin_control_op()
46 switch (op->common.aml_opcode) { in acpi_ds_exec_begin_control_op()
52 if (walk_state->control_state) { in acpi_ds_exec_begin_control_op()
53 if (walk_state->control_state->control. in acpi_ds_exec_begin_control_op()
55 (walk_state->parser_state.aml - 1)) { in acpi_ds_exec_begin_control_op()
[all …]
/linux/scripts/
H A Dunifdef.c2 * 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/entry/
H A Dcommon.c1 // SPDX-License-Identifier: GPL-2.0
4 #include <linux/entry-common.h>
40 return -1L; in syscall_trace_enter()
47 return -1L; in syscall_trace_enter()
53 if (ret == -1L) in syscall_trace_enter()
86 * exit_to_user_mode_loop - do any pending work before leaving to user space
160 if (unlikely(current->syscall_dispatch.on_dispatch)) { in syscall_exit_work()
161 current->syscall_dispatch.on_dispatch = false; in syscall_exit_work()
182 unsigned long work = READ_ONCE(current_thread_info()->syscall_work); in syscall_exit_to_user_mode_prepare()
195 * Do one-time syscall specific work. If these work items are in syscall_exit_to_user_mode_prepare()
[all …]
/linux/net/bluetooth/
H A Dl2cap_sock.c2 BlueZ - Bluetooth protocol stack for Linux
3 Copyright (C) 2000-2001 Qualcomm Incorporated
4 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org>
53 return sock && sock->ops == &l2cap_sock_ops; in l2cap_is_socket()
61 return -EINVAL; in l2cap_validate_bredr_psm()
63 /* Restrict usage of well-known PSMs */ in l2cap_validate_bredr_psm()
65 return -EACCES; in l2cap_validate_bredr_psm()
74 return -EINVAL; in l2cap_validate_le_psm()
78 return -EACCES; in l2cap_validate_le_psm()
85 struct sock *sk = sock->sk; in l2cap_sock_bind()
[all …]

123