Re: [RFC/PATCH] unregister_node() for hotplug use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> This adds a generic function 'unregister_node()'.
> It is used to remove objects of a node going away
> for hotplug.
> 
> Signed-off-by: Keiichiro Tokunaga <[email protected]>
> ---
> 
>  linux-2.6.12-rc3-mm3-kei/drivers/base/node.c  |   15 +++++++++++++--
>  linux-2.6.12-rc3-mm3-kei/include/linux/node.h |    1 +
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff -puN drivers/base/node.c~numa_hp_base drivers/base/node.c
> --- linux-2.6.12-rc3-mm3/drivers/base/node.c~numa_hp_base	2005-05-07 19:58:15.000000000 +0900
> +++ linux-2.6.12-rc3-mm3-kei/drivers/base/node.c	2005-05-07 19:58:15.000000000 +0900
> @@ -136,7 +136,7 @@ static SYSDEV_ATTR(distance, S_IRUGO, no
>   *
>   * Initialize and register the node device.
>   */
> -int __init register_node(struct node *node, int num, struct node *parent)
> +int register_node(struct node *node, int num, struct node *parent)
>  {
>  	int error;
>  
> @@ -153,8 +153,19 @@ int __init register_node(struct node *no
>  	return error;
>  }
>  
> +void unregister_node(struct node *node)
> +{
> +	sysdev_remove_file(&node->sysdev, &attr_cpumap);
> +	sysdev_remove_file(&node->sysdev, &attr_meminfo);
> +	sysdev_remove_file(&node->sysdev, &attr_numastat);
> +	sysdev_remove_file(&node->sysdev, &attr_distance);
> +
> +	sysdev_unregister(&node->sysdev);
> +}

Is it a bug to call unregister_node() if there are still cpus or
memory present in the node?  Note that register_cpu() creates a
symlink under the node directory to the cpu -- are you assuming that
all the node's cpu sysdevs will have been unregistered by the time
unregister_node is called?  If so, is it possible to enforce that, or
at least document it?

> +EXPORT_SYMBOL_GPL(register_node);
> +EXPORT_SYMBOL_GPL(unregister_node);

What module code needs to call these?  ACPI?


Nathan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux