/Linux-v6.1/Documentation/admin-guide/device-mapper/ |
D | dm-zoned.rst | 25 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-v6.1/Documentation/filesystems/ |
D | zonefs.rst | 14 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-v6.1/drivers/net/ethernet/mellanox/mlx4/ |
D | alloc.c | 226 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 …]
|
D | qp.c | 239 *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() 709 err = mlx4_zone_add_one(qp_table->zones, *bitmap + k, in mlx4_create_zones() 731 mlx4_zone_allocator_destroy(qp_table->zones); in mlx4_create_zones() 739 if (qp_table->zones) { in mlx4_cleanup_qp_zones() [all …]
|
/Linux-v6.1/fs/btrfs/ |
D | zoned.c | 19 /* Maximum number of zones to report per blkdev_report_zones() call */ 40 /* Number of superblock log zones */ 44 * Minimum of active zones we need: 46 * - BTRFS_SUPER_MIRROR_MAX zones for superblock mirrors 47 * - 3 zones to ensure at least one zone per SYSTEM, META and DATA block group 72 struct blk_zone *zones = data; in copy_zone_info_cb() local 74 memcpy(&zones[idx], zone, sizeof(*zone)); in copy_zone_info_cb() 79 static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones, in sb_write_pointer() argument 88 ASSERT(zones[i].type != BLK_ZONE_TYPE_CONVENTIONAL); in sb_write_pointer() 89 empty[i] = (zones[i].cond == BLK_ZONE_COND_EMPTY); in sb_write_pointer() [all …]
|
/Linux-v6.1/block/ |
D | blk-zoned.c | 108 * bdev_nr_zones - Get number of zones 111 * Return the total number of zones of a zoned block device. For a block 112 * device without zone capabilities, the number of zones is always 0. 126 * blkdev_report_zones - Get zones information 128 * @sector: Sector from which to report zones 129 * @nr_zones: Maximum number of zones to report 136 * To report all zones in a device starting from @sector, the BLK_ALL_ZONES 138 * Returns the number of zones reported by the device, or a negative errno 171 * For an all-zones reset, ignore conventional, empty, read-only in blk_zone_need_reset_cb() 172 * and offline zones. in blk_zone_need_reset_cb() [all …]
|
/Linux-v6.1/include/uapi/linux/ |
D | blkzoned.h | 23 * 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[]; 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-v6.1/drivers/block/null_blk/ |
D | zoned.c | 92 dev->zones = kvmalloc_array(dev->nr_zones, sizeof(struct nullb_zone), in null_init_zoned_dev() 94 if (!dev->zones) in null_init_zoned_dev() 101 pr_info("changed the number of conventional zones to %u", in null_init_zoned_dev() 105 /* Max active zones has to be < nbr of seq zones in order to be enforceable */ in null_init_zoned_dev() 111 /* Max open zones has to be <= max active zones */ in null_init_zoned_dev() 114 pr_info("changed the maximum number of open zones to %u\n", in null_init_zoned_dev() 124 zone = &dev->zones[i]; in null_init_zoned_dev() 138 zone = &dev->zones[i]; in null_init_zoned_dev() 185 kvfree(dev->zones); in null_free_zoned_dev() 186 dev->zones = NULL; in null_free_zoned_dev() [all …]
|
/Linux-v6.1/Documentation/power/powercap/ |
D | powercap.rst | 19 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-v6.1/Documentation/mm/ |
D | balance.rst | 43 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
|
D | numa.rst | 76 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-v6.1/drivers/scsi/ |
D | sd_zbc.c | 46 * Offline and read-only zones do not have a valid in sd_zbc_get_zone_wp_offset() 108 * obtained from the REPORT ZONES command. in sd_zbc_parse_report() 128 * sd_zbc_do_report_zones - Issue a REPORT ZONES scsi command. 136 * Using partial=true can significantly speed up execution of a report zones 138 * zones and will only report the count of zones fitting in the command reply 165 "REPORT ZONES start lba %llu failed\n", lba); in sd_zbc_do_report_zones() 166 sd_print_result(sdkp, "REPORT ZONES", result); in sd_zbc_do_report_zones() 175 "REPORT ZONES report invalid length %u\n", in sd_zbc_do_report_zones() 184 * sd_zbc_alloc_report_buffer() - Allocate a buffer for report zones reply. 186 * @nr_zones: Maximum number of zones to report [all …]
|
/Linux-v6.1/drivers/thermal/tegra/ |
D | tegra-bpmp-thermal.c | 30 struct tegra_bpmp_thermal_zone **zones; member 123 if (tegra->zones[i]->idx != req->host_trip_reached.zone) in bpmp_mrq_thermal() 126 schedule_work(&tegra->zones[i]->tz_device_update_work); in bpmp_mrq_thermal() 187 dev_err(&pdev->dev, "failed to get the number of zones: %d\n", in tegra_bpmp_thermal_probe() 192 tegra->zones = devm_kcalloc(&pdev->dev, max_num_zones, in tegra_bpmp_thermal_probe() 193 sizeof(*tegra->zones), GFP_KERNEL); in tegra_bpmp_thermal_probe() 194 if (!tegra->zones) in tegra_bpmp_thermal_probe() 227 tegra->zones[tegra->num_zones++] = zone; in tegra_bpmp_thermal_probe()
|
/Linux-v6.1/include/linux/ |
D | sysv_fs.h | 31 __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 */
|
D | powercap.h | 15 * 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-v6.1/fs/zonefs/ |
D | super.c | 3 * Simple file system for zoned block devices exposing zones as files. 44 * For zones that transitioned to the offline or readonly condition, in zonefs_account_active() 82 * open operation on other zones if the drive active zone resources in zonefs_zone_mgmt() 169 * Sequential zones can only accept direct writes. This is already in zonefs_write_iomap_begin() 178 * For conventional zones, all blocks are always mapped. For sequential in zonefs_write_iomap_begin() 179 * zones, all blocks after always mapped below the inode size (zone in zonefs_write_iomap_begin() 314 * offline and readonly zones. Return the inode size corresponding to the 339 * The write pointer of read-only zones is invalid. If such a in zonefs_check_zone_condition() 361 /* The write pointer of full zones is invalid. */ in zonefs_check_zone_condition() 422 * First handle bad zones signaled by hardware. The mount options in zonefs_io_error_cb() [all …]
|
/Linux-v6.1/fs/pstore/ |
D | zone.c | 4 * 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-v6.1/Documentation/admin-guide/mm/ |
D | memory-hotplug.rst | 363 multiple zones or spans multiple nodes; such memory blocks 399 using the ``contig-zones`` online policy. When 401 onlining a memory block, unless other zones can be kept 441 ``contig-zones`` has been the kernel default 447 When set to ``contig-zones``, the kernel will 448 try keeping zones contiguous. If a memory block 449 intersects multiple zones or no zone, the 494 in the zones combined with accounting per 497 residing on one of the kernel zones. The 538 kernel zones can increase the number of possible transparent huge pages and [all …]
|
/Linux-v6.1/sound/soc/ |
D | soc-jack.c | 81 * 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-v6.1/Documentation/devicetree/bindings/thermal/ |
D | thermal-zones.yaml | 5 $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 {
|
D | thermal-sensor.yaml | 15 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-v6.1/drivers/md/ |
D | dm-zoned-metadata.c | 32 * 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() 1075 dmz_dev_err(dev, "Invalid number of reserved sequential zones"); in dmz_check_sb() 1380 * Devices that have zones with a capacity smaller than the zone size in dmz_init_zone() 1418 * Tertiary superblock zones are always at the in dmz_init_zone() 1454 * Free zones descriptors. [all …]
|
/Linux-v6.1/tools/thermal/thermometer/ |
D | thermometer.8 | 13 \fBthermometer \fP captures the thermal zones temperature at a 21 If no configuration file is specified, then all the thermal zones will 26 The sampling of the different thermal zones will be written into
|
/Linux-v6.1/drivers/thermal/intel/ |
D | x86_pkg_temp_thermal.c | 66 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()
|
/Linux-v6.1/tools/testing/selftests/netfilter/ |
D | nft_zones_many.sh | 4 # that are all placed in distinct conntrack zones. 12 zones=2000 152 test_zones $zones 155 test_conntrack_tool $zones
|