| /linux/drivers/block/null_blk/ |
| H A D | zoned.c | 25 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/fs/pstore/ |
| H A D | zone.c | 26 * 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/block/ |
| H A D | blk-zoned.c | 43 * Per-zone write plug. 46 * zone write plugs. 49 * @rcu_head: RCU head to free zone write plugs with an RCU grace period. 52 * @ref: Zone write plug reference counter. A zone write plug reference is 58 * reference is dropped whenever the zone of the zone write plug is reset, 59 * finished and when the zone becomes full (last write BIO to the zone 62 * @zone_no: The number of the zone the plug is managing. 63 * @wp_offset: The zone write pointer location relative to the start of the zone 65 * @cond: Condition of the zone 85 * All request-based zoned devices need zone resources so that the in disk_need_zone_resources() [all …]
|
| /linux/include/uapi/linux/ |
| H A D | blkzoned.h | 25 * @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/block/ |
| H A D | zloop.c | 7 * zone as backing storage. 72 /* Arbitrary limit on the zone size (16GB). */ 107 * Zone descriptor. 176 * Open an already open zone. This is mostly a no-op, except for the imp open -> 177 * exp open condition change that may happen. We also move a zone at the tail of 179 * implicitly close one open zone, we can do so in LRU order. 182 struct zloop_zone *zone) in zloop_lru_rotate_open_zone() argument 186 list_move_tail(&zone->open_zone_entry, in zloop_lru_rotate_open_zone() 193 struct zloop_zone *zone) in zloop_lru_remove_open_zone() argument 195 if (zone->cond == BLK_ZONE_COND_IMP_OPEN || in zloop_lru_remove_open_zone() [all …]
|
| /linux/drivers/md/ |
| H A D | dm-zoned-metadata.c | 33 * 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 D | dm-zoned-target.c | 17 * 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 D | dm-zoned-reclaim.c | 57 * Align a sequential zone write pointer to chunk_block. 59 static int dmz_reclaim_align_wp(struct dmz_reclaim *zrc, struct dm_zone *zone, in dmz_reclaim_align_wp() argument 63 struct dmz_dev *dev = zone->dev; in dmz_reclaim_align_wp() 64 sector_t wp_block = zone->wp_block; in dmz_reclaim_align_wp() 80 dmz_start_sect(zmd, zone) + dmz_blk2sect(wp_block), in dmz_reclaim_align_wp() 84 "Align zone %u wp %llu to %llu (wp+%u) blocks failed %d", in dmz_reclaim_align_wp() 85 zone->id, (unsigned long long)wp_block, in dmz_reclaim_align_wp() 91 zone->wp_block = block; in dmz_reclaim_align_wp() 148 /* Get a valid region from the source zone */ in dmz_reclaim_copy() 155 * If we are writing in a sequential zone, we must make sure in dmz_reclaim_copy() [all …]
|
| /linux/Documentation/filesystems/ |
| H A D | zonefs.rst | 4 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/mm/ |
| H A D | page_alloc.c | 12 * Zone balancing, Kanoj Sarcar, SGI, Jan 2000 81 * shuffle the whole zone). 93 /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */ 211 struct zone *zone); 274 /* movable_zone is the "real" zone pages in ZONE_MOVABLE are taken from */ 286 static bool cond_accept_memory(struct zone *zone, unsigned int order, 307 _deferred_grow_zone(struct zone *zone, unsigned int order) in _deferred_grow_zone() argument 309 return deferred_grow_zone(zone, order); in _deferred_grow_zone() 312 static inline bool _deferred_grow_zone(struct zone *zone, unsigned int order) in _deferred_grow_zone() argument 560 static int page_outside_zone_boundaries(struct zone *zone, struct page *page) in page_outside_zone_boundaries() argument [all …]
|
| H A D | mm_init.c | 80 struct zone *zone; in mminit_verify_zonelist() local 87 /* Identify the zone and nodelist */ in mminit_verify_zonelist() 91 zone = &pgdat->node_zones[zoneid]; in mminit_verify_zonelist() 92 if (!populated_zone(zone)) in mminit_verify_zonelist() 98 zone->name); in mminit_verify_zonelist() 101 for_each_zone_zonelist(zone, z, zonelist, zoneid) in mminit_verify_zonelist() 102 pr_cont("%d:%s ", zone_to_nid(zone), zone->name); in mminit_verify_zonelist() 116 "Section %d Node %d Zone %d Lastcpupid %d Kasantag %d Gen %d Tier %d Flags %d\n", in mminit_verify_pageflags_layout() 126 "Section %d Node %d Zone %d Lastcpupid %d Kasantag %d\n", in mminit_verify_pageflags_layout() 133 "Section %lu Node %lu Zone %lu Lastcpupid %lu Kasantag %lu\n", in mminit_verify_pageflags_layout() [all …]
|
| H A D | memory_hotplug.c | 159 * specifying a zone (MMOP_ONLINE) 161 * "contig-zones": keep zone contiguous 426 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone, in find_smallest_section_pfn() argument 437 if (zone != page_zone(pfn_to_page(start_pfn))) in find_smallest_section_pfn() 447 static unsigned long find_biggest_section_pfn(int nid, struct zone *zone, in find_biggest_section_pfn() argument 462 if (zone != page_zone(pfn_to_page(pfn))) in find_biggest_section_pfn() 471 static void shrink_zone_span(struct zone *zone, unsigned long start_pfn, in shrink_zone_span() argument 475 int nid = zone_to_nid(zone); in shrink_zone_span() 477 if (zone->zone_start_pfn == start_pfn) { in shrink_zone_span() 479 * If the section is smallest section in the zone, it need in shrink_zone_span() [all …]
|
| /linux/tools/power/cpupower/lib/ |
| H A D | powercap.c | 124 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/fs/zonefs/ |
| H A D | super.c | 32 * 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 …]
|
| H A D | zonefs.h | 3 * Simple zone file system for zoned block devices. 19 * the zone group directory names and a decimal zone number for file names. 25 * Zone types: ZONEFS_ZTYPE_SEQ is used for all sequential zone types 35 static inline enum zonefs_ztype zonefs_zone_type(struct blk_zone *zone) in zonefs_zone_type() argument 37 if (zone->type == BLK_ZONE_TYPE_CONVENTIONAL) in zonefs_zone_type() 50 * In-memory per-file inode zone data. 53 /* Zone state flags */ 56 /* Zone start sector (512B unit) */ 59 /* Zone size (bytes) */ 62 /* Zone capacity (file maximum size, bytes) */ [all …]
|
| /linux/fs/adfs/ |
| H A D | map.c | 14 * zone which contains a bitstream made up of variable sized fragments. 30 * large or fragmented files. The first map zone a fragment starts in 32 * from any zone on the disk. 63 * return the map bit offset of the fragment frag_id in the zone dm. 109 * Scan the free space map, for this zone, calculating the total 133 * exist in this zone. in scan_free_map() 159 static int scan_map(struct adfs_sb_info *asb, unsigned int zone, in scan_map() argument 166 dm = asb->s_map + zone; in scan_map() 167 zone = asb->s_map_size; in scan_map() 168 dm_end = asb->s_map + zone; in scan_map() [all …]
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | dm-zoned.rst | 54 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/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | alloc.c | 250 struct mlx4_zone_entry *zone = kmalloc_obj(*zone); in mlx4_zone_add_one() local 252 if (NULL == zone) in mlx4_zone_add_one() 255 zone->flags = flags; in mlx4_zone_add_one() 256 zone->bitmap = bitmap; in mlx4_zone_add_one() 257 zone->use_rr = (flags & MLX4_ZONE_USE_RR) ? MLX4_USE_RR : 0; in mlx4_zone_add_one() 258 zone->priority = priority; in mlx4_zone_add_one() 259 zone->offset = offset; in mlx4_zone_add_one() 263 zone->uid = zone_alloc->last_uid++; in mlx4_zone_add_one() 264 zone->allocator = zone_alloc; in mlx4_zone_add_one() 274 list_add_tail(&zone->prio_list, &it->prio_list); in mlx4_zone_add_one() [all …]
|
| /linux/include/trace/events/ |
| H A D | compaction.h | 194 TP_PROTO(struct zone *zone, 198 TP_ARGS(zone, order, ret), 208 __entry->nid = zone_to_nid(zone); 209 __entry->idx = zone_idx(zone); 214 TP_printk("node=%d zone=%-8s order=%d ret=%s", 223 TP_PROTO(struct zone *zone, 227 TP_ARGS(zone, order, ret) 232 TP_PROTO(struct zone *zone, 236 TP_ARGS(zone, order, ret) 241 TP_PROTO(struct zone *zone, int order), [all …]
|
| /linux/include/net/netfilter/ |
| H A D | nf_conntrack_zones.h | 12 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 …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-powercap | 25 This status affects every power zone using this "control_type. 27 What: /sys/class/powercap/<control type>/<power zone> 32 A power zone is a single or a collection of devices, which can 33 be independently monitored and controlled. A power zone sysfs 37 What: /sys/class/powercap/<control type>/<power zone>/<child power zone> 45 power zone for a whole CPU package, each CPU core in it can 46 be a child power zone. 48 What: /sys/class/powercap/.../<power zone>/name 53 Specifies the name of this power zone. 55 What: /sys/class/powercap/.../<power zone>/energy_uj [all …]
|
| /linux/virt/kvm/ |
| H A D | coalesced_mmio.c | 30 * (zone->addr, zone->size) in coalesced_mmio_in_range() 36 if (addr < dev->zone.addr) in coalesced_mmio_in_range() 38 if (addr + len > dev->zone.addr + dev->zone.size) in coalesced_mmio_in_range() 74 ring->coalesced_mmio[insert].pio = dev->zone.pio; in coalesced_mmio_write() 123 struct kvm_coalesced_mmio_zone *zone) in kvm_vm_ioctl_register_coalesced_mmio() argument 128 if (zone->pio != 1 && zone->pio != 0) in kvm_vm_ioctl_register_coalesced_mmio() 137 dev->zone = *zone; in kvm_vm_ioctl_register_coalesced_mmio() 141 zone->pio ? KVM_PIO_BUS : KVM_MMIO_BUS, in kvm_vm_ioctl_register_coalesced_mmio() 142 zone->addr, zone->size, &dev->dev); in kvm_vm_ioctl_register_coalesced_mmio() 158 struct kvm_coalesced_mmio_zone *zone) in kvm_vm_ioctl_unregister_coalesced_mmio() argument [all …]
|
| /linux/drivers/mtd/ |
| H A D | sm_ftl.c | 190 static loff_t sm_mkoffset(struct sm_ftl *ftl, int zone, int block, int boffset) in sm_mkoffset() argument 193 WARN_ON(zone < 0 || zone >= ftl->zone_count); in sm_mkoffset() 200 return (zone * SM_MAX_ZONE_SIZE + block) * ftl->block_size + boffset; in sm_mkoffset() 205 int *zone, int *block, int *boffset) in sm_break_offset() argument 210 *zone = offset >= ftl->zone_count ? -1 : offset; in sm_break_offset() 236 int zone, int block, int boffset, in sm_read_sector() argument 268 if (zone == 0 && block == ftl->cis_block && boffset == in sm_read_sector() 280 ret = mtd_read_oob(mtd, sm_mkoffset(ftl, zone, block, boffset), &ops); in sm_read_sector() 284 dbg("read of block %d at zone %d, failed due to error (%d)", in sm_read_sector() 285 block, zone, ret); in sm_read_sector() [all …]
|
| /linux/kernel/power/ |
| H A D | snapshot.c | 336 * and each of them corresponds to one zone. For each zone bitmap 340 * struct memory_bitmap contains a pointer to the main list of zone 343 * zone bitmap objects and bitmap block objects. 353 * PFNs that correspond to the start and end of the represented zone. 361 * access to the bits. There is one radix tree for each zone (as returned 390 * populated memory zone. 396 unsigned long start_pfn; /* Zone start page frame */ 397 unsigned long end_pfn; /* Zone end page frame + 1 */ 406 struct mem_zone_bm_rtree *zone; member 415 struct linked_page *p_list; /* list of pages used to store zone [all …]
|
| /linux/tools/testing/selftests/tc-testing/tc-tests/actions/ |
| H A D | connmark.json | 23 "matchPattern": "action order [0-9]+: connmark zone 0 pipe", 50 "matchPattern": "action order [0-9]+: connmark zone 0 pass.*index 1 ref", 77 "matchPattern": "action order [0-9]+: connmark zone 0 drop.*index 100 ref", 104 "matchPattern": "action order [0-9]+: connmark zone 0 pipe.*index 455 ref", 131 "matchPattern": "action order [0-9]+: connmark zone 0 reclassify.*index 7 ref", 158 "matchPattern": "action order [0-9]+: connmark zone 0 continue.*index 17 ref", 185 "matchPattern": "action order [0-9]+: connmark zone 0 jump 10.*index 17 ref", 193 "name": "Add valid connmark action with zone argument", 209 "cmdUnderTest": "$TC actions add action connmark zone 100 pipe index 1", 212 "matchPattern": "action order [0-9]+: connmark zone 100 pipe.*index 1 ref", [all …]
|