s390: replace deprecated CPU-hotplug functions
The functions get_online_cpus() and put_online_cpus() have been deprecated during the CPU hotplug rework. They map directly to cpus_read_lock() and cpus_read_unlock(). Replace deprecated CPU-hotplug functions with the official version. The behavior remains unchanged. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: https://lore.kernel.org/r/20210803141621.780504-5-bigeasy@linutronix.de Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
committed by
Heiko Carstens
parent
de5012b41e
commit
a73de29320
@@ -33,12 +33,12 @@ static void *diag0c_store(unsigned int *count)
|
|||||||
unsigned int cpu_count, cpu, i;
|
unsigned int cpu_count, cpu, i;
|
||||||
void **cpu_vec;
|
void **cpu_vec;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
cpu_count = num_online_cpus();
|
cpu_count = num_online_cpus();
|
||||||
cpu_vec = kmalloc_array(num_possible_cpus(), sizeof(*cpu_vec),
|
cpu_vec = kmalloc_array(num_possible_cpus(), sizeof(*cpu_vec),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!cpu_vec)
|
if (!cpu_vec)
|
||||||
goto fail_put_online_cpus;
|
goto fail_unlock_cpus;
|
||||||
/* Note: Diag 0c needs 8 byte alignment and real storage */
|
/* Note: Diag 0c needs 8 byte alignment and real storage */
|
||||||
diag0c_data = kzalloc(struct_size(diag0c_data, entry, cpu_count),
|
diag0c_data = kzalloc(struct_size(diag0c_data, entry, cpu_count),
|
||||||
GFP_KERNEL | GFP_DMA);
|
GFP_KERNEL | GFP_DMA);
|
||||||
@@ -54,13 +54,13 @@ static void *diag0c_store(unsigned int *count)
|
|||||||
on_each_cpu(diag0c_fn, cpu_vec, 1);
|
on_each_cpu(diag0c_fn, cpu_vec, 1);
|
||||||
*count = cpu_count;
|
*count = cpu_count;
|
||||||
kfree(cpu_vec);
|
kfree(cpu_vec);
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return diag0c_data;
|
return diag0c_data;
|
||||||
|
|
||||||
fail_kfree_cpu_vec:
|
fail_kfree_cpu_vec:
|
||||||
kfree(cpu_vec);
|
kfree(cpu_vec);
|
||||||
fail_put_online_cpus:
|
fail_unlock_cpus:
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ static int show_diag_stat(struct seq_file *m, void *v)
|
|||||||
unsigned long n = (unsigned long) v - 1;
|
unsigned long n = (unsigned long) v - 1;
|
||||||
int cpu, prec, tmp;
|
int cpu, prec, tmp;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
if (n == 0) {
|
if (n == 0) {
|
||||||
seq_puts(m, " ");
|
seq_puts(m, " ");
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ static int show_diag_stat(struct seq_file *m, void *v)
|
|||||||
}
|
}
|
||||||
seq_printf(m, " %s\n", diag_map[n-1].name);
|
seq_printf(m, " %s\n", diag_map[n-1].name);
|
||||||
}
|
}
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ int show_interrupts(struct seq_file *p, void *v)
|
|||||||
int index = *(loff_t *) v;
|
int index = *(loff_t *) v;
|
||||||
int cpu, irq;
|
int cpu, irq;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
seq_puts(p, " ");
|
seq_puts(p, " ");
|
||||||
for_each_online_cpu(cpu)
|
for_each_online_cpu(cpu)
|
||||||
@@ -258,7 +258,7 @@ int show_interrupts(struct seq_file *p, void *v)
|
|||||||
seq_putc(p, '\n');
|
seq_putc(p, '\n');
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1138,7 +1138,7 @@ static long cfset_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
mutex_lock(&cfset_ctrset_mutex);
|
mutex_lock(&cfset_ctrset_mutex);
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case S390_HWCTR_START:
|
case S390_HWCTR_START:
|
||||||
@@ -1155,7 +1155,7 @@ static long cfset_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mutex_unlock(&cfset_ctrset_mutex);
|
mutex_unlock(&cfset_ctrset_mutex);
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -365,7 +365,7 @@ static inline void *c_update(loff_t *pos)
|
|||||||
|
|
||||||
static void *c_start(struct seq_file *m, loff_t *pos)
|
static void *c_start(struct seq_file *m, loff_t *pos)
|
||||||
{
|
{
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
return c_update(pos);
|
return c_update(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -377,7 +377,7 @@ static void *c_next(struct seq_file *m, void *v, loff_t *pos)
|
|||||||
|
|
||||||
static void c_stop(struct seq_file *m, void *v)
|
static void c_stop(struct seq_file *m, void *v)
|
||||||
{
|
{
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct seq_operations cpuinfo_op = {
|
const struct seq_operations cpuinfo_op = {
|
||||||
|
|||||||
@@ -793,7 +793,7 @@ static int __smp_rescan_cpus(struct sclp_core_info *info, bool early)
|
|||||||
u16 core_id;
|
u16 core_id;
|
||||||
int nr, i;
|
int nr, i;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
mutex_lock(&smp_cpu_state_mutex);
|
mutex_lock(&smp_cpu_state_mutex);
|
||||||
nr = 0;
|
nr = 0;
|
||||||
cpumask_xor(&avail, cpu_possible_mask, cpu_present_mask);
|
cpumask_xor(&avail, cpu_possible_mask, cpu_present_mask);
|
||||||
@@ -816,7 +816,7 @@ static int __smp_rescan_cpus(struct sclp_core_info *info, bool early)
|
|||||||
nr += smp_add_core(&info->core[i], &avail, configured, early);
|
nr += smp_add_core(&info->core[i], &avail, configured, early);
|
||||||
}
|
}
|
||||||
mutex_unlock(&smp_cpu_state_mutex);
|
mutex_unlock(&smp_cpu_state_mutex);
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return nr;
|
return nr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1055,7 +1055,7 @@ static ssize_t cpu_configure_store(struct device *dev,
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (val != 0 && val != 1)
|
if (val != 0 && val != 1)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
mutex_lock(&smp_cpu_state_mutex);
|
mutex_lock(&smp_cpu_state_mutex);
|
||||||
rc = -EBUSY;
|
rc = -EBUSY;
|
||||||
/* disallow configuration changes of online cpus and cpu 0 */
|
/* disallow configuration changes of online cpus and cpu 0 */
|
||||||
@@ -1104,7 +1104,7 @@ static ssize_t cpu_configure_store(struct device *dev,
|
|||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&smp_cpu_state_mutex);
|
mutex_unlock(&smp_cpu_state_mutex);
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return rc ? rc : count;
|
return rc ? rc : count;
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store);
|
static DEVICE_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store);
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ static ssize_t dispatching_store(struct device *dev,
|
|||||||
if (val != 0 && val != 1)
|
if (val != 0 && val != 1)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
rc = 0;
|
rc = 0;
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
mutex_lock(&smp_cpu_state_mutex);
|
mutex_lock(&smp_cpu_state_mutex);
|
||||||
if (cpu_management == val)
|
if (cpu_management == val)
|
||||||
goto out;
|
goto out;
|
||||||
@@ -417,7 +417,7 @@ static ssize_t dispatching_store(struct device *dev,
|
|||||||
topology_expect_change();
|
topology_expect_change();
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&smp_cpu_state_mutex);
|
mutex_unlock(&smp_cpu_state_mutex);
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return rc ? rc : count;
|
return rc ? rc : count;
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR_RW(dispatching);
|
static DEVICE_ATTR_RW(dispatching);
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
|||||||
void *bounce = (void *) addr;
|
void *bounce = (void *) addr;
|
||||||
unsigned long size;
|
unsigned long size;
|
||||||
|
|
||||||
get_online_cpus();
|
cpus_read_lock();
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
if (is_swapped(addr)) {
|
if (is_swapped(addr)) {
|
||||||
size = PAGE_SIZE - (addr & ~PAGE_MASK);
|
size = PAGE_SIZE - (addr & ~PAGE_MASK);
|
||||||
@@ -237,7 +237,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr)
|
|||||||
memcpy_absolute(bounce, (void *) addr, size);
|
memcpy_absolute(bounce, (void *) addr, size);
|
||||||
}
|
}
|
||||||
preempt_enable();
|
preempt_enable();
|
||||||
put_online_cpus();
|
cpus_read_unlock();
|
||||||
return bounce;
|
return bounce;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user