Home
last modified time | relevance | path

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

12345678910>>...39

/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/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
182 btrfs_get_block_group(struct btrfs_block_group * cache) btrfs_get_block_group() argument
187 btrfs_put_block_group(struct btrfs_block_group * cache) btrfs_put_block_group() argument
261 struct btrfs_block_group *cache, *ret = NULL; block_group_cache_tree_search() local
314 btrfs_next_block_group(struct btrfs_block_group * cache) btrfs_next_block_group() argument
444 btrfs_get_caching_control(struct btrfs_block_group * cache) btrfs_get_caching_control() argument
479 btrfs_wait_block_group_cache_progress(struct btrfs_block_group * cache,u64 num_bytes) btrfs_wait_block_group_cache_progress() argument
504 btrfs_caching_ctl_wait_done(struct btrfs_block_group * cache,struct btrfs_caching_control * caching_ctl) btrfs_caching_ctl_wait_done() argument
511 btrfs_wait_block_group_cache_done(struct btrfs_block_group * cache) btrfs_wait_block_group_cache_done() argument
966 btrfs_cache_block_group(struct btrfs_block_group * cache,bool wait) btrfs_cache_block_group() argument
1437 inc_block_group_ro(struct btrfs_block_group * cache,bool force) inc_block_group_ro() argument
2349 exclude_super_stripes(struct btrfs_block_group * cache) exclude_super_stripes() argument
2406 struct btrfs_block_group *cache; btrfs_create_block_group() local
2493 struct btrfs_block_group *cache; read_one_block_group() local
2668 struct btrfs_block_group *cache; btrfs_read_block_groups() local
3038 struct btrfs_block_group *cache; btrfs_make_block_group() local
3130 btrfs_inc_block_group_ro(struct btrfs_block_group * cache,bool do_chunk_alloc) btrfs_inc_block_group_ro() argument
3249 btrfs_dec_block_group_ro(struct btrfs_block_group * cache) btrfs_dec_block_group_ro() argument
3276 update_block_group_item(struct btrfs_trans_handle * trans,struct btrfs_path * path,struct btrfs_block_group * cache) update_block_group_item() argument
3541 struct btrfs_block_group *cache, *tmp; btrfs_setup_space_cache() local
3578 struct btrfs_block_group *cache; btrfs_start_dirty_block_groups() local
3743 struct btrfs_block_group *cache; btrfs_write_dirty_block_groups() local
3877 struct btrfs_block_group *cache; btrfs_update_block_group() local
3994 btrfs_add_reserved_bytes(struct btrfs_block_group * cache,u64 ram_bytes,u64 num_bytes,bool delalloc,bool force_wrong_size_class) btrfs_add_reserved_bytes() argument
4055 btrfs_free_reserved_bytes(struct btrfs_block_group * cache,u64 num_bytes,bool is_delalloc) btrfs_free_reserved_bytes() argument
4799 btrfs_freeze_block_group(struct btrfs_block_group * cache) btrfs_freeze_block_group() argument
[all...]
H A Dblock-group.h1 /* SPDX-License-Identifier: GPL-2.0 */
16 #include "free-space-cache.h"
76 /* Block group flags set at runtime */
85 /* Does the block group need to be added to the free space tree? */
87 /* Set after we add a new block group to the free space tree. */
89 /* Indicate that the block group is placed on a sequential zone */
92 * Indicate that block group is in the list of new block groups of a
138 /* The last commited identity_remap_count value of this block group. */
141 * The last committed used bytes of this block group, if the above @used
142 * is still the same as @last_used, we don't need to update block
[all …]
H A Dzoned.c1 // 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/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/squashfs/
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
46 * Locate cache slot in range [offset, index] for specified inode. If
[all …]
H A DKconfig1 # 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/md/
H A Ddm-bufio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2009-2011 Red Hat, Inc.
10 #include <linux/dm-bufio.h>
12 #include <linux/device-mapper.h>
13 #include <linux/dm-io.h>
55 * dm_buffer->list_mode
63 /*--------------------------------------------------------------*/
91 /*--------------*/
95 lru->cursor = NULL; in lru_init()
96 lru->count = 0; in lru_init()
[all …]
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 …]
H A Draid5.h1 /* SPDX-License-Identifier: GPL-2.0 */
23 * A read request is being submitted for this block
31 * Empty -> Want - on read or write to get old data for parity calc
32 * Empty -> Dirty - on compute_parity to satisfy write/sync request.
33 * Empty -> Clean - on compute_block when computing a block for failed drive
34 * Want -> Empty - on failed read
35 * Want -> Clean - on successful completion of read request
36 * Dirty -> Clean - on successful completion of write request
37 * Dirty -> Clean - on failed write
38 * Clean -> Dirty - on compute_parity to satisfy write/sync (RECONSTRUCT or RMW)
[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/include/linux/
H A Ddm-bufio.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2009-2011 Red Hat, Inc.
16 /*----------------------------------------------------------------*/
27 * Create a buffered IO cache on a given device
37 * Release a buffered IO cache.
53 * - At most one thread can hold at most "reserved_buffers" simultaneously.
54 * - Each other threads can hold at most one buffer.
55 * - Threads which call only dm_bufio_get can hold unlimited number of
60 * Read a given block from disk. Returns pointer to data. Returns a
64 void *dm_bufio_read(struct dm_bufio_client *c, sector_t block,
[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 …]
/linux/Documentation/devicetree/bindings/cache/
H A Dsifive,ccache0.yaml1 # 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 Dstarfive,jh8100-starlink-cache.yaml1 # 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/arch/powerpc/kernel/
H A Dcacheinfo.c1 // 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/arch/sparc/include/uapi/asm/
H A Dasi.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
32 /* VAC Cache flushing on sun4c and sun4 */
37 /* SPARCstation-5: only 6 bits are decoded. */
52 #define ASI_M_TXTC_TAG 0x0C /* Instruction Cache Tag; rw, ss */
53 #define ASI_M_TXTC_DATA 0x0D /* Instruction Cache Data; rw, ss */
54 #define ASI_M_DATAC_TAG 0x0E /* Data Cache Tag; rw, ss */
55 #define ASI_M_DATAC_DATA 0x0F /* Data Cache Data; rw, ss */
57 /* The following cache flushing ASIs work only with the 'sta'
63 #define ASI_M_FLUSH_PAGE 0x10 /* Flush I&D Cache Line (page); wo, ss */
64 #define ASI_M_FLUSH_SEG 0x11 /* Flush I&D Cache Line (seg); wo, ss */
[all …]
/linux/Documentation/driver-api/md/
H A Draid5-cache.rst2 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/arch/sparc/lib/
H A DM7memset.S15 * 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 …]
/linux/arch/powerpc/include/uapi/asm/
H A Dauxvec.h1 /* 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 …]

12345678910>>...39