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 <wei.w.wang@intel.com>
> 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-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
>