Home
last modified time | relevance | path

Searched full:zone (Results 1 – 25 of 655) sorted by relevance

12345678910>>...27

/linux/drivers/block/null_blk/
H A Dzoned.c25 struct nullb_zone *zone) in null_init_zone_lock() argument
28 spin_lock_init(&zone->spinlock); in null_init_zone_lock()
30 mutex_init(&zone->mutex); in null_init_zone_lock()
34 struct nullb_zone *zone) in null_lock_zone() argument
37 spin_lock_irq(&zone->spinlock); in null_lock_zone()
39 mutex_lock(&zone->mutex); in null_lock_zone()
43 struct nullb_zone *zone) in null_unlock_zone() argument
46 spin_unlock_irq(&zone->spinlock); in null_unlock_zone()
48 mutex_unlock(&zone->mutex); in null_unlock_zone()
55 struct nullb_zone *zone; in null_init_zoned_dev() local
[all …]
/linux/drivers/md/dm-vdo/
H A Dlogical-zone.c6 #include "logical-zone.h"
21 #include "physical-zone.h"
47 * initialize_zone() - Initialize a logical zone.
48 * @zones: The logical_zones to which this zone belongs.
55 struct logical_zone *zone = &zones->zones[zone_number]; in initialize_zone() local
58 result = vdo_int_map_create(VDO_LOCK_MAP_CAPACITY, &zone->lbn_operations); in initialize_zone()
63 zone->next = &zones->zones[zone_number + 1]; in initialize_zone()
65 vdo_initialize_completion(&zone->completion, vdo, in initialize_zone()
67 zone->zones = zones; in initialize_zone()
68 zone->zone_number = zone_number; in initialize_zone()
[all …]
/linux/fs/pstore/
H A Dzone.c26 * struct psz_buffer - header of zone to flush to storage
31 * @data: zone data.
66 * @off: zone offset of storage
67 * @type: front-end type for this zone
68 * @name: front-end name for this zone
69 * @buffer: pointer to data buffer managed by this zone
72 * @should_recover: whether this zone should recover from storage
75 * zone structure in memory.
90 * struct psz_context - all about running state of pstore/zone
93 * @ppsz: pmsg storage zone
[all …]
/linux/fs/xfs/libxfs/
H A Dxfs_zones.c19 struct blk_zone *zone, in xfs_zone_validate_empty() argument
26 xfs_warn(mp, "empty zone %u has non-zero used counter (0x%x).", in xfs_zone_validate_empty()
37 struct blk_zone *zone, in xfs_zone_validate_wp() argument
42 xfs_rtblock_t wp_fsb = xfs_daddr_to_rtb(mp, zone->wp); in xfs_zone_validate_wp()
45 xfs_warn(mp, "zone %u has too large used counter (0x%x).", in xfs_zone_validate_wp()
51 xfs_warn(mp, "zone %u write pointer (0x%llx) outside of zone.", in xfs_zone_validate_wp()
58 xfs_warn(mp, "zone %u has invalid write pointer (0x%x).", in xfs_zone_validate_wp()
68 struct blk_zone *zone, in xfs_zone_validate_full() argument
75 xfs_warn(mp, "zone %u has too large used counter (0x%x).", in xfs_zone_validate_full()
86 struct blk_zone *zone, in xfs_zone_validate_seq() argument
[all …]
/linux/include/uapi/linux/
H A Dblkzoned.h25 * @BLK_ZONE_TYPE_CONVENTIONAL: The zone has no write pointer and can be writen
26 * randomly. Zone reset has no effect on the zone.
27 * @BLK_ZONE_TYPE_SEQWRITE_REQ: The zone must be written sequentially
28 * @BLK_ZONE_TYPE_SEQWRITE_PREF: The zone can be written non-sequentially
39 * enum blk_zone_cond - Condition [state] of a zone in a zoned device.
41 * @BLK_ZONE_COND_NOT_WP: The zone has no write pointer, it is conventional.
42 * @BLK_ZONE_COND_EMPTY: The zone is empty.
43 * @BLK_ZONE_COND_IMP_OPEN: The zone is open, but not explicitly opened.
45 * OPEN ZONE command.
46 * @BLK_ZONE_COND_CLOSED: The zone was [explicitly] closed after writing.
[all …]
/linux/drivers/md/
H A Ddm-zoned-metadata.c33 * blocks indicating zone block validity.
39 * the first conventional zone found on disk.
87 * and give the zone ID (dzone_id) mapping the chunk on disk.
88 * This zone may be sequential or random. If it is a sequential
89 * zone, a second zone (bzone_id) used as a write buffer may
90 * also be specified. This second zone will always be a randomly
91 * writeable zone.
137 struct dm_zone *zone; member
174 /* Zone information array */
192 /* Zone allocation management */
[all …]
H A Ddm-zoned.h93 * Zone descriptor.
96 /* For listing the zone depending on its state */
99 /* Device containing this zone */
102 /* Zone type and state */
105 /* Zone activation reference count */
108 /* Zone id */
111 /* Zone write pointer block (relative to the zone start block) */
114 /* Zone weight (number of valid blocks in the zone) */
117 /* The chunk that the zone maps */
121 * For a sequential data zone, pointer to the random zone
[all …]
H A Ddm-zoned-target.c17 * Zone BIO context.
21 struct dm_zone *zone; member
86 struct dm_zone *zone = bioctx->zone; in dmz_bio_endio() local
88 if (zone) { in dmz_bio_endio()
91 dmz_is_seq(zone)) in dmz_bio_endio()
92 set_bit(DMZ_SEQ_WRITE_ERR, &zone->flags); in dmz_bio_endio()
93 dmz_deactivate_zone(zone); in dmz_bio_endio()
116 static int dmz_submit_bio(struct dmz_target *dmz, struct dm_zone *zone, in dmz_submit_bio() argument
122 struct dmz_dev *dev = zone->dev; in dmz_submit_bio()
134 dmz_start_sect(dmz->metadata, zone) + dmz_blk2sect(chunk_block); in dmz_submit_bio()
[all …]
H A Ddm-zone.c14 #define DM_MSG_PREFIX "zone"
17 * For internal zone reports bypassing the top BIO submission path.
50 * User facing dm device block device report zone operation. This calls the
66 * Zone revalidation during __bind() is in progress, but this in dm_blk_report_zones()
75 /* Zone revalidation during __bind() */ in dm_blk_report_zones()
89 static int dm_report_zones_cb(struct blk_zone *zone, unsigned int idx, in dm_report_zones_cb() argument
98 if (zone->start >= args->start + args->tgt->len) in dm_report_zones_cb()
102 * Remap the start sector and write pointer position of the zone in dm_report_zones_cb()
105 zone->start += sector_diff; in dm_report_zones_cb()
106 if (zone->type != BLK_ZONE_TYPE_CONVENTIONAL) { in dm_report_zones_cb()
[all …]
/linux/Documentation/filesystems/
H A Dzonefs.rst4 ZoneFS - Zone filesystem for Zoned block devices
10 zonefs is a very simple file system exposing each zone of a zoned block device
24 by allowing SSTables to be stored in a zone file similarly to a regular file
26 of the higher level construct "one file is one zone" can help reducing the
34 space that is divided into zones. A zone is a group of consecutive LBAs and all
41 sequentially. Each sequential zone has a write pointer maintained by the
43 to the device. As a result of this write constraint, LBAs in a sequential zone
45 command (zone reset) before rewriting.
61 representing zones are grouped by zone type, which are themselves represented
62 by sub-directories. This file structure is built entirely using zone information
[all …]
/linux/drivers/block/
H A Dzloop.c7 * zone as backing storage.
60 /* Arbitrary limit on the zone size (16GB). */
147 struct zloop_zone *zone = &zlo->zones[zone_no]; in zloop_update_seq_zone() local
152 lockdep_assert_held(&zone->lock); in zloop_update_seq_zone()
154 ret = vfs_getattr(&zone->file->f_path, &stat, STATX_SIZE, 0); in zloop_update_seq_zone()
156 pr_err("Failed to get zone %u file stat (err=%d)\n", in zloop_update_seq_zone()
158 set_bit(ZLOOP_ZONE_SEQ_ERROR, &zone->flags); in zloop_update_seq_zone()
164 pr_err("Zone %u file too large (%llu sectors > %llu)\n", in zloop_update_seq_zone()
170 pr_err("Zone %u file size not aligned to block size %u\n", in zloop_update_seq_zone()
176 zone->cond = BLK_ZONE_COND_EMPTY; in zloop_update_seq_zone()
[all …]
/linux/block/
H A Dblk-zoned.c40 * Per-zone write plug.
42 * @ref: Zone write plug reference counter. A zone write plug reference is
48 * reference is dropped whenever the zone of the zone write plug is reset,
49 * finished and when the zone becomes full (last write BIO to the zone
53 * @zone_no: The number of the zone the plug is managing.
54 * @wp_offset: The zone write pointer location relative to the start of the zone
58 * @rcu_head: RCU head to free zone write plugs with an RCU grace period.
75 * Zone write plug flags bits:
76 * - BLK_ZONE_WPLUG_PLUGGED: Indicates that the zone write plug is plugged,
78 * being executed or the zone write plug bio list is not empty.
[all …]
/linux/mm/
H A Dshow_mem.c26 static inline void show_node(struct zone *zone) in show_node() argument
29 printk("Node %d ", zone_to_nid(zone)); in show_node()
38 struct zone *zone; in si_mem_available() local
40 for_each_zone(zone) in si_mem_available()
41 wmark_low += low_wmark_pages(zone); in si_mem_available()
98 struct zone *zone = &pgdat->node_zones[zone_type]; in si_meminfo_node() local
99 managed_pages += zone_managed_pages(zone); in si_meminfo_node()
100 if (is_highmem(zone)) { in si_meminfo_node()
101 managed_highpages += zone_managed_pages(zone); in si_meminfo_node()
102 free_highpages += zone_page_state(zone, NR_FREE_PAGES); in si_meminfo_node()
[all …]
H A Dpage_alloc.c13 * Zone balancing, Kanoj Sarcar, SGI, Jan 2000
82 * shuffle the whole zone).
94 /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */
281 /* movable_zone is the "real" zone pages in ZONE_MOVABLE are taken from */
293 static bool cond_accept_memory(struct zone *zone, unsigned int order,
319 _deferred_grow_zone(struct zone *zone, unsigned int order) in _deferred_grow_zone() argument
321 return deferred_grow_zone(zone, order); in _deferred_grow_zone()
329 static inline bool _deferred_grow_zone(struct zone *zone, unsigned int order) in _deferred_grow_zone() argument
578 static int page_outside_zone_boundaries(struct zone *zone, struct page *page) in page_outside_zone_boundaries() argument
586 seq = zone_span_seqbegin(zone); in page_outside_zone_boundaries()
[all …]
H A Dvmstat.c39 /* zero numa counters within a zone */
40 static void zero_zone_numa_counters(struct zone *zone) in zero_zone_numa_counters() argument
45 atomic_long_set(&zone->vm_numa_event[item], 0); in zero_zone_numa_counters()
47 per_cpu_ptr(zone->per_cpu_zonestats, cpu)->vm_numa_event[item] in zero_zone_numa_counters()
56 struct zone *zone; in zero_zones_numa_counters() local
58 for_each_populated_zone(zone) in zero_zones_numa_counters()
59 zero_zone_numa_counters(zone); in zero_zones_numa_counters()
161 * Manage combined zone based / global counters
172 static void fold_vm_zone_numa_events(struct zone *zone) in fold_vm_zone_numa_events() argument
181 pzstats = per_cpu_ptr(zone->per_cpu_zonestats, cpu); in fold_vm_zone_numa_events()
[all …]
H A Dcompaction.c73 * the "fragmentation score" of a node/zone.
126 static void defer_compaction(struct zone *zone, int order) in defer_compaction() argument
128 zone->compact_considered = 0; in defer_compaction()
129 zone->compact_defer_shift++; in defer_compaction()
131 if (order < zone->compact_order_failed) in defer_compaction()
132 zone->compact_order_failed = order; in defer_compaction()
134 if (zone->compact_defer_shift > COMPACT_MAX_DEFER_SHIFT) in defer_compaction()
135 zone->compact_defer_shift = COMPACT_MAX_DEFER_SHIFT; in defer_compaction()
137 trace_mm_compaction_defer_compaction(zone, order); in defer_compaction()
141 static bool compaction_deferred(struct zone *zone, int order) in compaction_deferred() argument
[all …]
H A Dmm_init.c69 struct zone *zone; in mminit_verify_zonelist() local
76 /* Identify the zone and nodelist */ in mminit_verify_zonelist()
80 zone = &pgdat->node_zones[zoneid]; in mminit_verify_zonelist()
81 if (!populated_zone(zone)) in mminit_verify_zonelist()
87 zone->name); in mminit_verify_zonelist()
90 for_each_zone_zonelist(zone, z, zonelist, zoneid) in mminit_verify_zonelist()
91 pr_cont("%d:%s ", zone_to_nid(zone), zone->name); in mminit_verify_zonelist()
105 "Section %d Node %d Zone %d Lastcpupid %d Kasantag %d Gen %d Tier %d Flags %d\n", in mminit_verify_pageflags_layout()
115 "Section %d Node %d Zone %d Lastcpupid %d Kasantag %d\n", in mminit_verify_pageflags_layout()
122 "Section %lu Node %lu Zone %lu Lastcpupid %lu Kasantag %lu\n", in mminit_verify_pageflags_layout()
[all …]
/linux/tools/power/cpupower/lib/
H A Dpowercap.c124 static int sysfs_powercap_get64_val(struct powercap_zone *zone, in sysfs_powercap_get64_val() argument
132 strcat(file, zone->sys_name); in sysfs_powercap_get64_val()
146 int powercap_get_max_energy_range_uj(struct powercap_zone *zone, uint64_t *val) in powercap_get_max_energy_range_uj() argument
148 return sysfs_powercap_get64_val(zone, GET_MAX_ENERGY_RANGE_UJ, val); in powercap_get_max_energy_range_uj()
151 int powercap_get_energy_uj(struct powercap_zone *zone, uint64_t *val) in powercap_get_energy_uj() argument
153 return sysfs_powercap_get64_val(zone, GET_ENERGY_UJ, val); in powercap_get_energy_uj()
156 int powercap_get_max_power_range_uw(struct powercap_zone *zone, uint64_t *val) in powercap_get_max_power_range_uw() argument
158 return sysfs_powercap_get64_val(zone, GET_MAX_POWER_RANGE_UW, val); in powercap_get_max_power_range_uw()
161 int powercap_get_power_uw(struct powercap_zone *zone, uint64_t *val) in powercap_get_power_uw() argument
163 return sysfs_powercap_get64_val(zone, GET_POWER_UW, val); in powercap_get_power_uw()
[all …]
/linux/include/linux/
H A Dmemory_hotplug.h11 struct zone;
22 /* Types for control the zone type of onlined and offlined memory */
26 /* Online the memory. Zone depends, see default_zone_for_pfn(). */
95 * Zone resizing functions
97 * Note: any attempt to resize a zone should has pgdat_resize_lock()
98 * zone_span_writelock() both held. This ensure the size of a zone
101 static inline unsigned zone_span_seqbegin(struct zone *zone) in zone_span_seqbegin() argument
103 return read_seqbegin(&zone->span_seqlock); in zone_span_seqbegin()
105 static inline int zone_span_seqretry(struct zone *zone, unsigned iv) in zone_span_seqretry() argument
107 return read_seqretry(&zone->span_seqlock, iv); in zone_span_seqretry()
[all …]
H A Dmmzone.h150 NUMA_INTERLEAVE_HIT, /* interleaver preferred this zone */
724 * zone lock contention and keep cache-hot pages reusing.
813 * faulted, they come from the right zone right away. However, it is
817 * to a different zone. When migration fails - pinning fails.
838 * on different platforms may end up in a movable zone. ZERO_PAGE(0)
841 * memory to the MOVABLE zone, the vmemmap pages are also placed in
842 * such zone. Such pages cannot be really moved around as they are
864 struct zone { struct
867 /* zone watermarks, access with *_wmark_pages(zone) macros */
877 * wasting several GB of ram we must reserve some of the lower zone argument
[all …]
/linux/drivers/md/dm-vdo/indexer/
H A Dindex.c30 * get different numbers of records, some zones may fall behind others. Each time a zone fills up
32 * and also informs all other zones that it has closed the chapter. Each other zone will then close
34 * Once every zone has closed the chapter, the chapter writer will commit that chapter to storage.
36 * The last zone to close the chapter also removes the oldest chapter from the volume index.
38 * means that those zones will never ask the volume index about it. No zone is allowed to get more
39 * than one chapter ahead of any other. If a zone is so far ahead that it tries to close another
43 * request wants to add a chapter to the sparse cache, it sends a barrier message to each zone
44 * during the triage stage that acts as a rendezvous. Once every zone has reached the barrier and
45 * paused its operations, the cache membership is changed and each zone is then informed that it
48 * If a sparse cache has only one zone, it will not create a triage queue, but it still needs the
[all …]
/linux/fs/zonefs/
H A Dsuper.c32 * Get the name of a zone group directory.
48 * Manage the active zone count.
66 * If the zone is active, that is, if it is explicitly open or in zonefs_account_active()
79 /* The zone is not active. If it was, update the active count */ in zonefs_account_active()
87 * Manage the active zone count. Called with zi->i_truncate_mutex held.
97 * Execute a zone management operation.
105 * With ZNS drives, closing an explicitly open zone that has not been in zonefs_zone_mgmt()
106 * written will change the zone state to "closed", that is, the zone in zonefs_zone_mgmt()
108 * open operation on other zones if the drive active zone resources in zonefs_zone_mgmt()
109 * are exceeded, make sure that the zone does not remain active by in zonefs_zone_mgmt()
[all …]
/linux/Documentation/driver-api/thermal/
H A Dsysfs-api.rst13 The generic thermal sysfs provides a set of interfaces for thermal zone
17 This how-to focuses on enabling new thermal zone and cooling devices to
19 This solution is platform independent and any type of thermal zone devices
22 The main task of the thermal sysfs driver is to expose thermal zone attributes
25 inputs from thermal zone attributes (the current temperature and trip point
34 1.1 thermal zone device interface
48 This interface function adds a new thermal zone device (sensor) to the
53 the thermal zone type.
55 the table of trip points for this thermal zone.
59 thermal zone device call-backs.
[all …]
/linux/Documentation/admin-guide/device-mapper/
H A Ddm-zoned.rst54 Data in these zones may be directly mapped to the conventional zone, but
55 later moved to a sequential zone so that the conventional zone can be
65 1) The first block of the first conventional zone found contains the
73 indicates the zone number of the device storing the chunk of data. Each
74 mapping entry may also indicate if the zone number of a conventional
75 zone used to buffer random modification to the data zone.
80 data chunk, a block is always valid only in the data zone mapping the
81 chunk or in the buffer zone of the chunk.
83 For a logical chunk mapped to a conventional zone, all write operations
84 are processed by directly writing to the zone. If the mapping zone is a
[all …]
/linux/include/net/netfilter/
H A Dnf_conntrack_zones.h12 return &ct->zone; in nf_ct_zone()
19 nf_ct_zone_init(struct nf_conntrack_zone *zone, u16 id, u8 dir, u8 flags) in nf_ct_zone_init() argument
21 zone->id = id; in nf_ct_zone_init()
22 zone->flags = flags; in nf_ct_zone_init()
23 zone->dir = dir; in nf_ct_zone_init()
25 return zone; in nf_ct_zone_init()
36 if (tmpl->zone.flags & NF_CT_FLAG_MARK) in nf_ct_zone_tmpl()
37 return nf_ct_zone_init(tmp, skb->mark, tmpl->zone.dir, 0); in nf_ct_zone_tmpl()
43 const struct nf_conntrack_zone *zone) in nf_ct_zone_add() argument
46 ct->zone = *zone; in nf_ct_zone_add()
[all …]

12345678910>>...27