Re: [PATCH v12 7/8] mm: export symbol of next_zone and first_online_pgdat

2017-07-14 Thread Michal Hocko
On Wed 12-07-17 20:40:20, Wei Wang wrote:
> This patch enables for_each_zone()/for_each_populated_zone() to be
> invoked by a kernel module.

This needs much better justification with an example of who is going to
use these symbols and what for.
 
> Signed-off-by: Wei Wang 
> ---
>  mm/mmzone.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/mmzone.c b/mm/mmzone.c
> index a51c0a6..08a2a3a 100644
> --- a/mm/mmzone.c
> +++ b/mm/mmzone.c
> @@ -13,6 +13,7 @@ struct pglist_data *first_online_pgdat(void)
>  {
>   return NODE_DATA(first_online_node);
>  }
> +EXPORT_SYMBOL_GPL(first_online_pgdat);
>  
>  struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
>  {
> @@ -41,6 +42,7 @@ struct zone *next_zone(struct zone *zone)
>   }
>   return zone;
>  }
> +EXPORT_SYMBOL_GPL(next_zone);
>  
>  static inline int zref_in_nodemask(struct zoneref *zref, nodemask_t *nodes)
>  {
> -- 
> 2.7.4
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majord...@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: mailto:"d...@kvack.org";> em...@kvack.org 

-- 
Michal Hocko
SUSE Labs


Re: [virtio-dev] Re: [PATCH v12 7/8] mm: export symbol of next_zone and first_online_pgdat

2017-07-13 Thread Wei Wang

On 07/13/2017 08:16 AM, Michael S. Tsirkin wrote:

On Wed, Jul 12, 2017 at 08:40:20PM +0800, Wei Wang wrote:

This patch enables for_each_zone()/for_each_populated_zone() to be
invoked by a kernel module.

... for use by virtio balloon.


With this patch, other kernel modules can also use the for_each_zone().
Would it be better to claim it broader?




Signed-off-by: Wei Wang 

balloon seems to only use
+   for_each_populated_zone(zone)
+   for_each_migratetype_order(order, type)



Yes. using for_each_populated_zone() requires the following export.

Best,
Wei

---
  mm/mmzone.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/mm/mmzone.c b/mm/mmzone.c
index a51c0a6..08a2a3a 100644
--- a/mm/mmzone.c
+++ b/mm/mmzone.c
@@ -13,6 +13,7 @@ struct pglist_data *first_online_pgdat(void)
  {
return NODE_DATA(first_online_node);
  }
+EXPORT_SYMBOL_GPL(first_online_pgdat);
  
  struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)

  {
@@ -41,6 +42,7 @@ struct zone *next_zone(struct zone *zone)
}
return zone;
  }
+EXPORT_SYMBOL_GPL(next_zone);
  
  static inline int zref_in_nodemask(struct zoneref *zref, nodemask_t *nodes)

  {
--
2.7.4

-
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org





Re: [PATCH v12 7/8] mm: export symbol of next_zone and first_online_pgdat

2017-07-12 Thread Michael S. Tsirkin
On Wed, Jul 12, 2017 at 08:40:20PM +0800, Wei Wang wrote:
> This patch enables for_each_zone()/for_each_populated_zone() to be
> invoked by a kernel module.

... for use by virtio balloon.

> Signed-off-by: Wei Wang 

balloon seems to only use
+   for_each_populated_zone(zone)
+   for_each_migratetype_order(order, type)


> ---
>  mm/mmzone.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/mmzone.c b/mm/mmzone.c
> index a51c0a6..08a2a3a 100644
> --- a/mm/mmzone.c
> +++ b/mm/mmzone.c
> @@ -13,6 +13,7 @@ struct pglist_data *first_online_pgdat(void)
>  {
>   return NODE_DATA(first_online_node);
>  }
> +EXPORT_SYMBOL_GPL(first_online_pgdat);
>  
>  struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
>  {
> @@ -41,6 +42,7 @@ struct zone *next_zone(struct zone *zone)
>   }
>   return zone;
>  }
> +EXPORT_SYMBOL_GPL(next_zone);
>  
>  static inline int zref_in_nodemask(struct zoneref *zref, nodemask_t *nodes)
>  {
> -- 
> 2.7.4