/linux-5.10/Documentation/admin-guide/device-mapper/ |
D | cache.rst | 2 Cache title 8 dm-cache is a device mapper target written by Joe Thornber, Heinz 11 It aims to improve performance of a block device (eg, a spindle) by 15 This device-mapper solution allows us to insert this caching at 17 a thin-provisioning pool. Caching solutions that are integrated more 20 The target reuses the metadata library used in the thin-provisioning 23 The decision as to what data to migrate and when is left to a plug-in 32 Movement of the primary copy of a logical block from one 39 The origin device always contains a copy of the logical block, which 40 may be out of date or kept in sync with the copy on the cache device [all …]
|
D | era.rst | 2 dm-era 8 dm-era is a target that behaves similar to the linear target. In 11 maintains the current era as a monotonically increasing 32-bit 15 partially invalidating the contents of a cache to restore cache 21 era <metadata dev> <origin dev> <block size> 26 block size block size of origin data device, granularity that is 36 ---------- 43 ------------------ 48 ------------------ 55 <metadata block size> <#used metadata blocks>/<#total metadata blocks> [all …]
|
D | writecache.rst | 6 doesn't cache reads because reads are supposed to be cached in page cache 14 1. type of the cache device - "p" or "s" 16 - p - persistent memory 17 - s - SSD 19 3. the cache device 20 4. block size (4096 is recommended; the maximum block size is the page 21 size) 26 offset from the start of cache device in 512-byte sectors 46 applicable only to persistent memory - use the FUA flag 50 applicable only to persistent memory - don't use the FUA [all …]
|
/linux-5.10/arch/riscv/boot/dts/sifive/ |
D | fu540-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2018-2019 SiFive, Inc */ 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu540-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu540-c000", "sifive,fu540"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; [all …]
|
/linux-5.10/Documentation/admin-guide/ |
D | bcache.rst | 2 A block layer cache (bcache) 6 nice if you could use them as cache... Hence bcache. 11 This is the git repository of bcache-tools: 12 https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git/ 17 It's designed around the performance characteristics of SSDs - it only allocates 18 in erase block sized buckets, and it uses a hybrid btree/log to track cached 19 extents (which can be anywhere from a single sector to the bucket size). It's 20 designed to avoid random writes at all costs; it fills up an erase block 25 great lengths to protect your data - it reliably handles unclean shutdown. (It 29 Writeback caching can use most of the cache for buffering writes - writing [all …]
|
/linux-5.10/fs/squashfs/ |
D | file.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Squashfs - a compressed read only filesystem for Linux 14 * compressed fragment block (tail-end packed block). The compressed size 15 * of each datablock is stored in a block list contained within the 19 * larger), the code implements an index cache that caches the mapping from 20 * block index to datablock location on disk. 22 * The index cache allows Squashfs to handle large files (up to 1.75 TiB) while 23 * retaining a simple and space-efficient block list on disk. The cache 26 * The index cache is designed to be memory efficient, and by default uses 44 * Locate cache slot in range [offset, index] for specified inode. If [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "SquashFS 4.0 - Squashed file system support" 4 depends on BLOCK 7 Read-Only File System). Squashfs is a highly compressed read-only 11 Block sizes greater than 4K are supported up to a maximum of 1 Mbytes 12 (default block size 128K). SquashFS 4.0 supports 64 bit filesystems 16 Squashfs is intended for general read-only filesystem use, for 35 intermediate buffer and then memcopied it into the page cache. 37 the page cache. 45 memcopy it into the page cache. [all …]
|
/linux-5.10/Documentation/devicetree/bindings/riscv/ |
D | sifive-l2-cache.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/riscv/sifive-l2-cache.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: SiFive L2 Cache Controller 11 - Sagar Kadam <sagar.kadam@sifive.com> 12 - Yash Shah <yash.shah@sifive.com> 13 - Paul Walmsley <paul.walmsley@sifive.com> 16 The SiFive Level 2 Cache Controller is used to provide access to fast copies 17 of memory for masters in a Core Complex. The Level 2 Cache Controller also [all …]
|
D | cpus.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RISC-V bindings for 'cpus' DT nodes 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 14 This document uses some terminology common to the RISC-V community 18 mandated by the RISC-V ISA: a PC and some registers. This 28 - items: 29 - enum: [all …]
|
/linux-5.10/drivers/mtd/ |
D | mtdblock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Direct MTD block device access 5 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> 6 * Copyright © 2000-2003 Nicolas Pitre <nico@fluxnic.net> 35 * Cache stuff... 38 * buffer cache can handle, we must implement read-modify-write on flash 39 * sectors for each block write requests. To avoid over-erasing flash sectors 40 * and to speed things up, we locally cache a whole flash sector while it is 52 * First, let's erase the flash block. in erase_write() 61 pos, len, mtd->name); in erase_write() [all …]
|
/linux-5.10/Documentation/filesystems/ |
D | squashfs.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 Squashfs is a compressed read-only filesystem for Linux. 11 minimise data overhead. Block sizes greater than 4K are supported up to a 12 maximum of 1Mbytes (default block size 128K). 14 Squashfs is intended for general read-only filesystem use, for archival 16 block device/memory systems (e.g. embedded systems) where low overhead is 19 Mailing list: squashfs-devel@lists.sourceforge.net 23 ---------------------- 30 Max filesystem size 2^64 256 MiB 31 Max file size ~ 2 TiB 16 MiB [all …]
|
/linux-5.10/fs/affs/ |
D | file.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * (c) 1996 Hans-Joachim Widmaier - Rewritten 7 * (C) 1993 Ray Burr - Modified for Amiga FFS filesystem. 11 * (C) 1991 Linus Torvalds - minix filesystem 26 inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt)); in affs_file_open() 27 atomic_inc(&AFFS_I(inode)->i_opencnt); in affs_file_open() 35 inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt)); in affs_file_release() 37 if (atomic_dec_and_test(&AFFS_I(inode)->i_opencnt)) { in affs_file_release() 39 if (inode->i_size != AFFS_I(inode)->mmu_private) in affs_file_release() 51 struct super_block *sb = inode->i_sb; in affs_grow_extcache() [all …]
|
/linux-5.10/arch/powerpc/kernel/ |
D | cacheinfo.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Processor cache information made available to userspace via sysfs; 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 32 struct kobject *kobj; /* bare (not embedded) kobject for cache 37 /* "index" object: each cpu's cache directory has an index 38 * subdirectory corresponding to a cache object associated with the 44 struct cache *cache; member 48 * cache type */ [all …]
|
/linux-5.10/arch/riscv/boot/dts/kendryte/ |
D | k210.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 6 #include <dt-bindings/clock/k210-clk.h> 10 * Although the K210 is a 64-bit CPU, the address bus is only 32-bits 13 #address-cells = <1>; 14 #size-cells = <1>; 23 * Since this is a non-ratified draft specification, the kernel does not 28 #address-cells = <1>; 29 #size-cells = <0>; 30 timebase-frequency = <7800000>; 36 mmu-type = "none"; [all …]
|
/linux-5.10/arch/riscv/kernel/ |
D | cacheinfo.c | 1 // SPDX-License-Identifier: GPL-2.0-only 22 if (rv_cache_ops && rv_cache_ops->get_priv_group) in cache_get_priv_group() 23 return rv_cache_ops->get_priv_group(this_leaf); in cache_get_priv_group() 33 for (index = 0; index < this_cpu_ci->num_leaves; index++) { in get_cacheinfo() 34 this_leaf = this_cpu_ci->info_list + index; in get_cacheinfo() 35 if (this_leaf->level == level && this_leaf->type == type) in get_cacheinfo() 46 return this_leaf ? this_leaf->size : 0; in get_cache_size() 53 return this_leaf ? (this_leaf->ways_of_associativity << 16 | in get_cache_geometry() 54 this_leaf->coherency_line_size) : in get_cache_geometry() 59 unsigned int level, unsigned int size, in ci_leaf_init() argument [all …]
|
/linux-5.10/drivers/md/ |
D | dm-cache-target.c | 8 #include "dm-bio-prison-v2.h" 9 #include "dm-bio-record.h" 10 #include "dm-cache-metadata.h" 12 #include <linux/dm-io.h> 13 #include <linux/dm-kcopyd.h> 22 #define DM_MSG_PREFIX "cache" 25 "A percentage of time allocated for copying to and/or from cache"); 27 /*----------------------------------------------------------------*/ 32 * oblock: index of an origin block 33 * cblock: index of a cache block [all …]
|
/linux-5.10/fs/btrfs/ |
D | block-group.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include "block-group.h" 6 #include "space-info.h" 7 #include "disk-io.h" 8 #include "free-space-cache.h" 9 #include "free-space-tree.h" 12 #include "ref-verify.h" 14 #include "tree-log.h" 15 #include "delalloc-space.h" 27 struct btrfs_balance_control *bctl = fs_info->balance_ctl; in get_restripe_target() [all …]
|
/linux-5.10/arch/powerpc/include/uapi/asm/ |
D | auxvec.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 7 * the cache block size is, so it can use the dcbz instruction safely. 16 * sake :-) 21 * AT_*CACHEBSIZE above represent the cache *block* size which is 22 * the size that is affected by the cache management instructions. 24 * It doesn't nececssarily matches the cache *line* size which is 26 * be different for the different cache levels. 29 * about the caches, in the form of two entry per cache type, 30 * one entry containing the cache size in bytes, and the other 31 * containing the cache line size in bytes in the bottom 16 bits [all …]
|
/linux-5.10/arch/powerpc/include/asm/ |
D | vdso_datapage.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 61 __u64 physicalMemorySize; /* Size of real memory(B) 0x28 */ 69 __u32 dcache_size; /* L1 d-cache size 0x60 */ 70 __u32 dcache_line_size; /* L1 d-cache line size 0x64 */ 71 __u32 icache_size; /* L1 i-cache size 0x68 */ 72 __u32 icache_line_size; /* L1 i-cache line size 0x6C */ 77 __u32 dcache_block_size; /* L1 d-cache block size */ 78 __u32 icache_block_size; /* L1 i-cache block size */ 79 __u32 dcache_log_block_size; /* L1 d-cache log block size */ 80 __u32 icache_log_block_size; /* L1 i-cache log block size */ [all …]
|
/linux-5.10/fs/ext2/ |
D | xattr.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2001-2003 Andreas Gruenbacher <agruen@suse.de> 18 * block. If all extended attributes of an inode are identical, these 19 * inodes may share the same extended attribute block. Such situations 20 * are automatically detected by keeping a cache of recent attribute block 21 * numbers and hashes over the block's contents in memory. 24 * Extended attribute block layout: 26 * +------------------+ 36 * +------------------+ 38 * The block header is followed by multiple entry descriptors. These entry [all …]
|
/linux-5.10/include/linux/ |
D | sysv_fs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 /* Block numbers are 24 bit, sometimes stored in 32 bit. 17 On Coherent FS, they are always stored in PDP-11 manner: the least 21 /* 0 is non-existent */ 26 /* Xenix super-block data on disk */ 27 #define XENIX_NICINOD 100 /* number of inode cache entries */ 28 #define XENIX_NICFREE 100 /* number of free block list chunk entries */ 32 /* the start of the free block list: */ 34 sysv_zone_t s_free[XENIX_NICFREE]; /* first free block list chunk */ 35 /* the cache of free inodes: */ [all …]
|
/linux-5.10/Documentation/driver-api/md/ |
D | raid5-cache.rst | 2 RAID 4/5/6 cache 5 Raid 4/5/6 could include an extra disk for data cache besides normal RAID 6 disks. The role of RAID disks isn't changed with the cache disk. The cache disk 7 caches data to the RAID disks. The cache can be in write-through (supported 8 since 4.4) or write-back mode (supported since 4.10). mdadm (supported since 9 3.4) has a new option '--write-journal' to create array with cache. Please 10 refer to mdadm manual for details. By default (RAID array starts), the cache is 11 in write-through mode. A user can switch it to write-back mode by:: 13 echo "write-back" > /sys/block/md0/md/journal_mode 15 And switch it back to write-through mode by:: [all …]
|
/linux-5.10/arch/sh/boot/dts/ |
D | j2_mimas_v2.dts | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 5 compatible = "jcore,j2-soc"; 8 #address-cells = <1>; 9 #size-cells = <1>; 11 interrupt-parent = <&aic>; 14 #address-cells = <1>; 15 #size-cells = <0>; 21 clock-frequency = <50000000>; 22 d-cache-size = <8192>; [all …]
|
/linux-5.10/arch/powerpc/boot/dts/ |
D | iss4xx-mpic.dts | 15 /dts-v1/; 20 #address-cells = <2>; 21 #size-cells = <1>; 22 model = "ibm,iss-4xx"; 23 compatible = "ibm,iss-4xx"; 24 dcr-parent = <&{/cpus/cpu@0}>; 31 #address-cells = <1>; 32 #size-cells = <0>; 38 clock-frequency = <100000000>; // 100Mhz :-) 39 timebase-frequency = <100000000>; [all …]
|
/linux-5.10/arch/sparc/lib/ |
D | M7memset.S | 15 * Fast assembler language version of the following C-program for memset 16 * which represents the `standard' for the C-library. 25 * } while (--n != 0); 35 * Then store as many 4-byte chunks, followed by trailing bytes. 39 * store 8-bytes chunks to align the address on 64 byte boundary 42 * 64-byte cache line to zero which will also clear the 43 * other seven long words of the cache line. 47 * ST_CHUNK cache lines (64 bytes each) before the main 49 * In the main loop, continue pre-setting the first long 50 * word of each cache line ST_CHUNK lines in advance while [all …]
|