Home
last modified time | relevance | path

Searched full:zones (Results 1 – 25 of 488) sorted by relevance

12345678910>>...20

/linux/drivers/md/dm-vdo/
H A Dlogical-zone.c41 struct logical_zones *zones = context; in get_thread_id_for_zone() local
43 return zones->zones[zone_number].thread_id; in get_thread_id_for_zone()
48 * @zones: The logical_zones to which this zone belongs.
51 static int initialize_zone(struct logical_zones *zones, zone_count_t zone_number) in initialize_zone() argument
54 struct vdo *vdo = zones->vdo; in initialize_zone()
55 struct logical_zone *zone = &zones->zones[zone_number]; in initialize_zone()
63 zone->next = &zones->zones[zone_number + 1]; in initialize_zone()
67 zone->zones = zones; in initialize_zone()
70 zone->block_map_zone = &vdo->block_map->zones[zone_number]; in initialize_zone()
75 zone->allocation_zone = &vdo->physical_zones->zones[allocation_zone_number]; in initialize_zone()
[all …]
H A Ddedupe.c296 /* The number of zones */
298 /* The hash zones themselves */
299 struct hash_zone zones[]; member
2040 static void close_index(struct hash_zones *zones) in close_index() argument
2041 __must_hold(&zones->lock) in close_index()
2049 zones->index_state = IS_CHANGING; in close_index()
2051 spin_unlock(&zones->lock); in close_index()
2052 result = uds_close_index(zones->index_session); in close_index()
2056 spin_lock(&zones->lock); in close_index()
2057 zones->index_state = IS_CLOSED; in close_index()
[all …]
H A Ddedupe.h83 void vdo_free_hash_zones(struct hash_zones *zones);
85 void vdo_drain_hash_zones(struct hash_zones *zones, struct vdo_completion *parent);
87 void vdo_get_dedupe_statistics(struct hash_zones *zones, struct vdo_statistics *stats);
89 struct hash_zone * __must_check vdo_select_hash_zone(struct hash_zones *zones,
92 void vdo_dump_hash_zones(struct hash_zones *zones);
94 const char *vdo_get_dedupe_index_state_name(struct hash_zones *zones);
96 u64 vdo_get_dedupe_index_timeout_count(struct hash_zones *zones);
98 int vdo_message_dedupe_index(struct hash_zones *zones, const char *name);
100 void vdo_set_dedupe_state_normal(struct hash_zones *zones);
102 void vdo_start_dedupe_index(struct hash_zones *zones, bool create_flag);
[all …]
H A Dphysical-zone.c322 * @zones: The physical_zones to which the zone being initialized belongs
326 static int initialize_zone(struct vdo *vdo, struct physical_zones *zones) in initialize_zone() argument
329 zone_count_t zone_number = zones->zone_count; in initialize_zone()
330 struct physical_zone *zone = &zones->zones[zone_number]; in initialize_zone()
345 zone->next = &zones->zones[(zone_number + 1) % vdo->thread_config.physical_zone_count]; in initialize_zone()
356 * vdo_make_physical_zones() - Make the physical zones for a vdo.
358 * @zones_ptr: A pointer to hold the zones
364 struct physical_zones *zones; in vdo_make_physical_zones() local
372 struct physical_zone, __func__, &zones); in vdo_make_physical_zones()
376 for (zones->zone_count = 0; zones->zone_count < zone_count; zones->zone_count++) { in vdo_make_physical_zones()
[all …]
H A Dlogical-zone.h21 struct logical_zones *zones; member
56 /* The vdo whose zones these are */
60 /* The number of zones */
62 /* The logical zones themselves */
63 struct logical_zone zones[]; member
69 void vdo_free_logical_zones(struct logical_zones *zones);
71 void vdo_drain_logical_zones(struct logical_zones *zones,
75 void vdo_resume_logical_zones(struct logical_zones *zones,
H A Daction-manager.c18 * struct action - An action to be performed in each of a set of zones.
45 * @zones: The number of zones in which an action is to be applied.
58 zone_count_t zones; member
92 * @zones: The number of zones to which actions will be applied.
103 int vdo_make_action_manager(zone_count_t zones, in vdo_make_action_manager() argument
116 .zones = zones, in vdo_make_action_manager()
181 "%s() called on acting zones's thread", __func__); in apply_to_zone()
184 if (manager->acting_zone == manager->zones) { in apply_to_zone()
276 * vdo_schedule_action() - Schedule an action to be applied to all zones.
282 * applied to all zones; may be NULL.
[all …]
H A Daction-manager.h24 * an optional method to be run on the initiator thread before applying the action to all zones
26 * an optional method to be applied to each of the zones
29 * applied to all zones
37 * A function which is to be applied asynchronously to a set of zones.
79 int __must_check vdo_make_action_manager(zone_count_t zones,
H A Dphysical-zone.h72 /* The number of zones */
74 /* The physical zones themselves */
75 struct physical_zone zones[]; member
97 void vdo_free_physical_zones(struct physical_zones *zones);
/linux/Documentation/admin-guide/device-mapper/
H A Ddm-zoned.rst25 host-managed disk with 256 MB zones, dm-zoned memory usage per disk
26 instance is at most 4.5 MB and as little as 5 zones will be used
38 write accesses to the sequential zones of a zoned block device.
39 Conventional zones are used for caching as well as for storing internal
42 in zones with the same size as the zoned block device. These zones will be
43 placed in front of the zones from the zoned block device and will be handled
44 just like conventional zones.
46 The zones of the device(s) are separated into 2 types:
48 1) Metadata zones: these are conventional zones used to store metadata.
49 Metadata zones are not reported as usable capacity to the user.
[all …]
/linux/Documentation/filesystems/
H A Dzonefs.rst14 write zones of the device must be written sequentially starting from the end
34 space that is divided into zones. A zone is a group of consecutive LBAs and all
35 zones are contiguous (there are no LBA gaps). Zones may have different types.
37 * Conventional zones: there are no access constraints to LBAs belonging to
38 conventional zones. Any read or write access can be executed, similarly to a
40 * Sequential zones: these zones accept random reads but must be written
44 cannot be overwritten. Sequential zones must first be erased using a special
60 Zonefs exposes the zones of a zoned block device as files. The files
61 representing zones are grouped by zone type, which are themselves represented
85 Files representing zones of the same type are grouped together under the same
[all …]
/linux/fs/btrfs/
H A Dzoned.c22 /* Maximum number of zones to report per blkdev_report_zones() call */
43 /* Number of superblock log zones */
46 /* Default number of max active zones when the device has no limits. */
50 * Minimum of active zones we need:
52 * - BTRFS_SUPER_MIRROR_MAX zones for superblock mirrors
53 * - 3 zones to ensure at least one zone per SYSTEM, META and DATA block group
81 struct blk_zone *zones = data; in copy_zone_info_cb() local
83 memcpy(&zones[idx], zone, sizeof(*zone)); in copy_zone_info_cb()
88 static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones, in sb_write_pointer() argument
96 ASSERT(zones[i].type != BLK_ZONE_TYPE_CONVENTIONAL, in sb_write_pointer()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Dalloc.c226 struct mlx4_zone_allocator *zones = kmalloc(sizeof(*zones), GFP_KERNEL); in mlx4_zone_allocator_create() local
228 if (NULL == zones) in mlx4_zone_allocator_create()
231 INIT_LIST_HEAD(&zones->entries); in mlx4_zone_allocator_create()
232 INIT_LIST_HEAD(&zones->prios); in mlx4_zone_allocator_create()
233 spin_lock_init(&zones->lock); in mlx4_zone_allocator_create()
234 zones->last_uid = 0; in mlx4_zone_allocator_create()
235 zones->mask = 0; in mlx4_zone_allocator_create()
236 zones->flags = flags; in mlx4_zone_allocator_create()
238 return zones; in mlx4_zone_allocator_create()
426 struct mlx4_zone_allocator *zones, u32 uid) in __mlx4_find_zone_by_uid() argument
[all …]
/linux/fs/xfs/
H A Dxfs_zone_priv.h17 * For conventional zones it also is the offset of the next write.
52 * Number of bitmap buckets to track reclaimable zones. There are 10 buckets
54 * only has to walk the bitmaps of the lesser used zones if there are any.
66 * List and number of open zones:
73 * Free zone search cursor and number of free zones:
79 * Wait queue to wait for free zones or open zone resources to become
96 * List of zones that need a reset:
102 * A set of bitmaps to bucket-sort reclaimable zones by used blocks to help
H A Dxfs_zone_alloc.c93 * add the zones to the right buckets before the file systems becomes in xfs_zone_account_reclaimable()
121 * and wake up GC which might be waiting for zones to reclaim. in xfs_zone_account_reclaimable()
142 * Check if we have any zones that can be reclaimed by looking at the entry
400 * Don't add open zones to the reclaimable buckets. The I/O completion in xfs_zone_free_blocks()
652 * instead of trying to open new zones for them or spread them to the least
687 * Try to fill up open zones with matching temperature if available. It in xfs_select_zone_nowait()
689 * activate empty zones when it is statistically better to separate in xfs_select_zone_nowait()
807 * GC only steals open zones at mount time, so no GC zones in xfs_get_cached_zone()
972 * Wait for all open zones to be freed so that they drop the group in xfs_free_open_zones()
1000 * For sequential write required zones we retrieved the hardware write in xfs_init_zone()
[all …]
/linux/include/uapi/linux/
H A Dblkzoned.h23 * enum blk_zone_type - Types of zones allowed in a zoned device.
44 * @BLK_ZONE_COND_EXP_OPEN: The zones was explicitly opened by an
150 * @zones: Space to hold @nr_zones @zones entries on reply.
158 struct blk_zone zones[];
166 * @nr_sectors: Total number of sectors of all zones to operate on.
186 * may include zones with the condition @BLK_ZONE_COND_ACTIVE
189 * @BLKRESETZONE: Reset the write pointer of the zones in the specified
192 * @BLKGETNRZONES: Get the total number of zones of the device.
193 * @BLKOPENZONE: Open the zones i
133 struct blk_zone zones[]; global() member
[all...]
/linux/drivers/md/
H A Ddm-zone.c95 * Ignore zones beyond the target range. in dm_report_zones_cb()
164 * Revalidate the zones of a mapped device to initialize resource necessary
201 DMERR("Revalidate zones failed %d", ret); in dm_revalidate_zones()
240 * Count the total number of and the number of mapped sequential zones of a
294 * number of mapped sequential zones: if this number is smaller than the in device_get_zone_resource_limits()
295 * total number of sequential zones of the target device, then resource in device_get_zone_resource_limits()
300 DMERR("Count %s zones failed %d", disk->disk_name, ret); in device_get_zone_resource_limits()
305 * If the target does not map any sequential zones, then we do not need in device_get_zone_resource_limits()
312 * If the target does not map all sequential zones, the limits in device_get_zone_resource_limits()
321 * If the target maps less sequential zones than the limit values, then in device_get_zone_resource_limits()
[all …]
/linux/Documentation/power/powercap/
H A Dpowercap.rst19 Power zones represent different parts of the system, which can be controlled and
23 the system represented by different power zones are hierarchical (that is, one
25 controls), those power zones may also be organized in a hierarchy with one
150 control type called intel-rapl which contains two power zones, intel-rapl:0 and
151 intel-rapl:1, representing CPU packages. Each of these power zones contains
154 the zones and subzones contain energy monitoring attributes (energy_uj,
156 to be applied (the constraints in the 'package' power zones apply to the whole
170 Depending on different power zones, the Intel RAPL technology allows
173 All the zones contain attributes representing the constraint names,
245 enabled (rw): Enable/Disable controls at zone level or for all zones using
/linux/drivers/powercap/
H A Darm_scmi_powercap.c266 /* Un-register children zones first starting from the leaves */ in scmi_powercap_unregister_all_zones()
332 * scmi_zones_register- Register SCMI powercap zones starting from parent zones
335 * @pr: A reference to the root powercap zones descriptors
337 * When registering SCMI powercap zones with the powercap framework we should
338 * take care to always register zones starting from the root ones and to
342 * zones provided by the SCMI platform firmware is built to comply with such
345 * This function, given the set of SCMI powercap zones to register, takes care
346 * to walk the SCMI powercap zones trees up to the root registering any
347 * unregistered parent zone before registering the child zones; at the same
351 * the @registered_zones array backward and unregister all the zones starting
[all …]
/linux/fs/zonefs/
H A Dsuper.c3 * Simple file system for zoned block devices exposing zones as files.
59 * For zones that transitioned to the offline or readonly condition, in zonefs_account_active()
108 * open operation on other zones if the drive active zone resources in zonefs_zone_mgmt()
202 * The write pointer of read-only zones is invalid, so we cannot in zonefs_check_zone_condition()
216 /* The write pointer of full zones is invalid. */ in zonefs_check_zone_condition()
227 * offline and readonly zones.
234 /* Offline zones cannot be read nor written */ in zonefs_inode_update_mode()
238 /* Readonly zones cannot be written */ in zonefs_inode_update_mode()
304 * First handle bad zones signaled by hardware. The mount options in zonefs_handle_io_error()
396 * may prevent IO forward progress. Executing the report zones under in __zonefs_io_error()
[all …]
/linux/fs/xfs/libxfs/
H A Dxfs_zones.h9 * two zones: one that will be used for moving data into and one spare zone
18 * In addition we need two zones for user writes, one open zone for writing
33 * For zoned devices that do not have a limit on the number of open zones, and
35 * limit (128) as the default limit on the number of open zones.
/linux/block/
H A Dblk-zoned.c167 * The condition of a conventional, readonly and offline zones in disk_zone_set_cond()
238 * blkdev_report_zones - Get zones information
240 * @sector: Sector from which to report zones
241 * @nr_zones: Maximum number of zones to report
248 * To report all zones in a device starting from @sector, the BLK_ALL_ZONES
250 * Returns the number of zones reported by the device, or a negative errno
278 * blkdev_zone_mgmt - Execute a zone management operation on a range of zones
280 * @op: Operation to be performed on the zones
286 * Perform the specified operation on the range of zones specified by
288 * is valid, but the specified range should not contain conventional zones.
[all …]
/linux/fs/pstore/
H A Dzone.c4 * allocated zones that are then mapped and flushed into a single
92 * @kpszs: kmsg dump storage zones
95 * @fpszs: ftrace storage zones
256 /* flush dirty zones nicely */ in psz_zone_write()
281 static int psz_flush_dirty_zones(struct pstore_zone **zones, unsigned int cnt) in psz_flush_dirty_zones() argument
286 if (!zones) in psz_flush_dirty_zones()
290 zone = zones[i]; in psz_flush_dirty_zones()
569 struct pstore_zone **zones, unsigned int cnt) in psz_recover_zones() argument
575 if (!zones) in psz_recover_zones()
579 zone = zones[i]; in psz_recover_zones()
[all …]
/linux/drivers/md/dm-vdo/indexer/
H A Dindex.h21 * The index is divided into a number of independent zones and assigns each request to a zone based
22 * on its name. Most sub-components are similarly divided into zones as well so that requests in
23 * each zone usually operate without interference or coordination between zones.
45 struct index_zone **zones; member
H A Dopen-chapter.c20 * open chapter space. Records are assigned to zones based on their record name. Within each zone,
41 * different number of zones than previously, so the records must be parcelled out to their new
42 * zones. In addition, depending on the distribution of record names, a new zone may have more
240 /* The record arrays in the zones are 1-based. */ in fill_delta_chapter_index()
313 open_chapter = index->zones[z]->open_chapter; in uds_save_open_chapter()
326 open_chapter = index->zones[z]->open_chapter; in uds_save_open_chapter()
364 * Track which zones cannot accept any more records. If the open chapter had a different in load_version20()
365 * number of zones previously, some new zones may have more records than they have space in load_version20()
394 open_chapter = index->zones[zone]->open_chapter; in load_version20()
/linux/sound/soc/
H A Dsoc-jack.c80 * snd_soc_jack_add_zones - Associate voltage zones with jack
83 * @count: Number of zones
84 * @zones: Array of zones
86 * After this function has been called the zones specified in the
90 struct snd_soc_jack_zone *zones) in snd_soc_jack_add_zones() argument
95 INIT_LIST_HEAD(&zones[i].list); in snd_soc_jack_add_zones()
96 list_add(&(zones[i].list), &jack->jack_zones); in snd_soc_jack_add_zones()
104 * the type of jack from the zones declared in the jack type
110 * the type of jack from the already declared jack zones
[all...]

12345678910>>...20