powerpc/numa: remove ability to enable topology updates
Remove the /proc/powerpc/topology_updates interface and the topology_updates=on/off command line argument. The internal topology_updates_enabled flag remains for now, but always false. Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com> Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200612051238.1007764-4-nathanl@linux.ibm.com
This commit is contained in:
parent
ec2fc2a9e9
commit
c30f931e89
1 changed files with 1 additions and 70 deletions
|
@ -984,27 +984,7 @@ static int __init early_numa(char *p)
|
||||||
}
|
}
|
||||||
early_param("numa", early_numa);
|
early_param("numa", early_numa);
|
||||||
|
|
||||||
/*
|
static const bool topology_updates_enabled;
|
||||||
* The platform can inform us through one of several mechanisms
|
|
||||||
* (post-migration device tree updates, PRRN or VPHN) that the NUMA
|
|
||||||
* assignment of a resource has changed. This controls whether we act
|
|
||||||
* on that. Disabled by default.
|
|
||||||
*/
|
|
||||||
static bool topology_updates_enabled;
|
|
||||||
|
|
||||||
static int __init early_topology_updates(char *p)
|
|
||||||
{
|
|
||||||
if (!p)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (!strcmp(p, "on")) {
|
|
||||||
pr_warn("Caution: enabling topology updates\n");
|
|
||||||
topology_updates_enabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
early_param("topology_updates", early_topology_updates);
|
|
||||||
|
|
||||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||||
/*
|
/*
|
||||||
|
@ -1632,52 +1612,6 @@ int prrn_is_enabled(void)
|
||||||
return prrn_enabled;
|
return prrn_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int topology_read(struct seq_file *file, void *v)
|
|
||||||
{
|
|
||||||
if (vphn_enabled || prrn_enabled)
|
|
||||||
seq_puts(file, "on\n");
|
|
||||||
else
|
|
||||||
seq_puts(file, "off\n");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int topology_open(struct inode *inode, struct file *file)
|
|
||||||
{
|
|
||||||
return single_open(file, topology_read, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ssize_t topology_write(struct file *file, const char __user *buf,
|
|
||||||
size_t count, loff_t *off)
|
|
||||||
{
|
|
||||||
char kbuf[4]; /* "on" or "off" plus null. */
|
|
||||||
int read_len;
|
|
||||||
|
|
||||||
read_len = count < 3 ? count : 3;
|
|
||||||
if (copy_from_user(kbuf, buf, read_len))
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
kbuf[read_len] = '\0';
|
|
||||||
|
|
||||||
if (!strncmp(kbuf, "on", 2)) {
|
|
||||||
topology_updates_enabled = true;
|
|
||||||
start_topology_update();
|
|
||||||
} else if (!strncmp(kbuf, "off", 3)) {
|
|
||||||
stop_topology_update();
|
|
||||||
topology_updates_enabled = false;
|
|
||||||
} else
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct proc_ops topology_proc_ops = {
|
|
||||||
.proc_read = seq_read,
|
|
||||||
.proc_write = topology_write,
|
|
||||||
.proc_open = topology_open,
|
|
||||||
.proc_release = single_release,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int topology_update_init(void)
|
static int topology_update_init(void)
|
||||||
{
|
{
|
||||||
start_topology_update();
|
start_topology_update();
|
||||||
|
@ -1685,9 +1619,6 @@ static int topology_update_init(void)
|
||||||
if (vphn_enabled)
|
if (vphn_enabled)
|
||||||
topology_schedule_update();
|
topology_schedule_update();
|
||||||
|
|
||||||
if (!proc_create("powerpc/topology_updates", 0644, NULL, &topology_proc_ops))
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
topology_inited = 1;
|
topology_inited = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue