| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/Documentation/device-mapper/ |
| D | dm-zoned.txt | 24 host-managed disk with 256 MB zones, dm-zoned memory usage per disk 25 instance is at most 4.5 MB and as little as 5 zones will be used 37 write accesses to the sequential zones of a zoned block device. 38 Conventional zones are used for caching as well as for storing internal 41 The zones of the device are separated into 2 types: 43 1) Metadata zones: these are conventional zones used to store metadata. 44 Metadata zones are not reported as useable capacity to the user. 46 2) Data zones: all remaining zones, the vast majority of which will be 47 sequential zones used exclusively to store user data. The conventional 48 zones of the device may be used also for buffering user random writes. [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/drivers/net/ethernet/mellanox/mlx4/ |
| D | alloc.c | 227 struct mlx4_zone_allocator *zones = kmalloc(sizeof(*zones), GFP_KERNEL); in mlx4_zone_allocator_create() local 229 if (NULL == zones) in mlx4_zone_allocator_create() 232 INIT_LIST_HEAD(&zones->entries); in mlx4_zone_allocator_create() 233 INIT_LIST_HEAD(&zones->prios); in mlx4_zone_allocator_create() 234 spin_lock_init(&zones->lock); in mlx4_zone_allocator_create() 235 zones->last_uid = 0; in mlx4_zone_allocator_create() 236 zones->mask = 0; in mlx4_zone_allocator_create() 237 zones->flags = flags; in mlx4_zone_allocator_create() 239 return zones; in mlx4_zone_allocator_create() 427 struct mlx4_zone_allocator *zones, u32 uid) in __mlx4_find_zone_by_uid() argument [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-4.19/block/ |
| D | blk-zoned.c | 94 * blkdev_report_zones - Get zones information 96 * @sector: Sector from which to report zones 97 * @zones: Array of zone structures where to return the zones information 104 * requested by @nr_zones. The number of zones actually reported is 109 struct blk_zone *zones, in blkdev_report_zones() argument 186 * reported zones to fixup and fixup the zone information for in blkdev_report_zones() 208 /* Fixup and report zones */ in blkdev_report_zones() 211 if (blkdev_report_zone(bdev, addr + ofst, &zones[nz])) in blkdev_report_zones() 235 * blkdev_reset_zones - Reset zones write pointer 242 * Reset the write pointer of the zones contained in the range [all …]
|
| /kernel/linux/linux-5.10/drivers/block/ |
| D | null_blk_zoned.c | 47 dev->zones = kvmalloc_array(dev->nr_zones, sizeof(struct blk_zone), in null_init_zoned_dev() 49 if (!dev->zones) in null_init_zoned_dev() 55 * information protection, use a bitmap to lock zones with in null_init_zoned_dev() 63 kvfree(dev->zones); in null_init_zoned_dev() 70 pr_info("changed the number of conventional zones to %u", in null_init_zoned_dev() 74 /* Max active zones has to be < nbr of seq zones in order to be enforceable */ in null_init_zoned_dev() 80 /* Max open zones has to be <= max active zones */ in null_init_zoned_dev() 83 pr_info("changed the maximum number of open zones to %u\n", in null_init_zoned_dev() 91 struct blk_zone *zone = &dev->zones[i]; in null_init_zoned_dev() 104 struct blk_zone *zone = &dev->zones[i]; in null_init_zoned_dev() [all …]
|
| /kernel/linux/linux-4.19/drivers/scsi/ |
| D | sd_zbc.c | 65 * sd_zbc_report_zones - Issue a REPORT ZONES scsi command. 95 "REPORT ZONES lba %llu failed with %d/%d\n", in sd_zbc_report_zones() 104 "REPORT ZONES report invalid length %u\n", in sd_zbc_report_zones() 113 * sd_zbc_setup_report_cmnd - Prepare a REPORT ZONES scsi command 155 * sd_zbc_report_zones_complete - Process a REPORT ZONES scsi command reply. 156 * @scmd: The completed report zones command 270 * Called from sd_done(). Process report zones reply and handle reset zone 346 * ZBC drive may report only the capacity of the first conventional zones at 348 * Check this here. If the disk reported only its conventional zones capacity, 349 * get the total capacity by doing a report zones. [all …]
|
| /kernel/linux/linux-5.10/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[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.
|
| /kernel/linux/linux-5.10/block/ |
| D | blk-zoned.c | 120 * blkdev_nr_zones - Get number of zones 123 * Return the total number of zones of a zoned block device. For a block 124 * device without zone capabilities, the number of zones is always 0. 137 * blkdev_report_zones - Get zones information 139 * @sector: Sector from which to report zones 140 * @nr_zones: Maximum number of zones to report 147 * To report all zones in a device starting from @sector, the BLK_ALL_ZONES 149 * Returns the number of zones reported by the device, or a negative errno 187 * blkdev_zone_mgmt - Execute a zone management operation on a range of zones 189 * @op: Operation to be performed on the zones [all …]
|
| /kernel/linux/linux-5.10/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
|
| /kernel/linux/linux-5.10/Documentation/vm/ |
| 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
|
| /kernel/linux/linux-4.19/Documentation/vm/ |
| 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
|
| /kernel/linux/linux-4.19/drivers/block/ |
| D | null_blk_zoned.c | 31 dev->zones = kvmalloc_array(dev->nr_zones, sizeof(struct blk_zone), in null_zone_init() 33 if (!dev->zones) in null_zone_init() 37 struct blk_zone *zone = &dev->zones[i]; in null_zone_init() 52 kvfree(dev->zones); in null_zone_exit() 78 memcpy(addr, &dev->zones[zno], in null_zone_fill_bio() 110 struct blk_zone *zone = &dev->zones[zno]; in null_zone_write() 143 struct blk_zone *zone = &dev->zones[zno]; in null_zone_reset()
|
| /kernel/linux/linux-4.19/drivers/uwb/ |
| D | drp-ie.c | 144 struct uwb_drp_alloc *zones; in uwb_drp_ie_from_bm() local 149 zones = drp_ie->allocs; in uwb_drp_ie_from_bm() 153 /* Determine unique MAS bitmaps in zones from bitmap. */ in uwb_drp_ie_from_bm() 160 if (current_bmp == zones[i].mas_bm) { in uwb_drp_ie_from_bm() 161 zones[i].zone_bm |= 1 << z; in uwb_drp_ie_from_bm() 168 zones[next].zone_bm = 1 << z; in uwb_drp_ie_from_bm() 169 zones[next].mas_bm = current_bmp; in uwb_drp_ie_from_bm() 178 drp_ie->allocs[i].zone_bm = cpu_to_le16(zones[i].zone_bm); in uwb_drp_ie_from_bm() 179 drp_ie->allocs[i].mas_bm = cpu_to_le16(zones[i].mas_bm); in uwb_drp_ie_from_bm() 291 * know which zones are impacted. We iterate over all the zones
|
| /kernel/linux/linux-5.10/drivers/thermal/tegra/ |
| D | tegra-bpmp-thermal.c | 30 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()
|
| /kernel/linux/linux-4.19/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 111 * @zones: Space to hold @nr_zones @zones entries on reply. 119 struct blk_zone zones[0]; member 125 * @nr_sectors: Total number of sectors of 1 or more zones to reset 138 * @BLKRESETZONE: Reset the write pointer of the zones in the specified
|
| /kernel/linux/linux-4.19/drivers/thermal/tegra/ |
| D | tegra-bpmp-thermal.c | 39 struct tegra_bpmp_thermal_zone **zones; member 118 if (tegra->zones[i]->idx != req->host_trip_reached.zone) in bpmp_mrq_thermal() 121 schedule_work(&tegra->zones[i]->tz_device_update_work); in bpmp_mrq_thermal() 180 dev_err(&pdev->dev, "failed to get the number of zones: %d\n", in tegra_bpmp_thermal_probe() 185 tegra->zones = devm_kcalloc(&pdev->dev, max_num_zones, in tegra_bpmp_thermal_probe() 186 sizeof(*tegra->zones), GFP_KERNEL); in tegra_bpmp_thermal_probe() 187 if (!tegra->zones) in tegra_bpmp_thermal_probe() 220 tegra->zones[tegra->num_zones++] = zone; in tegra_bpmp_thermal_probe()
|
| /kernel/linux/linux-5.10/drivers/scsi/ |
| D | sd_zbc.c | 40 * 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() 128 "REPORT ZONES report invalid length %u\n", in sd_zbc_do_report_zones() 137 * Allocate a buffer for report zones reply. 139 * @nr_zones: Maximum number of zones to report 142 * Try to allocate a reply buffer for the number of requested zones. [all …]
|
| /kernel/linux/linux-4.19/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 */
|
| /kernel/linux/linux-5.10/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 */
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/thermal/ |
| D | thermal.txt | 5 A thermal structure includes thermal zones and their components, 21 - thermal zones: used to describe thermal data within the hardware; 28 thermal zones. Typical devices are I2C ADC converters and bandgaps. These are 29 nodes providing temperature data to thermal zones. Thermal sensor devices may 181 * The thermal-zones node 183 The "thermal-zones" node is a container for all thermal zone nodes. It shall 184 contain only sub-nodes describing thermal zones as in the section 185 "Thermal zone nodes". The "thermal-zones" node appears under "/". 247 thermal-zones { 301 The example below describes how to deploy several thermal zones based off a [all …]
|
| /kernel/linux/linux-5.10/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 260 /* flush dirty zones nicely */ in psz_zone_write() 285 static int psz_flush_dirty_zones(struct pstore_zone **zones, unsigned int cnt) in psz_flush_dirty_zones() argument 290 if (!zones) in psz_flush_dirty_zones() 294 zone = zones[i]; in psz_flush_dirty_zones() 575 struct pstore_zone **zones, unsigned int cnt) in psz_recover_zones() argument 581 if (!zones) in psz_recover_zones() 585 zone = zones[i]; in psz_recover_zones() [all …]
|
| /kernel/linux/linux-5.10/fs/zonefs/ |
| D | super.c | 3 * Simple file system for zoned block devices exposing zones as files. 73 * Sequential zones can only accept direct writes. This is already in zonefs_iomap_begin() 82 * For conventional zones, all blocks are always mapped. For sequential in zonefs_iomap_begin() 83 * zones, all blocks after always mapped below the inode size (zone in zonefs_iomap_begin() 226 * offline and readonly zones. Return the inode size corresponding to the 250 * The write pointer of read-only zones is invalid. If such a in zonefs_check_zone_condition() 270 /* The write pointer of full zones is invalid. */ in zonefs_check_zone_condition() 331 * First handle bad zones signaled by hardware. The mount options in zonefs_io_error_cb() 413 * may prevent IO forward progress. Executing the report zones under in __zonefs_io_error() 474 * take care of open zones. in zonefs_file_truncate() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/ |
| D | soc-jack.c | 88 * snd_soc_jack_add_zones - Associate voltage zones with jack 91 * @count: Number of zones 92 * @zones: Array of zones 94 * After this function has been called the zones specified in the 98 struct snd_soc_jack_zone *zones) in snd_soc_jack_add_zones() argument 103 INIT_LIST_HEAD(&zones[i].list); in snd_soc_jack_add_zones() 104 list_add(&(zones[i].list), &jack->jack_zones); in snd_soc_jack_add_zones() 112 * the type of jack from the zones declared in the jack type 118 * the type of jack from the already declared jack zones
|