diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-20 11:41:46 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-20 11:41:46 -0700 |
| commit | ae814200e8393fa504dd246e98fcba8f5493de28 (patch) | |
| tree | 9e49a70e51ba3be1d2c36ffc3cc9d391f1d0ad68 /arch | |
| parent | 216b3f432a36549767ca750e64badd71340b8c0f (diff) | |
| parent | f4806cc63cc65bd752fd72d84937614dca6504ec (diff) | |
Merge tag 'bitmap-for-7.3' of https://github.com/norov/linux
Pull bitmap updates from Yury Norov:
"The usual set of fixes, cleanups and performance improvements together
with a couple of new tests:
- bitmap_find_next_zero_area_off() optimization (Sunyi)
- bitmap_find_next_zero_area_off(): return size when no zero area is
found (Yury)
- bitmap vs IDA vs Maple Tree performance test (Yury)
- get rid of cpumap_print_to_pagebuf() (Yury)
- use nr_node_ids in __nodemask_pr_numnodes() (Li RongQing)
- bitops: make the *_bit_le functions use unsigned long (Benjamin)
- bitmap scatter & gather test fix (Christophe)
- use __ASSEMBLER__ in bitmap header files (Thomas)"
* tag 'bitmap-for-7.3' of https://github.com/norov/linux: (25 commits)
lib: test bitmap vs IDA vs Maple Tree performance for region allocations
bitmap: Return size when no zero area is found
media: s5p-mfc: Treat bitmap size as allocation failure
crypto: ccp: Treat bitmap size as allocation failure
powerpc/msi: Treat bitmap size as allocation failure
ARM: dma-mapping: Treat bitmap size as allocation failure
bitmap: drop bitmap_next_set_region()
nodemask: reduce bitmap width to nr_node_ids in __nodemask_pr_numnodes()
bitmap: Properly initialise destination bitmap for scatter & gather test
lib/bitmap-str: get rid of cpumap_print_to_pagebuf()
perf: Use sysfs_emit() for cpumask show callbacks
PCI/sysfs: Use sysfs_emit() for cpumask show callbacks
RDMA/hfi1: Use sysfs_emit() for cpumask show helper
hwtracing: hisi_ptt: Use sysfs_emit() for cpumask show
fpga: dfl-fme-perf: Use sysfs_emit() for cpumask show
devfreq: Use sysfs_emit() for cpumask show callbacks
cpu: Use sysfs_emit() for cpumask show callback
x86/events: Use sysfs_emit() for cpumask show callbacks
powerpc: Use sysfs_emit() for cpumask show callbacks
arm: Use sysfs_emit() for cpumask show callbacks
...
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/mach-imx/mmdc.c | 2 | ||||
| -rw-r--r-- | arch/arm/mm/cache-l2x0-pmu.c | 2 | ||||
| -rw-r--r-- | arch/arm/mm/dma-mapping.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/cacheinfo.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/perf/hv-24x7.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/perf/hv-gpci.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/perf/imc-pmu.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/msi_bitmap.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/amd/iommu.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/amd/power.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/amd/uncore.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/intel/core.c | 2 | ||||
| -rw-r--r-- | arch/x86/events/intel/uncore.c | 2 |
13 files changed, 15 insertions, 14 deletions
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c index b71467c48b87..f6d993b9b1d4 100644 --- a/arch/arm/mach-imx/mmdc.c +++ b/arch/arm/mach-imx/mmdc.c @@ -127,7 +127,7 @@ static ssize_t mmdc_pmu_cpumask_show(struct device *dev, { struct mmdc_pmu *pmu_mmdc = dev_get_drvdata(dev); - return cpumap_print_to_pagebuf(true, buf, &pmu_mmdc->cpu); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&pmu_mmdc->cpu)); } static struct device_attribute mmdc_pmu_cpumask_attr = diff --git a/arch/arm/mm/cache-l2x0-pmu.c b/arch/arm/mm/cache-l2x0-pmu.c index 3d9caf7464bf..478227078837 100644 --- a/arch/arm/mm/cache-l2x0-pmu.c +++ b/arch/arm/mm/cache-l2x0-pmu.c @@ -390,7 +390,7 @@ static struct attribute_group l2x0_pmu_event_attrs_group = { static ssize_t l2x0_pmu_cpumask_show(struct device *dev, struct device_attribute *attr, char *buf) { - return cpumap_print_to_pagebuf(true, buf, &pmu_cpu); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&pmu_cpu)); } static struct device_attribute l2x0_pmu_cpumask_attr = diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index f9bc53b60f99..7761099dde9e 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -773,7 +773,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping, start = bitmap_find_next_zero_area(mapping->bitmaps[i], mapping->bits, 0, count, align); - if (start > mapping->bits) + if (start >= mapping->bits) continue; bitmap_set(mapping->bitmaps[i], start, count); @@ -794,7 +794,7 @@ static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping, start = bitmap_find_next_zero_area(mapping->bitmaps[i], mapping->bits, 0, count, align); - if (start > mapping->bits) { + if (start >= mapping->bits) { spin_unlock_irqrestore(&mapping->lock, flags); return DMA_MAPPING_ERROR; } diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c index 04e5ea38bdc0..cb0933061006 100644 --- a/arch/powerpc/kernel/cacheinfo.c +++ b/arch/powerpc/kernel/cacheinfo.c @@ -690,7 +690,8 @@ show_shared_cpumap(struct kobject *k, struct kobj_attribute *attr, char *buf, bo mask = &cache->shared_cpu_map; - return cpumap_print_to_pagebuf(list, buf, mask); + return sysfs_emit(buf, list ? "%*pbl\n" : "%*pb\n", + cpumask_pr_args(mask)); } static ssize_t shared_cpu_map_show(struct kobject *k, struct kobj_attribute *attr, char *buf) diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c index abb4cfb11fcc..b0eedf185960 100644 --- a/arch/powerpc/perf/hv-24x7.c +++ b/arch/powerpc/perf/hv-24x7.c @@ -429,7 +429,7 @@ static char *memdup_to_str(char *maybe_str, int max_len, gfp_t gfp) static ssize_t cpumask_show(struct device *dev, struct device_attribute *attr, char *buf) { - return cpumap_print_to_pagebuf(true, buf, &hv_24x7_cpumask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&hv_24x7_cpumask)); } static ssize_t sockets_show(struct device *dev, diff --git a/arch/powerpc/perf/hv-gpci.c b/arch/powerpc/perf/hv-gpci.c index 7269273d3aa8..76495744f52a 100644 --- a/arch/powerpc/perf/hv-gpci.c +++ b/arch/powerpc/perf/hv-gpci.c @@ -100,7 +100,7 @@ static ssize_t kernel_version_show(struct device *dev, static ssize_t cpumask_show(struct device *dev, struct device_attribute *attr, char *buf) { - return cpumap_print_to_pagebuf(true, buf, &hv_gpci_cpumask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&hv_gpci_cpumask)); } /* Interface attribute array index to store system information */ diff --git a/arch/powerpc/perf/imc-pmu.c b/arch/powerpc/perf/imc-pmu.c index 1d2db6d3e226..f401181d8669 100644 --- a/arch/powerpc/perf/imc-pmu.c +++ b/arch/powerpc/perf/imc-pmu.c @@ -117,7 +117,7 @@ static ssize_t imc_pmu_cpumask_get_attr(struct device *dev, return 0; } - return cpumap_print_to_pagebuf(true, buf, active_mask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(active_mask)); } static DEVICE_ATTR(cpumask, S_IRUGO, imc_pmu_cpumask_get_attr, NULL); diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c index 456a4f64ae0a..2f38d4b41ad3 100644 --- a/arch/powerpc/sysdev/msi_bitmap.c +++ b/arch/powerpc/sysdev/msi_bitmap.c @@ -21,7 +21,7 @@ int msi_bitmap_alloc_hwirqs(struct msi_bitmap *bmp, int num) offset = bitmap_find_next_zero_area(bmp->bitmap, bmp->irq_count, 0, num, (1 << order) - 1); - if (offset > bmp->irq_count) + if (offset >= bmp->irq_count) goto err; bitmap_set(bmp->bitmap, offset, num); diff --git a/arch/x86/events/amd/iommu.c b/arch/x86/events/amd/iommu.c index 07b110e8418a..f332c7089bd5 100644 --- a/arch/x86/events/amd/iommu.c +++ b/arch/x86/events/amd/iommu.c @@ -137,7 +137,7 @@ static ssize_t _iommu_cpumask_show(struct device *dev, struct device_attribute *attr, char *buf) { - return cpumap_print_to_pagebuf(true, buf, &iommu_cpumask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&iommu_cpumask)); } static DEVICE_ATTR(cpumask, S_IRUGO, _iommu_cpumask_show, NULL); diff --git a/arch/x86/events/amd/power.c b/arch/x86/events/amd/power.c index 744dffa42dee..66197214b010 100644 --- a/arch/x86/events/amd/power.c +++ b/arch/x86/events/amd/power.c @@ -150,7 +150,7 @@ static void pmu_event_read(struct perf_event *event) static ssize_t get_attr_cpumask(struct device *dev, struct device_attribute *attr, char *buf) { - return cpumap_print_to_pagebuf(true, buf, &cpu_mask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&cpu_mask)); } static DEVICE_ATTR(cpumask, S_IRUGO, get_attr_cpumask, NULL); diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 222dfab9225f..7181973b5b12 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -353,7 +353,7 @@ static ssize_t amd_uncore_attr_show_cpumask(struct device *dev, struct pmu *ptr = dev_get_drvdata(dev); struct amd_uncore_pmu *pmu = container_of(ptr, struct amd_uncore_pmu, pmu); - return cpumap_print_to_pagebuf(true, buf, &pmu->active_mask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&pmu->active_mask)); } static DEVICE_ATTR(cpumask, S_IRUGO, amd_uncore_attr_show_cpumask, NULL); diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 27cda71c96ce..cc13164d948f 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -7590,7 +7590,7 @@ static ssize_t intel_hybrid_get_attr_cpus(struct device *dev, struct x86_hybrid_pmu *pmu = container_of(dev_get_drvdata(dev), struct x86_hybrid_pmu, pmu); - return cpumap_print_to_pagebuf(true, buf, &pmu->supported_cpus); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&pmu->supported_cpus)); } static DEVICE_ATTR(cpus, S_IRUGO, intel_hybrid_get_attr_cpus, NULL); diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c index 9f8a80c9dcb6..b2109b37ea7f 100644 --- a/arch/x86/events/intel/uncore.c +++ b/arch/x86/events/intel/uncore.c @@ -861,7 +861,7 @@ static ssize_t uncore_get_attr_cpumask(struct device *dev, { struct intel_uncore_pmu *pmu = container_of(dev_get_drvdata(dev), struct intel_uncore_pmu, pmu); - return cpumap_print_to_pagebuf(true, buf, &pmu->cpu_mask); + return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(&pmu->cpu_mask)); } static DEVICE_ATTR(cpumask, S_IRUGO, uncore_get_attr_cpumask, NULL); |
