On 07/22/2012 07:26 PM, Minchan Kim wrote: > On Wed, Jul 18, 2012 at 11:55:56AM -0500, Seth Jennings wrote: >> This patchset provides page mapping via the page table. >> On some archs, most notably ARM, this method has been >> demonstrated to be faster than copying. >> >> The logic controlling the method selection (copy vs page table) >> is controlled by the definition of USE_PGTABLE_MAPPING which >> is/can be defined for any arch that performs better with page >> table mapping. >> >> Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxxxxxxxxxx> >> --- >> drivers/staging/zsmalloc/zsmalloc-main.c | 182 ++++++++++++++++++++++-------- >> drivers/staging/zsmalloc/zsmalloc_int.h | 6 - >> 2 files changed, 134 insertions(+), 54 deletions(-) >> >> diff --git a/drivers/staging/zsmalloc/zsmalloc-main.c b/drivers/staging/zsmalloc/zsmalloc-main.c >> index b86133f..defe350 100644 >> --- a/drivers/staging/zsmalloc/zsmalloc-main.c >> +++ b/drivers/staging/zsmalloc/zsmalloc-main.c >> @@ -89,6 +89,30 @@ >> #define CLASS_IDX_MASK ((1 << CLASS_IDX_BITS) - 1) >> #define FULLNESS_MASK ((1 << FULLNESS_BITS) - 1) >> >> +/* >> + * By default, zsmalloc uses a copy-based object mapping method to access >> + * allocations that span two pages. However, if a particular architecture >> + * 1) Implements local_flush_tlb_kernel_range() and 2) Performs VM mapping >> + * faster than copying, then it should be added here so that > > How about adding your benchmark url? > >> + * USE_PGTABLE_MAPPING is defined. This causes zsmalloc to use page table >> + * mapping rather than copying >> + * for object mapping. > > unnecessary new line. Since these aren't functional issues with the code, if I _promise_ to send a follow-up patch to address these, can I get your Ack? -- Seth -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>