Home
last modified time | relevance | path

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

12345678910>>...16

/Linux-v5.15/Documentation/admin-guide/device-mapper/
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 useable capacity to the user.
[all …]
/Linux-v5.15/fs/btrfs/
Dzoned.c17 /* Maximum number of zones to report per blkdev_report_zones() call */
38 /* Number of superblock log zones */
50 struct blk_zone *zones = data; in copy_zone_info_cb() local
52 memcpy(&zones[idx], zone, sizeof(*zone)); in copy_zone_info_cb()
57 static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones, in sb_write_pointer() argument
64 ASSERT(zones[0].type != BLK_ZONE_TYPE_CONVENTIONAL && in sb_write_pointer()
65 zones[1].type != BLK_ZONE_TYPE_CONVENTIONAL); in sb_write_pointer()
67 empty[0] = (zones[0].cond == BLK_ZONE_COND_EMPTY); in sb_write_pointer()
68 empty[1] = (zones[1].cond == BLK_ZONE_COND_EMPTY); in sb_write_pointer()
69 full[0] = (zones[0].cond == BLK_ZONE_COND_FULL); in sb_write_pointer()
[all …]
Dreada.c60 struct reada_zone *zones[BTRFS_MAX_MIRRORS]; member
373 re->zones[re->nzones++] = zone; in reada_find_extent()
417 dev = re->zones[nzones]->device; in reada_find_extent()
447 dev = re->zones[nzones]->device; in reada_find_extent()
474 zone = re->zones[nzones]; in reada_find_extent()
510 struct reada_zone *zone = re->zones[i]; in reada_extent_put()
518 struct reada_zone *zone = re->zones[i]; in reada_extent_put()
746 if (re->zones[i]->device == dev) { in reada_start_machine_dev()
906 re->zones[i]->start, in dump_devs()
907 re->zones[i]->end); in dump_devs()
[all …]
/Linux-v5.15/Documentation/filesystems/
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-v5.15/drivers/net/ethernet/mellanox/mlx4/
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 …]
Dqp.c239 *base = mlx4_zone_alloc_entries(qp_table->zones, uid, cnt, align, in __mlx4_qp_reserve_range()
282 mlx4_zone_free_entries_unique(qp_table->zones, base_qpn, cnt); in __mlx4_qp_release_range()
558 qp_table->zones = mlx4_zone_allocator_create(MLX4_ZONE_ALLOC_FLAGS_NO_OVERLAP); in mlx4_create_zones()
560 if (NULL == qp_table->zones) in mlx4_create_zones()
579 err = mlx4_zone_add_one(qp_table->zones, *bitmap + MLX4_QP_TABLE_ZONE_GENERAL, in mlx4_create_zones()
598 err = mlx4_zone_add_one(qp_table->zones, *bitmap + MLX4_QP_TABLE_ZONE_RSS, in mlx4_create_zones()
694 /* Add an empty bitmap, we'll allocate from different zones (since in mlx4_create_zones()
708 err = mlx4_zone_add_one(qp_table->zones, *bitmap + k, in mlx4_create_zones()
730 mlx4_zone_allocator_destroy(qp_table->zones); in mlx4_create_zones()
738 if (qp_table->zones) { in mlx4_cleanup_qp_zones()
[all …]
/Linux-v5.15/block/
Dblk-zoned.c112 * blkdev_nr_zones - Get number of zones
115 * Return the total number of zones of a zoned block device. For a block
116 * device without zone capabilities, the number of zones is always 0.
129 * blkdev_report_zones - Get zones information
131 * @sector: Sector from which to report zones
132 * @nr_zones: Maximum number of zones to report
139 * To report all zones in a device starting from @sector, the BLK_ALL_ZONES
141 * Returns the number of zones reported by the device, or a negative errno
175 * For an all-zones reset, ignore conventional, empty, read-only in blk_zone_need_reset_cb()
176 * and offline zones. in blk_zone_need_reset_cb()
[all …]
/Linux-v5.15/include/uapi/linux/
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
125 * @zones: Space to hold @nr_zones @zones entries on reply.
133 struct blk_zone zones[0]; member
141 * @nr_sectors: Total number of sectors of all zones to operate on.
154 * @BLKRESETZONE: Reset the write pointer of the zones in the specified
157 * @BLKGETNRZONES: Get the total number of zones of the device.
158 * @BLKOPENZONE: Open the zones in the specified sector range.
160 * @BLKCLOSEZONE: Close the zones in the specified sector range.
162 * @BLKFINISHZONE: Mark the zones as full in the specified sector range.
/Linux-v5.15/drivers/block/null_blk/
Dzoned.c89 dev->zones = kvmalloc_array(dev->nr_zones, sizeof(struct nullb_zone), in null_init_zoned_dev()
91 if (!dev->zones) in null_init_zoned_dev()
98 pr_info("changed the number of conventional zones to %u", in null_init_zoned_dev()
102 /* Max active zones has to be < nbr of seq zones in order to be enforceable */ in null_init_zoned_dev()
108 /* Max open zones has to be <= max active zones */ in null_init_zoned_dev()
111 pr_info("changed the maximum number of open zones to %u\n", in null_init_zoned_dev()
121 zone = &dev->zones[i]; in null_init_zoned_dev()
135 zone = &dev->zones[i]; in null_init_zoned_dev()
182 kvfree(dev->zones); in null_free_zoned_dev()
183 dev->zones = NULL; in null_free_zoned_dev()
[all …]
Dnull_blk.h72 struct nullb_zone *zones; member
82 unsigned int zone_nr_conv; /* number of conventional zones */
83 unsigned int zone_max_open; /* max number of open zones */
84 unsigned int zone_max_active; /* max number of active zones */
/Linux-v5.15/Documentation/power/powercap/
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-v5.15/Documentation/vm/
Dbalance.rst43 zone size (and possibly of the size of lower class zones), we can decide
46 of lower class zones, the bad part is, we might do too frequent balancing
47 due to ignoring possibly lower usage in the lower class zones. Also,
52 of a zone _and_ all its lower class zones falls below 1/64th of the
53 total memory in the zone and its lower class zones. This fixes the 2.2
56 which have different numbers and types of zones. If we wanted to get
58 zones in the future.
74 kswapd also needs to know about the zones it should balance. kswapd is
Dnuma.rst76 an ordered "zonelist". A zonelist specifies the zones/nodes to visit when a
81 Because some nodes contain multiple zones containing different types of
84 type on the same node. This is an important consideration because some zones,
86 a default Node ordered zonelist. This means it tries to fallback to other zones
94 nodes' zones in the selected zonelist looking for the first zone in the list
120 zones [nodes] with memory in the zonelists. This means that for a memoryless
/Linux-v5.15/drivers/scsi/
Dsd_zbc.c40 * Offline and read-only zones do not have a valid in sd_zbc_get_zone_wp_offset()
80 * sd_zbc_do_report_zones - Issue a REPORT ZONES scsi command.
88 * Using partial=true can significantly speed up execution of a report zones
90 * zones and will only report the count of zones fitting in the command reply
117 "REPORT ZONES start lba %llu failed\n", lba); in sd_zbc_do_report_zones()
118 sd_print_result(sdkp, "REPORT ZONES", result); in sd_zbc_do_report_zones()
127 "REPORT ZONES report invalid length %u\n", in sd_zbc_do_report_zones()
136 * sd_zbc_alloc_report_buffer() - Allocate a buffer for report zones reply.
138 * @nr_zones: Maximum number of zones to report
141 * Try to allocate a reply buffer for the number of requested zones.
[all …]
/Linux-v5.15/drivers/thermal/tegra/
Dtegra-bpmp-thermal.c30 struct tegra_bpmp_thermal_zone **zones; member
109 if (tegra->zones[i]->idx != req->host_trip_reached.zone) in bpmp_mrq_thermal()
112 schedule_work(&tegra->zones[i]->tz_device_update_work); in bpmp_mrq_thermal()
171 dev_err(&pdev->dev, "failed to get the number of zones: %d\n", in tegra_bpmp_thermal_probe()
176 tegra->zones = devm_kcalloc(&pdev->dev, max_num_zones, in tegra_bpmp_thermal_probe()
177 sizeof(*tegra->zones), GFP_KERNEL); in tegra_bpmp_thermal_probe()
178 if (!tegra->zones) in tegra_bpmp_thermal_probe()
211 tegra->zones[tegra->num_zones++] = zone; in tegra_bpmp_thermal_probe()
/Linux-v5.15/include/linux/
Dsysv_fs.h31 __fs32 s_fsize __packed2__; /* total number of zones of this fs */
44 __fs32 s_tfree __packed2__; /* total number of free zones */
70 __fs32 s_fsize; /* total number of zones of this fs */
86 __fs32 s_tfree; /* total number of free zones */
101 __fs32 s_fsize __packed2__; /* total number of zones of this fs */
115 __fs32 s_tfree __packed2__; /* total number of free zones */
131 __fs32 s_fsize __packed2__; /* total number of zones of this fs */
145 __fs32 s_tfree __packed2__; /* total number of free zones */
169 __fs32 s_fsize __packed2__; /* total number of zones of this fs */
182 __fs32 s_tfree __packed2__; /* total number of free zones */
Dpowercap.h15 * Each control_type can have multiple power zones, which can be independently
26 * Default is enabled. But this callback allows all zones
50 * @nr_zones: counter for number of zones of this type
61 * zones, which use same method to control power. E.g. RAPL, RAPL-PCI etc.
119 * @idr: Instance to an idr entry for children zones.
246 * can represent a type of technology, which can control a range of power zones.
262 * All power zones registered under this control type have to be unregistered
/Linux-v5.15/fs/pstore/
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-v5.15/fs/zonefs/
Dsuper.c3 * Simple file system for zoned block devices exposing zones as files.
77 * Sequential zones can only accept direct writes. This is already in zonefs_iomap_begin()
86 * For conventional zones, all blocks are always mapped. For sequential in zonefs_iomap_begin()
87 * zones, all blocks after always mapped below the inode size (zone in zonefs_iomap_begin()
232 * offline and readonly zones. Return the inode size corresponding to the
256 * The write pointer of read-only zones is invalid. If such a in zonefs_check_zone_condition()
276 /* The write pointer of full zones is invalid. */ in zonefs_check_zone_condition()
337 * First handle bad zones signaled by hardware. The mount options in zonefs_io_error_cb()
419 * may prevent IO forward progress. Executing the report zones under in __zonefs_io_error()
480 * take care of open zones. in zonefs_file_truncate()
[all …]
/Linux-v5.15/sound/soc/
Dsoc-jack.c81 * snd_soc_jack_add_zones - Associate voltage zones with jack
84 * @count: Number of zones
85 * @zones: Array of zones
87 * After this function has been called the zones specified in the
91 struct snd_soc_jack_zone *zones) in snd_soc_jack_add_zones() argument
96 INIT_LIST_HEAD(&zones[i].list); in snd_soc_jack_add_zones()
97 list_add(&(zones[i].list), &jack->jack_zones); in snd_soc_jack_add_zones()
105 * the type of jack from the zones declared in the jack type
111 * the type of jack from the already declared jack zones
/Linux-v5.15/Documentation/devicetree/bindings/thermal/
Dthermal-zones.yaml5 $id: http://devicetree.org/schemas/thermal/thermal-zones.yaml#
15 and the software abstraction of cooling devices and thermal zones required to
22 - thermal-zones: a container of the following node types used to describe all
25 This binding describes the thermal-zones.
42 const: thermal-zones
44 A /thermal-zones node is required in order to use the thermal framework to
45 manage input from the various thermal zones in the system in order to
260 thermal-zones {
Dthermal-sensor.yaml15 and the software abstraction of thermal zones required to take appropriate
22 - thermal-zones: a container of the following node types used to describe all
28 zones. Typical devices are I2C ADC converters and bandgaps. Thermal sensor
/Linux-v5.15/drivers/md/
Ddm-zoned-metadata.c32 * followed on disk by the mapping table of chunks to zones and the bitmap
38 * All metadata blocks are stored in conventional zones, starting from
57 /* The number of sequential zones reserved for reclaim */
175 struct xarray zones; member
305 return xa_load(&zmd->zones, zone_id); in dmz_get()
316 if (xa_insert(&zmd->zones, zone_id, zone, GFP_KERNEL)) { in dmz_insert()
1089 dmz_dev_err(dev, "Invalid number of reserved sequential zones"); in dmz_check_sb()
1394 * Devices that have zones with a capacity smaller than the zone size in dmz_init_zone()
1432 * Tertiary superblock zones are always at the in dmz_init_zone()
1468 * Free zones descriptors.
[all …]
/Linux-v5.15/drivers/gpu/drm/vmwgfx/
Dttm_memory.h55 * @zones: Array of pointers to accounting zones.
56 * @num_zones: Number of populated entries in the @zones array.
73 struct ttm_mem_zone *zones[TTM_MEM_MAX_ZONES]; member
/Linux-v5.15/drivers/thermal/intel/
Dx86_pkg_temp_thermal.c66 static struct zone_device **zones; variable
103 return zones[id]; in pkg_temp_thermal_get_dev()
380 zones[id] = zonedev; in pkg_temp_thermal_device_add()
435 zones[topology_logical_die_id(cpu)] = NULL; in pkg_thermal_cpu_offline()
502 zones = kcalloc(max_id, sizeof(struct zone_device *), in pkg_temp_thermal_init()
504 if (!zones) in pkg_temp_thermal_init()
523 kfree(zones); in pkg_temp_thermal_init()
535 kfree(zones); in module_init()

12345678910>>...16