Home
last modified time | relevance | path

Searched full:zone (Results 1 – 25 of 1248) sorted by relevance

12345678910>>...50

/kernel/linux/linux-6.6/drivers/block/null_blk/
Dzoned.c35 struct nullb_zone *zone) in null_init_zone_lock() argument
38 spin_lock_init(&zone->spinlock); in null_init_zone_lock()
40 mutex_init(&zone->mutex); in null_init_zone_lock()
44 struct nullb_zone *zone) in null_lock_zone() argument
47 spin_lock_irq(&zone->spinlock); in null_lock_zone()
49 mutex_lock(&zone->mutex); in null_lock_zone()
53 struct nullb_zone *zone) in null_unlock_zone() argument
56 spin_unlock_irq(&zone->spinlock); in null_unlock_zone()
58 mutex_unlock(&zone->mutex); in null_unlock_zone()
64 struct nullb_zone *zone; in null_init_zoned_dev() local
[all …]
/kernel/linux/linux-5.10/fs/pstore/
Dzone.c26 * struct psz_head - 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 …]
/kernel/linux/linux-6.6/fs/pstore/
Dzone.c26 * 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 …]
/kernel/linux/linux-5.10/drivers/block/null_blk/
Dzoned.c27 pr_err("Zone size larger than device capacity\n"); in null_init_zoned_dev()
35 pr_err("null_blk: zone capacity (%lu MB) larger than zone size (%lu MB)\n", in null_init_zoned_dev()
54 * released to avoid scheduling in atomic context. To guarantee zone in null_init_zoned_dev()
77 pr_info("zone_max_active limit disabled, limit >= zone count\n"); in null_init_zoned_dev()
87 pr_info("zone_max_open limit disabled, limit >= zone count\n"); in null_init_zoned_dev()
91 struct blk_zone *zone = &dev->zones[i]; in null_init_zoned_dev() local
93 zone->start = sector; in null_init_zoned_dev()
94 zone->len = dev->zone_size_sects; in null_init_zoned_dev()
95 zone->capacity = zone->len; in null_init_zoned_dev()
96 zone->wp = zone->start + zone->len; in null_init_zoned_dev()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/ttm/
Dttm_memory.c81 struct ttm_mem_zone *zone = in ttm_mem_zone_kobj_release() local
84 pr_info("Zone %7s: Used memory at exit: %llu KiB\n", in ttm_mem_zone_kobj_release()
85 zone->name, (unsigned long long)zone->used_mem >> 10); in ttm_mem_zone_kobj_release()
86 kfree(zone); in ttm_mem_zone_kobj_release()
93 struct ttm_mem_zone *zone = in ttm_mem_zone_show() local
97 spin_lock(&zone->glob->lock); in ttm_mem_zone_show()
99 val = zone->zone_mem; in ttm_mem_zone_show()
101 val = zone->emer_mem; in ttm_mem_zone_show()
103 val = zone->max_mem; in ttm_mem_zone_show()
105 val = zone->swap_limit; in ttm_mem_zone_show()
[all …]
/kernel/linux/linux-6.6/include/uapi/linux/
Dblkzoned.h25 * @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 …]
/kernel/linux/linux-5.10/include/uapi/linux/
Dblkzoned.h25 * @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 …]
/kernel/linux/linux-6.6/Documentation/filesystems/
Dzonefs.rst4 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 …]
/kernel/linux/linux-5.10/Documentation/filesystems/
Dzonefs.rst4 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 …]
/kernel/linux/linux-6.6/drivers/md/
Ddm-zoned-metadata.c33 * 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 …]
Ddm-zone.c14 #define DM_MSG_PREFIX "zone"
19 * For internal zone reports bypassing the top BIO submission path.
52 * User facing dm device block device report zone operation. This calls the
77 static int dm_report_zones_cb(struct blk_zone *zone, unsigned int idx, in dm_report_zones_cb() argument
86 if (zone->start >= args->start + args->tgt->len) in dm_report_zones_cb()
90 * Remap the start sector and write pointer position of the zone in dm_report_zones_cb()
93 zone->start += sector_diff; in dm_report_zones_cb()
94 if (zone->type != BLK_ZONE_TYPE_CONVENTIONAL) { in dm_report_zones_cb()
95 if (zone->cond == BLK_ZONE_COND_FULL) in dm_report_zones_cb()
96 zone->wp = zone->start + zone->len; in dm_report_zones_cb()
[all …]
Ddm-zoned.h93 * Zone descriptor.
96 /* For listing the zone depending on its state */
99 /* Device containing this zone */
102 /* Zone type and state */
105 /* Zone activation reference count */
108 /* Zone id */
111 /* Zone write pointer block (relative to the zone start block) */
114 /* Zone weight (number of valid blocks in the zone) */
117 /* The chunk that the zone maps */
121 * For a sequential data zone, pointer to the random zone
[all …]
/kernel/linux/linux-5.10/drivers/md/
Ddm-zoned-metadata.c33 * 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 …]
Ddm-zoned.h94 * Zone descriptor.
97 /* For listing the zone depending on its state */
100 /* Device containing this zone */
103 /* Zone type and state */
106 /* Zone activation reference count */
109 /* Zone id */
112 /* Zone write pointer block (relative to the zone start block) */
115 /* Zone weight (number of valid blocks in the zone) */
118 /* The chunk that the zone maps */
122 * For a sequential data zone, pointer to the random zone
[all …]
/kernel/linux/linux-6.6/mm/
Dshow_mem.c26 static inline void show_node(struct zone *zone) in show_node() argument
29 printk("Node %d ", zone_to_nid(zone)); in show_node()
39 struct zone *zone; in si_mem_available() local
45 for_each_zone(zone) in si_mem_available()
46 wmark_low += low_wmark_pages(zone); in si_mem_available()
107 struct zone *zone = &pgdat->node_zones[zone_type]; in si_meminfo_node() local
109 if (is_highmem(zone)) { in si_meminfo_node()
110 managed_highpages += zone_managed_pages(zone); in si_meminfo_node()
111 free_highpages += zone_page_state(zone, NR_FREE_PAGES); in si_meminfo_node()
193 struct zone *zone; in show_free_areas() local
[all …]
Dpage_alloc.c13 * Zone balancing, Kanoj Sarcar, SGI, Jan 2000
83 * shuffle the whole zone).
92 /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */
299 /* movable_zone is the "real" zone pages in ZONE_MOVABLE are taken from */
312 static bool cond_accept_memory(struct zone *zone, unsigned int order);
337 _deferred_grow_zone(struct zone *zone, unsigned int order) in _deferred_grow_zone() argument
339 return deferred_grow_zone(zone, order); in _deferred_grow_zone()
447 static int page_outside_zone_boundaries(struct zone *zone, struct page *page) in page_outside_zone_boundaries() argument
455 seq = zone_span_seqbegin(zone); in page_outside_zone_boundaries()
456 start_pfn = zone->zone_start_pfn; in page_outside_zone_boundaries()
[all …]
Dvmstat.c37 /* zero numa counters within a zone */
38 static void zero_zone_numa_counters(struct zone *zone) in zero_zone_numa_counters() argument
43 atomic_long_set(&zone->vm_numa_event[item], 0); in zero_zone_numa_counters()
45 per_cpu_ptr(zone->per_cpu_zonestats, cpu)->vm_numa_event[item] in zero_zone_numa_counters()
54 struct zone *zone; in zero_zones_numa_counters() local
56 for_each_populated_zone(zone) in zero_zones_numa_counters()
57 zero_zone_numa_counters(zone); in zero_zones_numa_counters()
158 * Manage combined zone based / global counters
169 static void fold_vm_zone_numa_events(struct zone *zone) in fold_vm_zone_numa_events() argument
178 pzstats = per_cpu_ptr(zone->per_cpu_zonestats, cpu); in fold_vm_zone_numa_events()
[all …]
/kernel/linux/linux-5.10/include/linux/
Dmmzone.h125 * zone->lock and the zone lru_lock are two of the hottest locks in the kernel.
127 * cachelines. There are very few zone structures in the machine, so space
144 NUMA_INTERLEAVE_HIT, /* interleaver preferred this zone */
459 struct zone { struct
462 /* zone watermarks, access with *_wmark_pages(zone) macros */
471 * wasting several GB of ram we must reserve some of the lower zone argument
497 * spanned_pages is the total pages spanned by the zone, including argument
501 * present_pages is physical pages existing within the zone, which
519 * It is a seqlock because it has to be read outside of zone->lock,
523 * The span_seq lock is declared along with zone->lock because it is
[all …]
Dmemory_hotplug.h11 struct zone;
48 /* Types for control the zone type of onlined and offlined memory */
52 /* Online the memory. Zone depends, see default_zone_for_pfn(). */
85 * Zone resizing functions
87 * Note: any attempt to resize a zone should has pgdat_resize_lock()
88 * zone_span_writelock() both held. This ensure the size of a zone
91 static inline unsigned zone_span_seqbegin(struct zone *zone) in zone_span_seqbegin() argument
93 return read_seqbegin(&zone->span_seqlock); in zone_span_seqbegin()
95 static inline int zone_span_seqretry(struct zone *zone, unsigned iv) in zone_span_seqretry() argument
97 return read_seqretry(&zone->span_seqlock, iv); in zone_span_seqretry()
[all …]
Dvmstat.h138 * Zone and node-based page accounting with per cpu differentials.
145 static inline void zone_numa_state_add(long x, struct zone *zone, in zone_numa_state_add() argument
148 atomic_long_add(x, &zone->vm_numa_stat[item]); in zone_numa_state_add()
159 static inline unsigned long zone_numa_state_snapshot(struct zone *zone, in zone_numa_state_snapshot() argument
162 long x = atomic_long_read(&zone->vm_numa_stat[item]); in zone_numa_state_snapshot()
166 x += per_cpu_ptr(zone->pageset, cpu)->vm_numa_stat_diff[item]; in zone_numa_state_snapshot()
172 static inline void zone_page_state_add(long x, struct zone *zone, in zone_page_state_add() argument
175 atomic_long_add(x, &zone->vm_stat[item]); in zone_page_state_add()
214 static inline unsigned long zone_page_state(struct zone *zone, in zone_page_state() argument
217 long x = atomic_long_read(&zone->vm_stat[item]); in zone_page_state()
[all …]
/kernel/linux/linux-6.6/tools/power/cpupower/lib/
Dpowercap.c124 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 …]
/kernel/linux/linux-6.6/include/linux/
Dmemory_hotplug.h11 struct zone;
70 /* Types for control the zone type of onlined and offlined memory */
74 /* Online the memory. Zone depends, see default_zone_for_pfn(). */
126 * Zone resizing functions
128 * Note: any attempt to resize a zone should has pgdat_resize_lock()
129 * zone_span_writelock() both held. This ensure the size of a zone
132 static inline unsigned zone_span_seqbegin(struct zone *zone) in zone_span_seqbegin() argument
134 return read_seqbegin(&zone->span_seqlock); in zone_span_seqbegin()
136 static inline int zone_span_seqretry(struct zone *zone, unsigned iv) in zone_span_seqretry() argument
138 return read_seqretry(&zone->span_seqlock, iv); in zone_span_seqretry()
[all …]
/kernel/linux/linux-5.10/mm/
Dmemory_hotplug.c307 * call this function after deciding the zone to which to
355 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone, in find_smallest_section_pfn() argument
366 if (zone != page_zone(pfn_to_page(start_pfn))) in find_smallest_section_pfn()
376 static unsigned long find_biggest_section_pfn(int nid, struct zone *zone, in find_biggest_section_pfn() argument
391 if (zone != page_zone(pfn_to_page(pfn))) in find_biggest_section_pfn()
400 static void shrink_zone_span(struct zone *zone, unsigned long start_pfn, in shrink_zone_span() argument
404 int nid = zone_to_nid(zone); in shrink_zone_span()
406 zone_span_writelock(zone); in shrink_zone_span()
407 if (zone->zone_start_pfn == start_pfn) { in shrink_zone_span()
409 * If the section is smallest section in the zone, it need in shrink_zone_span()
[all …]
Dvmstat.c39 /* zero numa counters within a zone */
40 static void zero_zone_numa_counters(struct zone *zone) in zero_zone_numa_counters() argument
45 atomic_long_set(&zone->vm_numa_stat[item], 0); in zero_zone_numa_counters()
47 per_cpu_ptr(zone->pageset, cpu)->vm_numa_stat_diff[item] in zero_zone_numa_counters()
55 struct zone *zone; in zero_zones_numa_counters() local
57 for_each_populated_zone(zone) in zero_zones_numa_counters()
58 zero_zone_numa_counters(zone); in zero_zones_numa_counters()
159 * Manage combined zone based / global counters
172 int calculate_pressure_threshold(struct zone *zone) in calculate_pressure_threshold() argument
185 watermark_distance = low_wmark_pages(zone) - min_wmark_pages(zone); in calculate_pressure_threshold()
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/thermal/
Dsysfs-api.rst15 The generic thermal sysfs provides a set of interfaces for thermal zone
19 This how-to focuses on enabling new thermal zone and cooling devices to
21 This solution is platform independent and any type of thermal zone devices
24 The main task of the thermal sysfs driver is to expose thermal zone attributes
27 inputs from thermal zone attributes (the current temperature and trip point
36 1.1 thermal zone device interface
48 This interface function adds a new thermal zone device (sensor) to
53 the thermal zone type.
55 the total number of trip points this thermal zone supports.
61 thermal zone device call-backs.
[all …]

12345678910>>...50