| /linux/arch/riscv/boot/dts/sophgo/ | 
| H A D | sg2044-cpus.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 	#address-cells = <2>; 8 	#size-cells = <2>; 11 		#address-cells = <1>; 12 		#size-cells = <0>; 13 		timebase-frequency = <50000000>; 18 			i-cache-block-size = <64>; 19 			i-cache-size = <65536>; 20 			i-cache-sets = <512>; 21 			d-cache-block-size = <64>; [all …] 
 | 
| H A D | cv180x-cpus.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 		#address-cells = <1>; 10 		#size-cells = <0>; 11 		timebase-frequency = <25000000>; 17 			d-cache-block-size = <64>; 18 			d-cache-sets = <512>; 19 			d-cache-size = <65536>; 20 			i-cache-block-size = <64>; 21 			i-cache-sets = <128>; 22 			i-cache-size = <32768>; [all …] 
 | 
| /linux/Documentation/admin-guide/device-mapper/ | 
| H A 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 …] 
 | 
| H A 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 …] 
 | 
| H A 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 …] 
 | 
| /linux/arch/riscv/boot/dts/sifive/ | 
| H A 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 …] 
 | 
| H A 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 …] 
 | 
| /linux/Documentation/admin-guide/ | 
| H A 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/fs/btrfs/ | 
| H A 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 …] 
 | 
| H A D | block-group.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 #include "free-space-cache.h" 33 	/* 0 < size <= 128K */ 35 	/* 128K < size <= 8M */ 37 	/* 8M < size < BG_LENGTH */ 75 /* Block group flags set at runtime */ 84 	/* Does the block group need to be added to the free space tree? */ 86 	/* Set after we add a new block group to the free space tree. */ 88 	/* Indicate that the block group is placed on a sequential zone */ 91 	 * Indicate that block group is in the list of new block groups of a [all …] 
 | 
| H A D | zoned.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include "disk-io.h" 13 #include "block-group.h" 14 #include "dev-replace.h" 15 #include "space-info.h" 25 #define WP_MISSING_DEV ((u64)-1) 27 #define WP_CONVENTIONAL ((u64)-2) 32  * - primary superblock:    0B (zone 0) 33  * - first copy:          512G (zone starting at that offset) 34  * - second copy:           4T (zone starting at that offset) [all …] 
 | 
| /linux/fs/squashfs/ | 
| H A 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 …] 
 | 
| H A 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 19 	  and tools are available from github.com/plougher/squashfs-tools. 35 	  intermediate buffer and then memcopied it into the page cache. 37 	  the page cache. [all …] 
 | 
| /linux/drivers/mtd/ | 
| H A 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/arch/riscv/boot/dts/microchip/ | 
| H A 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>; 16 		timebase-frequency = <1000000>; 21 			i-cache-block-size = <64>; [all …] 
 | 
| /linux/fs/affs/ | 
| H A 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 …] 
 | 
| /linux/Documentation/devicetree/bindings/cache/ | 
| H A 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 …] 
 | 
| H A D | starfive,jh8100-starlink-cache.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/cache/starfive,jh8100-starlink-cache.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: StarFive StarLink Cache Controller 10   - Joshua Yeong <joshua.yeong@starfivetech.com> 13   StarFive's StarLink Cache Controller manages the L3 cache shared between 14   clusters of CPU cores. The cache driver enables RISC-V non-standard cache 15   management as an alternative to instructions in the RISC-V Zicbom extension. 18   - $ref: /schemas/cache-controller.yaml# [all …] 
 | 
| /linux/fs/nilfs2/ | 
| H A D | btnode.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3  * NILFS B-tree node cache 5  * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation. 15 #include <linux/backing-dev.h> 25  * nilfs_init_btnc_inode - initialize B-tree node cache inode 28  * nilfs_init_btnc_inode() sets up an inode for B-tree node cache. 34 	btnc_inode->i_mode = S_IFREG;  in nilfs_init_btnc_inode() 35 	ii->i_flags = 0;  in nilfs_init_btnc_inode() 36 	memset(&ii->i_bmap_data, 0, sizeof(struct nilfs_bmap));  in nilfs_init_btnc_inode() 37 	mapping_set_gfp_mask(btnc_inode->i_mapping, GFP_NOFS);  in nilfs_init_btnc_inode() [all …] 
 | 
| /linux/arch/powerpc/kernel/ | 
| H A D | cacheinfo.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3  * Processor cache information made available to userspace via sysfs; 26 /* per-cpu object for tracking: 27  * - a "cache" kobject for the top-level directory 28  * - a list of "index" objects representing the cpu's local cache hierarchy 31 	struct kobject *kobj; /* bare (not embedded) kobject for cache 36 /* "index" object: each cpu's cache directory has an index 37  * subdirectory corresponding to a cache object associated with the 43 	struct cache *cache;  member 47  * cache type */ [all …] 
 | 
| /linux/drivers/md/ | 
| H A D | dm-cache-target.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include "dm-bio-prison-v2.h" 10 #include "dm-bio-record.h" 11 #include "dm-cache-metadata.h" 12 #include "dm-io-tracker.h" 13 #include "dm-cache-background-tracker.h" 15 #include <linux/dm-io.h> 16 #include <linux/dm-kcopyd.h> 25 #define DM_MSG_PREFIX "cache" 28 	"A percentage of time allocated for copying to and/or from cache"); [all …] 
 | 
| /linux/fs/ext2/ | 
| H A 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/arch/powerpc/boot/dts/ | 
| H A D | microwatt.dts | 1 /dts-v1/; 2 #include <dt-bindings/gpio/gpio.h> 5 	#size-cells = <0x02>; 6 	#address-cells = <0x02>; 8 	compatible = "microwatt-soc"; 15 	reserved-memory { 16 		#size-cells = <0x02>; 17 		#address-cells = <0x02>; 28 			#clock-cells = <0>; 29 			compatible = "fixed-clock"; [all …] 
 | 
| /linux/arch/powerpc/include/uapi/asm/ | 
| H A 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/Documentation/driver-api/md/ | 
| H A 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 …] 
 |