search for: node_zones

Displaying 20 results from an estimated 26 matches for "node_zones".

2017 Aug 08
2
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...f the zone->lock. What I've had in mind was to simply >> walk free lists of the suitable order and call the callback for each >> one. >> Something as simple as >> >> for (i = 0; i < MAX_NR_ZONES; i++) { >> struct zone *zone = &pgdat->node_zones[i]; >> >> if (!populated_zone(zone)) >> continue; > > Can we directly use for_each_populated_zone(zone) here? > > >> spin_lock_irqsave(&zone->lock, flags); >> for (order = min_order; order < MAX_ORDER; ++order) { > &...
2017 Aug 08
2
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...f the zone->lock. What I've had in mind was to simply >> walk free lists of the suitable order and call the callback for each >> one. >> Something as simple as >> >> for (i = 0; i < MAX_NR_ZONES; i++) { >> struct zone *zone = &pgdat->node_zones[i]; >> >> if (!populated_zone(zone)) >> continue; > > Can we directly use for_each_populated_zone(zone) here? > > >> spin_lock_irqsave(&zone->lock, flags); >> for (order = min_order; order < MAX_ORDER; ++order) { > &...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...pointers outside of the zone->lock. What I've had in mind was to simply > >walk free lists of the suitable order and call the callback for each one. > >Something as simple as > > > > for (i = 0; i < MAX_NR_ZONES; i++) { > > struct zone *zone = &pgdat->node_zones[i]; > > > > if (!populated_zone(zone)) > > continue; > > spin_lock_irqsave(&zone->lock, flags); > > for (order = min_order; order < MAX_ORDER; ++order) { > > struct free_area *free_area = &zone->free_area[order]; > > enum migratety...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...pointers outside of the zone->lock. What I've had in mind was to simply > >walk free lists of the suitable order and call the callback for each one. > >Something as simple as > > > > for (i = 0; i < MAX_NR_ZONES; i++) { > > struct zone *zone = &pgdat->node_zones[i]; > > > > if (!populated_zone(zone)) > > continue; > > spin_lock_irqsave(&zone->lock, flags); > > for (order = min_order; order < MAX_ORDER; ++order) { > > struct free_area *free_area = &zone->free_area[order]; > > enum migratety...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
...nd wrong actually. Never provide struct page pointers outside of the zone->lock. What I've had in mind was to simply walk free lists of the suitable order and call the callback for each one. Something as simple as for (i = 0; i < MAX_NR_ZONES; i++) { struct zone *zone = &pgdat->node_zones[i]; if (!populated_zone(zone)) continue; spin_lock_irqsave(&zone->lock, flags); for (order = min_order; order < MAX_ORDER; ++order) { struct free_area *free_area = &zone->free_area[order]; enum migratetype mt; struct page *page; if (!free_area->nr_pages)...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
...nd wrong actually. Never provide struct page pointers outside of the zone->lock. What I've had in mind was to simply walk free lists of the suitable order and call the callback for each one. Something as simple as for (i = 0; i < MAX_NR_ZONES; i++) { struct zone *zone = &pgdat->node_zones[i]; if (!populated_zone(zone)) continue; spin_lock_irqsave(&zone->lock, flags); for (order = min_order; order < MAX_ORDER; ++order) { struct free_area *free_area = &zone->free_area[order]; enum migratetype mt; struct page *page; if (!free_area->nr_pages)...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...hat I've had in mind was to simply > >>>walk free lists of the suitable order and call the callback for each one. > >>>Something as simple as > >>> > >>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>> struct zone *zone = &pgdat->node_zones[i]; > >>> > >>> if (!populated_zone(zone)) > >>> continue; > >>> spin_lock_irqsave(&zone->lock, flags); > >>> for (order = min_order; order < MAX_ORDER; ++order) { > >>> struct free_area *free_area = &zone-...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...hat I've had in mind was to simply > >>>walk free lists of the suitable order and call the callback for each one. > >>>Something as simple as > >>> > >>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>> struct zone *zone = &pgdat->node_zones[i]; > >>> > >>> if (!populated_zone(zone)) > >>> continue; > >>> spin_lock_irqsave(&zone->lock, flags); > >>> for (order = min_order; order < MAX_ORDER; ++order) { > >>> struct free_area *free_area = &zone-...
2017 Aug 10
1
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...was to simply >>>> walk free lists of the suitable order and call the callback for each >>>> one. >>>> Something as simple as >>>> >>>> for (i = 0; i < MAX_NR_ZONES; i++) { >>>> struct zone *zone = &pgdat->node_zones[i]; >>>> >>>> if (!populated_zone(zone)) >>>> continue; >>> Can we directly use for_each_populated_zone(zone) here? > yes, my example couldn't because I was still assuming per-node API > >>>> spin_lock_irqsave(&a...
2017 Aug 10
1
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...was to simply >>>> walk free lists of the suitable order and call the callback for each >>>> one. >>>> Something as simple as >>>> >>>> for (i = 0; i < MAX_NR_ZONES; i++) { >>>> struct zone *zone = &pgdat->node_zones[i]; >>>> >>>> if (!populated_zone(zone)) >>>> continue; >>> Can we directly use for_each_populated_zone(zone) here? > yes, my example couldn't because I was still assuming per-node API > >>>> spin_lock_irqsave(&a...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...gt; >>>>>walk free lists of the suitable order and call the callback for each one. > >>>>>Something as simple as > >>>>> > >>>>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>>>> struct zone *zone = &pgdat->node_zones[i]; > >>>>> > >>>>> if (!populated_zone(zone)) > >>>>> continue; > >>>>> spin_lock_irqsave(&zone->lock, flags); > >>>>> for (order = min_order; order < MAX_ORDER; ++order) { > >>>&gt...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...gt; >>>>>walk free lists of the suitable order and call the callback for each one. > >>>>>Something as simple as > >>>>> > >>>>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>>>> struct zone *zone = &pgdat->node_zones[i]; > >>>>> > >>>>> if (!populated_zone(zone)) > >>>>> continue; > >>>>> spin_lock_irqsave(&zone->lock, flags); > >>>>> for (order = min_order; order < MAX_ORDER; ++order) { > >>>&gt...
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...the zone->lock. What I've had in mind was to simply >>> walk free lists of the suitable order and call the callback for each one. >>> Something as simple as >>> >>> for (i = 0; i < MAX_NR_ZONES; i++) { >>> struct zone *zone = &pgdat->node_zones[i]; >>> >>> if (!populated_zone(zone)) >>> continue; >>> spin_lock_irqsave(&zone->lock, flags); >>> for (order = min_order; order < MAX_ORDER; ++order) { >>> struct free_area *free_area = &zone->free_area[order]; &gt...
2017 Aug 08
0
[PATCH v13 4/5] mm: support reporting free page blocks
...ide struct page > pointers outside of the zone->lock. What I've had in mind was to simply > walk free lists of the suitable order and call the callback for each one. > Something as simple as > > for (i = 0; i < MAX_NR_ZONES; i++) { > struct zone *zone = &pgdat->node_zones[i]; > > if (!populated_zone(zone)) > continue; Can we directly use for_each_populated_zone(zone) here? > spin_lock_irqsave(&zone->lock, flags); > for (order = min_order; order < MAX_ORDER; ++order) { This appears to be covered by for_each_migratetype_order(ord...
2017 Aug 10
0
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...t I've had in mind was to simply > >>walk free lists of the suitable order and call the callback for each > >>one. > >>Something as simple as > >> > >> for (i = 0; i < MAX_NR_ZONES; i++) { > >> struct zone *zone = &pgdat->node_zones[i]; > >> > >> if (!populated_zone(zone)) > >> continue; > > > >Can we directly use for_each_populated_zone(zone) here? yes, my example couldn't because I was still assuming per-node API > >>spin_lock_irqsave(&zone->lock,...
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...mind was to simply >>>>> walk free lists of the suitable order and call the callback for each one. >>>>> Something as simple as >>>>> >>>>> for (i = 0; i < MAX_NR_ZONES; i++) { >>>>> struct zone *zone = &pgdat->node_zones[i]; >>>>> >>>>> if (!populated_zone(zone)) >>>>> continue; >>>>> spin_lock_irqsave(&zone->lock, flags); >>>>> for (order = min_order; order < MAX_ORDER; ++order) { >>>>> struct free_area...
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...>> walk free lists of the suitable order and call the callback for each one. >>>>>>> Something as simple as >>>>>>> >>>>>>> for (i = 0; i < MAX_NR_ZONES; i++) { >>>>>>> struct zone *zone = &pgdat->node_zones[i]; >>>>>>> >>>>>>> if (!populated_zone(zone)) >>>>>>> continue; >>>>>>> spin_lock_irqsave(&zone->lock, flags); >>>>>>> for (order = min_order; order < MAX_ORDER; ++order) { &...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...e lists of the suitable order and call the callback for each one. > >>>>>>>Something as simple as > >>>>>>> > >>>>>>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>>>>>> struct zone *zone = &pgdat->node_zones[i]; > >>>>>>> > >>>>>>> if (!populated_zone(zone)) > >>>>>>> continue; > >>>>>>> spin_lock_irqsave(&zone->lock, flags); > >>>>>>> for (order = min_order; order < MA...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...e lists of the suitable order and call the callback for each one. > >>>>>>>Something as simple as > >>>>>>> > >>>>>>> for (i = 0; i < MAX_NR_ZONES; i++) { > >>>>>>> struct zone *zone = &pgdat->node_zones[i]; > >>>>>>> > >>>>>>> if (!populated_zone(zone)) > >>>>>>> continue; > >>>>>>> spin_lock_irqsave(&zone->lock, flags); > >>>>>>> for (order = min_order; order < MA...
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...ide struct page > pointers outside of the zone->lock. What I've had in mind was to simply > walk free lists of the suitable order and call the callback for each one. > Something as simple as > > for (i = 0; i < MAX_NR_ZONES; i++) { > struct zone *zone = &pgdat->node_zones[i]; > > if (!populated_zone(zone)) > continue; > spin_lock_irqsave(&zone->lock, flags); > for (order = min_order; order < MAX_ORDER; ++order) { > struct free_area *free_area = &zone->free_area[order]; > enum migratetype mt; > struct page *p...