| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/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 | 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" 15 - p - persistent memory 16 - s - SSD 18 3. the cache device 19 4. block size (4096 is recommended; the maximum block size is the page 20 size) 25 offset from the start of cache device in 512-byte sectors 45 applicable only to persistent memory - use the FUA flag 49 applicable only to persistent memory - don't use the FUA [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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| D | fu740-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu740-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu740-c000", "sifive,fu740"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; 29 i-cache-sets = <128>; [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/arch/riscv/boot/dts/thead/ |
| D | th1520.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 #include <dt-bindings/interrupt-controller/irq.h> 11 #address-cells = <2>; 12 #size-cells = <2>; 15 #address-cells = <1>; 16 #size-cells = <0>; 17 timebase-frequency = <3000000>; 24 i-cache-block-size = <64>; 25 i-cache-size = <65536>; 26 i-cache-sets = <512>; [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/riscv/ |
| 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 CPUs 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 12 - Conor Dooley <conor@kernel.org> 15 This document uses some terminology common to the RISC-V community 19 mandated by the RISC-V ISA: a PC and some registers. This 27 - $ref: /schemas/cpu.yaml# [all …]
|
| /kernel/linux/linux-6.6/fs/btrfs/ |
| D | block-group.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include "free-space-cache.h" 18 /* 0 < size <= 128K */ 20 /* 128K < size <= 8M */ 22 /* 8M < size < BG_LENGTH */ 60 /* Block group flags set at runtime */ 69 /* Does the block group need to be added to the free space tree? */ 71 /* Indicate that the block group is placed on a sequential zone */ 74 * Indicate that block group is in the list of new block groups of a 117 * The last committed used bytes of this block group, if the above @used [all …]
|
| D | block-group.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include "block-group.h" 8 #include "space-info.h" 9 #include "disk-io.h" 10 #include "free-space-cache.h" 11 #include "free-space-tree.h" 14 #include "ref-verify.h" 16 #include "tree-log.h" 17 #include "delalloc-space.h" 23 #include "extent-tree.h" [all …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/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 45 * Locate cache slot in range [offset, index] for specified inode. If [all …]
|
| /kernel/linux/linux-6.6/arch/riscv/boot/dts/microchip/ |
| D | mpfs.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2020-2021 Microchip Technology Inc */ 4 /dts-v1/; 5 #include "dt-bindings/clock/microchip,mpfs-clock.h" 8 #address-cells = <2>; 9 #size-cells = <2>; 14 #address-cells = <1>; 15 #size-cells = <0>; 20 i-cache-block-size = <64>; 21 i-cache-sets = <128>; [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/cache/ |
| D | sifive,ccache0.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/cache/sifive,ccache0.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: SiFive Composable Cache Controller 11 - Paul Walmsley <paul.walmsley@sifive.com> 14 The SiFive Composable Cache Controller is used to provide access to fast copies 15 of memory for masters in a Core Complex. The Composable Cache Controller also 16 acts as directory-based coherency manager. 24 - sifive,ccache0 [all …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/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 …]
|
| /kernel/linux/linux-6.6/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 27 inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt)); in affs_file_open() 28 atomic_inc(&AFFS_I(inode)->i_opencnt); in affs_file_open() 36 inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt)); in affs_file_release() 38 if (atomic_dec_and_test(&AFFS_I(inode)->i_opencnt)) { in affs_file_release() 40 if (inode->i_size != AFFS_I(inode)->mmu_private) in affs_file_release() 52 struct super_block *sb = inode->i_sb; in affs_grow_extcache() [all …]
|