| /linux/fs/xfs/scrub/ |
| H A D | btree.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2017-2023 Oracle. All Rights Reserved. 29 int level, in __xchk_btree_process_error() argument 38 case -EDEADLOCK: in __xchk_btree_process_error() 39 case -ECHRNG: in __xchk_btree_process_error() 41 trace_xchk_deadlock_retry(sc->ip, sc->sm, *error); in __xchk_btree_process_error() 43 case -EFSBADCRC: in __xchk_btree_process_error() 44 case -EFSCORRUPTED: in __xchk_btree_process_error() 45 case -EIO: in __xchk_btree_process_error() 46 case -ENODATA: in __xchk_btree_process_error() [all …]
|
| /linux/fs/verity/ |
| H A D | verify.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Data verification functions, i.e. hooks for ->readahead() 28 * performance significantly vs. sequential hashing of each block. 39 * fsverity_readahead() - kick off readahead on fsverity hashes 47 * To be called from the file systems' ->read_folio and ->readahead methods to 54 struct inode *inode = vi->inode; in fsverity_readahead() 55 const struct merkle_tree_params *params = &vi->tree_params; in fsverity_readahead() 56 u64 start_hidx = (u64)index << params->log_blocks_per_page; in fsverity_readahead() 58 (((u64)index + nr_pages) << params->log_blocks_per_page) - 1; in fsverity_readahead() 59 int level; in fsverity_readahead() local [all …]
|
| /linux/sound/soc/sof/intel/ |
| H A D | telemetry.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 12 #include "../ipc4-priv.h" 13 #include "../sof-priv.h" 22 struct xtensa_arch_block *block; in sof_ipc4_intel_dump_telemetry_state() local 24 char *level; in sof_ipc4_intel_dump_telemetry_state() local 26 level = (flags & SOF_DBG_DUMP_OPTIONAL) ? KERN_DEBUG : KERN_ERR; in sof_ipc4_intel_dump_telemetry_state() 36 if (telemetry_data->separator != XTENSA_CORE_DUMP_SEPARATOR) { in sof_ipc4_intel_dump_telemetry_state() 37 dev_err(sdev->dev, "%s invalid separator %#x\n", invalid_slot_msg, in sof_ipc4_intel_dump_telemetry_state() 38 telemetry_data->separator); in sof_ipc4_intel_dump_telemetry_state() 42 block = kmalloc_obj(*block); in sof_ipc4_intel_dump_telemetry_state() [all …]
|
| /linux/fs/xfs/libxfs/ |
| H A D | xfs_btree.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc. 28 * The in-core btree key. Overlapping btrees actually store two keys 34 xfs_bmdr_key_t bmbr; /* bmbt root block */ 44 xfs_bmdr_rec_t bmbr; /* bmbt root block */ 52 * This nonsense is to make -wlint happy. 74 #define XFS_BB_ALL_BITS ((1u << XFS_BB_NUM_BITS) - 1) 76 #define XFS_BB_ALL_BITS_CRC ((1u << XFS_BB_NUM_BITS_CRC) - 1) 82 XFS_STATS_INC_OFF((cur)->bc_mp, \ 83 (cur)->bc_ops->statoff + __XBTS_ ## stat) [all …]
|
| H A D | xfs_rtrefcount_btree.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (c) 2021-2024 Oracle. All Rights Reserved. 31 * Addresses of records, keys, and pointers within an incore rtrefcountbt block. 37 struct xfs_btree_block *block, in xfs_rtrefcount_rec_addr() argument 41 ((char *)block + XFS_RTREFCOUNT_BLOCK_LEN + in xfs_rtrefcount_rec_addr() 42 (index - 1) * sizeof(struct xfs_refcount_rec)); in xfs_rtrefcount_rec_addr() 47 struct xfs_btree_block *block, in xfs_rtrefcount_key_addr() argument 51 ((char *)block + XFS_RTREFCOUNT_BLOCK_LEN + in xfs_rtrefcount_key_addr() 52 (index - 1) * sizeof(struct xfs_refcount_key)); in xfs_rtrefcount_key_addr() 57 struct xfs_btree_block *block, in xfs_rtrefcount_ptr_addr() argument [all …]
|
| H A D | xfs_rtrmap_btree.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (c) 2018-2024 Oracle. All Rights Reserved. 32 * Addresses of records, keys, and pointers within an incore rtrmapbt block. 38 struct xfs_btree_block *block, in xfs_rtrmap_rec_addr() argument 42 ((char *)block + XFS_RTRMAP_BLOCK_LEN + in xfs_rtrmap_rec_addr() 43 (index - 1) * sizeof(struct xfs_rmap_rec)); in xfs_rtrmap_rec_addr() 48 struct xfs_btree_block *block, in xfs_rtrmap_key_addr() argument 52 ((char *)block + XFS_RTRMAP_BLOCK_LEN + in xfs_rtrmap_key_addr() 53 (index - 1) * 2 * sizeof(struct xfs_rmap_key)); in xfs_rtrmap_key_addr() 58 struct xfs_btree_block *block, in xfs_rtrmap_high_key_addr() argument [all …]
|
| H A D | xfs_rtrefcount_btree.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2021-2024 Oracle. All Rights Reserved. 48 return xfs_rtrefcountbt_init_cursor(cur->bc_tp, to_rtg(cur->bc_group)); in xfs_rtrefcountbt_dup_cursor() 54 int level) in xfs_rtrefcountbt_get_minrecs() argument 56 if (level == cur->bc_nlevels - 1) { in xfs_rtrefcountbt_get_minrecs() 59 return xfs_rtrefcountbt_maxrecs(cur->bc_mp, ifp->if_broot_bytes, in xfs_rtrefcountbt_get_minrecs() 60 level == 0) / 2; in xfs_rtrefcountbt_get_minrecs() 63 return cur->bc_mp->m_rtrefc_mnr[level != 0]; in xfs_rtrefcountbt_get_minrecs() 69 int level) in xfs_rtrefcountbt_get_maxrecs() argument 71 if (level == cur->bc_nlevels - 1) { in xfs_rtrefcountbt_get_maxrecs() [all …]
|
| /linux/fs/btrfs/ |
| H A D | extent-tree.c | 1 // SPDX-License-Identifier: GPL-2.0 20 #include "extent-tree.h" 22 #include "disk-io.h" 23 #include "print-tree.h" 27 #include "free-space-cache.h" 28 #include "free-space-tree.h" 30 #include "ref-verify.h" 31 #include "space-info.h" 32 #include "block-rsv.h" 35 #include "dev-replace.h" [all …]
|
| H A D | relocation.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/error-injection.h> 14 #include "disk-io.h" 19 #include "async-thread.h" 20 #include "free-space-cache.h" 22 #include "print-tree.h" 23 #include "delalloc-space.h" 24 #include "block-group.h" 29 #include "inode-item.h" 30 #include "space-info.h" [all …]
|
| H A D | locking.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 31 * When we COW a block we are holding the lock on the original block, 32 * and since our lockdep maps are rootid+level, this confuses lockdep 33 * when we lock the newly allocated COW'd block. Handle this by having 39 * Oftentimes we need to lock adjacent nodes on the same level while 61 * blocks. Thus when we go to allocate a new split block we've already 63 * handle this case where we need to allocate a new split block. 68 * When promoting a new block to a root we need to have a special 70 * locking a higher level node before a lower level one. Copying also 71 * has this problem as it appears we're locking the same block again [all …]
|
| H A D | ref-verify.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "disk-io.h" 12 #include "delayed-ref.h" 13 #include "ref-verify.h" 61 * One of these for every block we reference, it holds the roots and references 63 * free it until we unmount the file system in order to make sure re-allocations 83 if (entry->bytenr < *bytenr) in block_entry_bytenr_key_cmp() 85 else if (entry->bytenr > *bytenr) in block_entry_bytenr_key_cmp() 86 return -1; in block_entry_bytenr_key_cmp() 95 return block_entry_bytenr_key_cmp(&new_entry->bytenr, existing); in block_entry_bytenr_cmp() [all …]
|
| /linux/Documentation/filesystems/ |
| H A D | qnx6.rst | 1 .. SPDX-License-Identifier: GPL-2.0 29 ------ 39 --------------- 57 If the level value is 0, up to 16 direct blocks can be addressed by each 60 Level 1 adds an additional indirect addressing level where each indirect 61 addressing block holds up to blocksize / 4 bytes pointers to data blocks. 62 Level 2 adds an additional indirect addressing block level (so, already up 65 Unused block pointers are always set to ~0 - regardless of root node, 68 Data leaves are always on the lowest level. So no data is stored on upper 79 0x1000 is the size reserved for each superblock - regardless of the [all …]
|
| /linux/Documentation/driver-api/media/ |
| H A D | cec-core.rst | 1 .. SPDX-License-Identifier: GPL-2.0 15 ---------------- 33 --------------------- 53 will be stored in adap->priv and can be used by the adapter ops. 95 Implementing the Low-Level CEC Adapter 96 -------------------------------------- 98 The following low-level adapter operations have to be implemented in 103 .. code-block:: none 107 /* Low-level callbacks */ 123 /* High-level callback */ [all …]
|
| /linux/Documentation/userspace-api/media/dvb/ |
| H A D | ca_high_level.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 The High level CI API 10 This document describes the high level CI API as in accordance to the 14 With the High Level CI approach any new card with almost any random 33 .. code-block:: c 39 #define CA_CI 1 /* CI high level interface */ 40 #define CA_CI_LINK 2 /* CI link layer level interface */ 41 #define CA_CI_PHYS 4 /* CI physical layer level interface */ 42 #define CA_DESCR 8 /* built-in descrambler */ 50 This CI interface follows the CI high level interface, which is not [all …]
|
| /linux/fs/jfs/ |
| H A D | jfs_dmap.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (C) International Business Machines Corp., 2000-2002 25 #define NOFREE ((s8) -1) /* no blocks free */ 48 * determine the maximum free string for four (lower level) nodes 62 * convert disk block number to the logical block number of the dmap 63 * describing the disk block. s is the log2(number of logical blocks per page) 66 * - the number of dmaps preceding it 67 * - the number of L0 pages preceding its L0 page 68 * - the number of L1 pages preceding its L1 page 69 * - 3 is added to account for the L2, L1, and L0 page for this dmap [all …]
|
| /linux/arch/powerpc/kernel/ |
| H A D | cacheinfo.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 /* per-cpu object for tracking: 28 * - a "cache" kobject for the top-level directory 29 * - a list of "index" objects representing the cpu's local cache hierarchy 53 /* Allow for both [di]-cache-line-size and 54 * [di]-cache-block-size properties. According to the PowerPC 55 * Processor binding, -line-size should be provided if it 56 * differs from the cache block size (that which is operated 57 * on by cache instructions), so we look for -line-size first. 65 #define CACHE_TYPE_UNIFIED 0 /* cache-size, cache-block-size, etc. */ [all …]
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | ifork.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 ------------------------------ 8 regular files and directories will use it for file block indexing 15 string is less than 60 bytes long. Otherwise, either extents or block 18 Direct/Indirect Block Addressing 21 In ext2/3, file block numbers were mapped to logical block numbers by 22 means of an (up to) three level 1-1 block map. To find the logical block 23 that stores a particular file block, the code would navigate through 25 magic number nor a checksum to provide any level of confidence that the 26 block isn't full of garbage. [all …]
|
| /linux/drivers/pinctrl/qcom/ |
| H A D | Kconfig.msm | 1 # SPDX-License-Identifier: GPL-2.0-only 10 Qualcomm TLMM block found in the Qualcomm APQ8064 platform. 18 Qualcomm TLMM block found in the Qualcomm APQ8084 platform. 26 Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM) 27 block found on the Qualcomm Technologies Inc Eliza platform. 37 Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM) 38 block found on the Qualcomm Technologies Inc Glymur platform. 48 Qualcomm Technologies Inc Top Level Mode Multiplexer block (TLMM) 49 block found on the Qualcomm Technologies Inc Hawi platform. 59 Qualcomm TLMM block found in the Qualcomm IPQ4019 platform. [all …]
|
| /linux/sound/soc/tegra/ |
| H A D | tegra20_spdif.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * tegra20_spdif.h - Definitions for Tegra20 SPDIF driver 6 * Copyright (C) 2011 - NVIDIA, Inc. 9 * Copyright (c) 2008-2009, NVIDIA Corporation 69 /* Interrupt when block of channel status received */ 75 /* Interrupt when RX user FIFO attention level is reached */ 78 /* Interrupt when TX user FIFO attention level i [all...] |
| /linux/drivers/md/persistent-data/ |
| H A D | dm-btree.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include "dm-btree-internal.h" 9 #include "dm-space-map.h" 10 #include "dm-transaction-manager.h" 13 #include <linux/device-mapper.h> 18 *-------------------------------------------------------------- 20 *-------------------------------------------------------------- 36 (nr_elts - index) * elt_size); in array_insert() 41 /*----------------------------------------------------------------*/ 46 int lo = -1, hi = le32_to_cpu(n->header.nr_entries); in bsearch() [all …]
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | cache-policies.rst | 21 doesn't update states (eg, hit counts) for a block more than once 30 --------------- 43 --------------------------- 47 The stochastic multi-queue (smq) policy addresses some of the problems 63 The mq policy used a lot of memory; 88 bytes per cache block on a 64 67 pointers. It avoids storing an explicit hit count for each block. It 68 has a 'hotspot' queue, rather than a pre-cache, which uses a quarter of 69 the entries (each hotspot block covers a larger area than a single 70 cache block). 72 All this means smq uses ~25bytes per cache block. Still a lot of [all …]
|
| /linux/Documentation/devicetree/bindings/cache/ |
| H A D | sifive,ccache0.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Paul Walmsley <paul.walmsley@sifive.com> 16 acts as directory-based coherency manager. 24 - sifive,ccache0 25 - sifive,fu540-c000-ccache 26 - sifive,fu740-c000-ccache 29 - compatible 34 - items: [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A D | imc.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 IMC (In-Memory Collection Counters) 17 IMC (In-Memory collection counters) is a hardware monitoring facility that 18 collects large numbers of hardware performance events at Nest level (these are 19 on-chip but off-core), Core level and Thread level. 22 (On-Chip Controller) complex. The microcode collects the counter data and moves 25 The Core and Thread IMC PMU counters are handled in the core. Core level PMU 26 counters give us the IMC counters' data per core and thread level PMU counters 33 - Event name 34 - Event Offset [all …]
|
| /linux/Documentation/userspace-api/netlink/ |
| H A D | genetlink-legacy.rst | 1 .. SPDX-License-Identifier: BSD-3-Clause 9 the ``genetlink-legacy`` protocol level. 15 ------- 17 Attributes listed directly at the root level of the spec file. 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/arch/arm64/ |
| H A D | hugetlbpage.rst | 8 address translations. The benefit depends on both - 10 - the size of hugepages 11 - size of entries supported by the TLBs 15 1) Block mappings at the pud/pmd level 16 -------------------------------------- 19 block of memory. Regardless of the supported size of entries in TLB, block 24 --------------------------- 31 pte (last) level. The number of supported contiguous entries varies by page size 32 and level of the page table. 35 The following hugepage sizes are supported - [all …]
|