Home
last modified time | relevance | path

Searched +full:cache +full:- +full:block (Results 1 – 25 of 1004) sorted by relevance

12345678910>>...41

/linux/arch/riscv/boot/dts/sophgo/
H A Dsg2042-cpus.dtsi1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
8 #address-cells = <1>;
9 #size-cells = <0>;
10 timebase-frequency = <50000000>;
12 cpu-map {
260 riscv,isa-base = "rv64i";
261 riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
265 i-cache-block-size = <64>;
266 i-cache-size = <65536>;
267 i-cache-sets = <512>;
[all …]
/linux/Documentation/admin-guide/device-mapper/
H A Dcache.rst2 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 Dcache-policies.rst21 doesn't update states (eg, hit counts) for a block more than once
26 Overview of supplied cache replacement policies
30 ---------------
43 ---------------------------
47 The stochastic multi-queue (smq) policy addresses some of the problems
55 DM table that is using the cache target. Doing so will cause all of the
56 mq policy's hints to be dropped. Also, performance of the cache may
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
[all …]
H A Dwritecache.rst6 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
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
53 - some underlying devices perform better with fua, some
[all …]
H A Dera.rst2 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 …]
/linux/fs/squashfs/
H A Dcache.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Squashfs - a compressed read only filesystem for Linux
8 * cache.c
15 * This file implements a generic cache implementation used for both caches,
16 * plus functions layered ontop of the generic cache implementation to
19 * To avoid out of memory and fragmentation issues with vmalloc the cache
22 * It should be noted that the cache is not used for file datablocks, these
23 * are decompressed and cached in the page-cache in the normal way. The
24 * cache is only used to temporarily cache fragment and metadata blocks
29 * have been packed with it, these because of locality-of-reference may be read
[all …]
H A Dfile.c1 // 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 …]
/linux/fs/btrfs/
H A Dblock-group.c1 // 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 Dblock-group.h1 /* SPDX-License-Identifier: GPL-2.0 */
16 #include "free-space-cache.h"
75 /* Block group flags set at runtime */
84 /* Does the block group need to be added to the free space tree? */
86 /* Indicate that the block group is placed on a sequential zone */
89 * Indicate that block group is in the list of new block groups of a
132 * The last committed used bytes of this block group, if the above @used
133 * is still the same as @commit_used, we don't need to update block
134 * group item of this block group.
138 * If the free space extent count exceeds this number, convert the block
[all …]
H A Dbackref.h1 /* SPDX-License-Identifier: GPL-2.0 */
17 #include "disk-io.h"
30 * The value must be non-negative and must not be 0, 1 (which is a common return
39 * continue. Can return BTRFS_ITERATE_EXTENT_INODES_STOP or any other non-zero
94 * commit roots when searching b+trees - this is a special case for
112 * cache which maps the logical address (bytenr) of leaves to an array
187 * Cache the sharedness result for the last few extents we have found,
195 * So keep a small cache with the lookup results for the extent pointed
196 * by the last few file extent items. This cache is checked, with a
272 * Now it only supports iteration of tree block in commit root.
[all …]
/linux/Documentation/admin-guide/
H A Dbcache.rst2 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
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
36 average is above the cutoff it will skip all IO from that task - instead of
[all …]
/linux/include/linux/
H A Dsysv_fs.h1 /* 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/arch/riscv/boot/dts/sifive/
H A Dfu540-c000.dtsi1 // 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 Dfu740-c000.dtsi1 // 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/fs/nilfs2/
H A Dalloc.c1 // SPDX-License-Identifier: GPL-2.0+
5 * Copyright (C) 2006-2008 Nippon Telegraph and Telephone Corporation.
21 * nilfs_palloc_groups_per_desc_block - get the number of groups that a group
22 * descriptor block can maintain
33 * nilfs_palloc_groups_count - get maximum number of groups
39 return 1UL << (BITS_PER_LONG - (inode->i_blkbits + 3 /* log2(8) */)); in nilfs_palloc_groups_count()
43 * nilfs_palloc_init_blockgroup - initialize private variables for allocator
51 mi->mi_bgl = kmalloc(sizeof(*mi->mi_bgl), GFP_NOFS); in nilfs_palloc_init_blockgroup()
52 if (!mi->mi_bgl) in nilfs_palloc_init_blockgroup()
53 return -ENOMEM; in nilfs_palloc_init_blockgroup()
[all …]
H A Dbtnode.c1 // 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/Documentation/devicetree/bindings/riscv/
H A Dcpus.yaml1 # 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 …]
/linux/drivers/md/dm-vdo/
H A Dblock-map.c1 // SPDX-License-Identifier: GPL-2.0-only
6 #include "block-map.h"
13 #include "memory-alloc.h"
16 #include "action-manager.h"
17 #include "admin-state.h"
20 #include "data-vio.h"
22 #include "io-submitter.h"
23 #include "physical-zone.h"
24 #include "recovery-journal.h"
25 #include "slab-depot.h"
[all …]
H A Dblock-map.h1 /* SPDX-License-Identifier: GPL-2.0-only */
13 #include "admin-state.h"
16 #include "int-map.h"
20 #include "wait-queue.h"
23 * The block map is responsible for tracking all the logical to physical mappings of a VDO. It
26 * each logical address. Each logical zone also has a dedicated portion of the leaf page cache.
29 * radix trees assigned to that zone. The concurrency guarantees of this single-threaded model
30 * allow the code to omit more fine-grained locking for the block map structures.
48 /* The VDO Page Cache abstraction. */
50 /* the VDO which owns this cache */
[all …]
/linux/Documentation/filesystems/
H A Dsquashfs.rst1 .. 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 ----------------------
35 Max block size 1 MiB 4 KiB
39 Tail-end packing (fragments) yes no
[all …]
/linux/drivers/md/
H A Ddm-cache-policy.h1 /* SPDX-License-Identifier: GPL-2.0-only */
11 #include "dm-cache-block-types.h"
13 #include <linux/device-mapper.h>
15 /*----------------------------------------------------------------*/
18 * The cache policy makes the important decisions about which blocks get to
19 * live on the faster cache device.
37 * The cache policy object. It is envisaged that this structure will be
47 * Find the location of a block.
49 * Must not block.
51 * Returns 0 if in cache (cblock will be set), -ENOENT if not, < 0 for
[all …]
/linux/Documentation/block/
H A Dwriteback_cache_control.rst2 Explicit volatile write back cache control
6 ------------
10 operating system before data actually has hit the non-volatile storage. This
12 system needs to force data out to the non-volatile storage when it performs
15 The Linux block layer provides two simple mechanisms that let filesystems
17 a forced cache flush, and the Force Unit Access (FUA) flag for requests.
20 Explicit cache flushes
21 ----------------------
24 the filesystem and will make sure the volatile cache of the storage device
26 guarantees that previously completed write requests are on non-volatile
[all …]
/linux/fs/affs/
H A Dfile.c1 // 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/fs/ocfs2/
H A Duptodate.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Tracking the up-to-date-ness of a local buffer_head with respect to
11 * in a clustered environment - a buffer may be marked up to date on
15 * memory as possible - we never pin buffer_head structures in order
16 * to cache them.
23 * - buffer_jbd is used liberally - if a bh is in the journal on
25 * - the standard buffer_uptodate() macro is used to detect buffers
58 BUG_ON(!ci || !ci->ci_ops); in ocfs2_metadata_cache_owner()
60 return ci->ci_ops->co_owner(ci); in ocfs2_metadata_cache_owner()
65 BUG_ON(!ci || !ci->ci_ops); in ocfs2_metadata_cache_get_super()
[all …]
/linux/drivers/mtd/
H A Dmtdblock.c1 // 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 …]

12345678910>>...41