Andrew Morton wrote:
On Thu, 13 Dec 2007 19:57:29 -0500 James Bottomley <[email protected]> wrote:On Thu, 2007-12-13 at 19:46 -0500, Mark Lord wrote:"Improved version", more similar to the 2.6.23 code: Fix page allocator to give better chance of larger contiguous segments (again). Signed-off-by: Mark Lord <[email protected] --- --- old/mm/page_alloc.c 2007-12-13 19:25:15.000000000 -0500 +++ linux-2.6/mm/page_alloc.c 2007-12-13 19:43:07.000000000 -0500 @@ -760,7 +760,7 @@ struct page *page = __rmqueue(zone, order, migratetype); if (unlikely(page == NULL)) break; - list_add(&page->lru, list); + list_add_tail(&page->lru, list);Could we put a big comment above this explaining to the would be vm tweakers why this has to be a list_add_tail, so we don't end up back in this position after another two years?Already done ;)
.. I thought of the comment as I rushed off for dinner. Thanks, Andrew!
--- a/mm/page_alloc.c~fix-page_alloc-for-larger-i-o-segments-fix +++ a/mm/page_alloc.c @@ -847,6 +847,10 @@ static int rmqueue_bulk(struct zone *zon struct page *page = __rmqueue(zone, order, migratetype); if (unlikely(page == NULL)) break; + /* + * Doing a list_add_tail() here helps us to hand out pages in + * ascending physical-address order. + */ list_add_tail(&page->lru, list); set_page_private(page, migratetype); } _
-- 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/
- References:
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Matthew Wilcox <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Jens Axboe <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Jens Axboe <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Jens Axboe <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Jens Axboe <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Jens Axboe <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Andrew Morton <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: James Bottomley <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Andrew Morton <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Andrew Morton <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- From: Mark Lord <[email protected]>
- [PATCH] fix page_alloc for larger I/O segments (improved)
- From: Mark Lord <[email protected]>
- Re: [PATCH] fix page_alloc for larger I/O segments (improved)
- From: James Bottomley <[email protected]>
- Re: [PATCH] fix page_alloc for larger I/O segments (improved)
- From: Andrew Morton <[email protected]>
- Re: QUEUE_FLAG_CLUSTER: not working in 2.6.24 ?
- Prev by Date: Re: aead_geniv_* [crypto/seqiv.ko] undefined! (MMOTM stamp-2007-12-13-15-37)
- Next by Date: Re: [PATCH 1/7] [NETDEV]: e1000 Fix possible causing oops of net_rx_action
- Previous by thread: Re: [PATCH] fix page_alloc for larger I/O segments (improved)
- Next by thread: Re: [PATCH] fix page_alloc for larger I/O segments (improved)
- Index(es):