From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751894AbbIZIJ5 (ORCPT ); Sat, 26 Sep 2015 04:09:57 -0400 Received: from mail-la0-f50.google.com ([209.85.215.50]:33077 "EHLO mail-la0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751723AbbIZIJy (ORCPT ); Sat, 26 Sep 2015 04:09:54 -0400 Date: Sat, 26 Sep 2015 10:09:43 +0200 From: Vitaly Wool To: ddstreet@ieee.org, akpm@linux-foundation.org, Seth Jennings , Minchan Kim , Sergey Senozhatsky Cc: linux-kernel , Linux-MM Subject: [PATCHv2 3/3] zsmalloc: add compaction callbacks Message-Id: <20150926100943.60420d355d818aa64be0dd9d@gmail.com> In-Reply-To: <20150926100401.96a36c7cd3c913b063887466@gmail.com> References: <20150926100401.96a36c7cd3c913b063887466@gmail.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add compaction callbacks for zpool compaction API extension. Signed-off-by: Vitaly Wool --- mm/zsmalloc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index f135b1b..8f2ddd1 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -365,6 +365,19 @@ static void zs_zpool_unmap(void *pool, unsigned long handle) zs_unmap_object(pool, handle); } +static unsigned long zs_zpool_compact(void *pool) +{ + return zs_compact(pool); +} + +static unsigned long zs_zpool_get_compacted(void *pool) +{ + struct zs_pool_stats stats; + + zs_pool_stats(pool, &stats); + return stats.pages_compacted; +} + static u64 zs_zpool_total_size(void *pool) { return zs_get_total_pages(pool) << PAGE_SHIFT; @@ -380,6 +393,8 @@ static struct zpool_driver zs_zpool_driver = { .shrink = zs_zpool_shrink, .map = zs_zpool_map, .unmap = zs_zpool_unmap, + .compact = zs_zpool_compact, + .get_num_compacted = zs_zpool_get_compacted, .total_size = zs_zpool_total_size, }; -- 1.9.1