Re: [RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
On wto, 2013-08-06 at 17:16 +0800, Bob Liu wrote: > On 08/06/2013 02:42 PM, Krzysztof Kozlowski wrote: > > This reclaim process is different than zbud_reclaim_page(). It acts more > > like swapoff() by trying to unuse pages stored in zbud page and bring > > them back to memory. The standard zbud_reclaim_page() on the other hand > > tries to write them back. > > I prefer to migrate zbud pages directly if it's possible than reclaiming > them during compaction. I think it is possible however it would be definitely more complex. In case of migration the zswap handles should be updated as they are just virtual addresses. Am I right? Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
On 08/06/2013 02:42 PM, Krzysztof Kozlowski wrote: > Hi, > > Currently zbud pages are not movable and they cannot be allocated from CMA > region. These patches try to address the problem by: > 1. Adding a new form of reclaim of zbud pages. > 2. Reclaiming zbud pages during migration and compaction. > 3. Allocating zbud pages with __GFP_RECLAIMABLE flag. > > This reclaim process is different than zbud_reclaim_page(). It acts more > like swapoff() by trying to unuse pages stored in zbud page and bring > them back to memory. The standard zbud_reclaim_page() on the other hand > tries to write them back. I prefer to migrate zbud pages directly if it's possible than reclaiming them during compaction. > > One of patches introduces a new flag: PageZbud. This flag is used in > isolate_migratepages_range() to grab zbud pages and pass them later > for reclaim. Probably this could be replaced with something > smarter than a flag used only in one case. > Any ideas for a better solution are welcome. > > This patch set is based on Linux 3.11-rc4. > > TODOs: > 1. Replace PageZbud flag with other solution. > > Best regards, > Krzysztof Kozlowski > > > Krzysztof Kozlowski (4): > zbud: use page ref counter for zbud pages > mm: split code for unusing swap entries from try_to_unuse > mm: add zbud flag to page flags > mm: reclaim zbud pages on migration and compaction > > include/linux/page-flags.h | 12 ++ > include/linux/swapfile.h |2 + > include/linux/zbud.h | 11 +- > mm/compaction.c| 20 ++- > mm/internal.h |1 + > mm/page_alloc.c|9 ++ > mm/swapfile.c | 354 > +++- > mm/zbud.c | 301 + > mm/zswap.c | 57 ++- > 9 files changed, 499 insertions(+), 268 deletions(-) > -- Regards, -Bob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
Hi, Currently zbud pages are not movable and they cannot be allocated from CMA region. These patches try to address the problem by: 1. Adding a new form of reclaim of zbud pages. 2. Reclaiming zbud pages during migration and compaction. 3. Allocating zbud pages with __GFP_RECLAIMABLE flag. This reclaim process is different than zbud_reclaim_page(). It acts more like swapoff() by trying to unuse pages stored in zbud page and bring them back to memory. The standard zbud_reclaim_page() on the other hand tries to write them back. One of patches introduces a new flag: PageZbud. This flag is used in isolate_migratepages_range() to grab zbud pages and pass them later for reclaim. Probably this could be replaced with something smarter than a flag used only in one case. Any ideas for a better solution are welcome. This patch set is based on Linux 3.11-rc4. TODOs: 1. Replace PageZbud flag with other solution. Best regards, Krzysztof Kozlowski Krzysztof Kozlowski (4): zbud: use page ref counter for zbud pages mm: split code for unusing swap entries from try_to_unuse mm: add zbud flag to page flags mm: reclaim zbud pages on migration and compaction include/linux/page-flags.h | 12 ++ include/linux/swapfile.h |2 + include/linux/zbud.h | 11 +- mm/compaction.c| 20 ++- mm/internal.h |1 + mm/page_alloc.c|9 ++ mm/swapfile.c | 354 +++- mm/zbud.c | 301 + mm/zswap.c | 57 ++- 9 files changed, 499 insertions(+), 268 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
Hi, Currently zbud pages are not movable and they cannot be allocated from CMA region. These patches try to address the problem by: 1. Adding a new form of reclaim of zbud pages. 2. Reclaiming zbud pages during migration and compaction. 3. Allocating zbud pages with __GFP_RECLAIMABLE flag. This reclaim process is different than zbud_reclaim_page(). It acts more like swapoff() by trying to unuse pages stored in zbud page and bring them back to memory. The standard zbud_reclaim_page() on the other hand tries to write them back. One of patches introduces a new flag: PageZbud. This flag is used in isolate_migratepages_range() to grab zbud pages and pass them later for reclaim. Probably this could be replaced with something smarter than a flag used only in one case. Any ideas for a better solution are welcome. This patch set is based on Linux 3.11-rc4. TODOs: 1. Replace PageZbud flag with other solution. Best regards, Krzysztof Kozlowski Krzysztof Kozlowski (4): zbud: use page ref counter for zbud pages mm: split code for unusing swap entries from try_to_unuse mm: add zbud flag to page flags mm: reclaim zbud pages on migration and compaction include/linux/page-flags.h | 12 ++ include/linux/swapfile.h |2 + include/linux/zbud.h | 11 +- mm/compaction.c| 20 ++- mm/internal.h |1 + mm/page_alloc.c|9 ++ mm/swapfile.c | 354 +++- mm/zbud.c | 301 + mm/zswap.c | 57 ++- 9 files changed, 499 insertions(+), 268 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
On 08/06/2013 02:42 PM, Krzysztof Kozlowski wrote: Hi, Currently zbud pages are not movable and they cannot be allocated from CMA region. These patches try to address the problem by: 1. Adding a new form of reclaim of zbud pages. 2. Reclaiming zbud pages during migration and compaction. 3. Allocating zbud pages with __GFP_RECLAIMABLE flag. This reclaim process is different than zbud_reclaim_page(). It acts more like swapoff() by trying to unuse pages stored in zbud page and bring them back to memory. The standard zbud_reclaim_page() on the other hand tries to write them back. I prefer to migrate zbud pages directly if it's possible than reclaiming them during compaction. One of patches introduces a new flag: PageZbud. This flag is used in isolate_migratepages_range() to grab zbud pages and pass them later for reclaim. Probably this could be replaced with something smarter than a flag used only in one case. Any ideas for a better solution are welcome. This patch set is based on Linux 3.11-rc4. TODOs: 1. Replace PageZbud flag with other solution. Best regards, Krzysztof Kozlowski Krzysztof Kozlowski (4): zbud: use page ref counter for zbud pages mm: split code for unusing swap entries from try_to_unuse mm: add zbud flag to page flags mm: reclaim zbud pages on migration and compaction include/linux/page-flags.h | 12 ++ include/linux/swapfile.h |2 + include/linux/zbud.h | 11 +- mm/compaction.c| 20 ++- mm/internal.h |1 + mm/page_alloc.c|9 ++ mm/swapfile.c | 354 +++- mm/zbud.c | 301 + mm/zswap.c | 57 ++- 9 files changed, 499 insertions(+), 268 deletions(-) -- Regards, -Bob -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH 0/4] mm: reclaim zbud pages on migration and compaction
On wto, 2013-08-06 at 17:16 +0800, Bob Liu wrote: On 08/06/2013 02:42 PM, Krzysztof Kozlowski wrote: This reclaim process is different than zbud_reclaim_page(). It acts more like swapoff() by trying to unuse pages stored in zbud page and bring them back to memory. The standard zbud_reclaim_page() on the other hand tries to write them back. I prefer to migrate zbud pages directly if it's possible than reclaiming them during compaction. I think it is possible however it would be definitely more complex. In case of migration the zswap handles should be updated as they are just virtual addresses. Am I right? Best regards, Krzysztof -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/