From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A150EB64D9 for ; Mon, 10 Jul 2023 22:17:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5AD688D0006; Mon, 10 Jul 2023 18:17:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 499BC8D0001; Mon, 10 Jul 2023 18:17:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3146A8D0006; Mon, 10 Jul 2023 18:17:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1DFAA8D0001 for ; Mon, 10 Jul 2023 18:17:12 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E532BA02A3 for ; Mon, 10 Jul 2023 22:17:11 +0000 (UTC) X-FDA: 80997113862.19.09BACBB Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf22.hostedemail.com (Postfix) with ESMTP id 5C110C0012 for ; Mon, 10 Jul 2023 22:17:09 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=KEiY6CnY; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=pass (imf22.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689027430; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8+4p6uJlpyQVP23aPliMbwA52rUCZU8lTEH3UMTHTIA=; b=ULyX4u1UtFsE8r6XVHIGAqsoz7qTbxLtPURpMwhhBXEOHH3N4CTU8+yDRgqaGIslF6n4tp Jt3Pp5I7YzfzF+pa+1HXe1Bmf1KnQqhj76Lo2ZfHguBQxFV70xKJy1ByR6tgIvMe6agUEF IhR7eE9zKkJny+Z35LazjF9S6VTZlyg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=KEiY6CnY; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=pass (imf22.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689027430; a=rsa-sha256; cv=none; b=ZdNVPE9nmxdLBrwrgCNMOQOIb8os9moU+PVc+p9O3CfAv82zljDXZjOb/1kaFMKUxNEcih 3VpQ6OCsgbVIhXztDiWo4kjX9icS42FHvJIk/Pb6V++PXMr0qkJKb2CWoCCpbgPImmOGJs 8XiVE21l8OE6E2YjUuCqw1m4VVAZia0= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1b89600a37fso24710535ad.2 for ; Mon, 10 Jul 2023 15:17:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689027429; x=1691619429; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=8+4p6uJlpyQVP23aPliMbwA52rUCZU8lTEH3UMTHTIA=; b=KEiY6CnYA2FM2ZF0AeGtDSI1v8tvb59dgjzLZqEEVsZf24nOq8HP73kaYvzScDIx6O R5LumBWRpj4uGUtPS5YPmJja/WIAMG6LEJw/sUbr52WreSfGiNDv6SwL97Inlj3eHlJW DhFH3S4lkpIJv2ZvIYnk/amxtjEONbEnX8WAUpafl/6z3e+t4cQBGEUOEz1RLHEwGE6s mC5LmaPuLpHp/ujfudlW2xVDyU70I7o1PZum3lQ0JrPj0KrOzD0DR2/qRDRitOn3Ge6u WE4UVzLaOZXv95h6MyqEMpk2Hilv3/GFlBs8CDZqDrAiL4txAiy2pSk7iO9Y4NJg5F3A A3AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689027429; x=1691619429; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8+4p6uJlpyQVP23aPliMbwA52rUCZU8lTEH3UMTHTIA=; b=T/MMHlhX9Z+IvGCBuAZBpYLp/T3aYlBW4rS4LLoe5kcEuX/BW3JCRV6l18lqG1tDh3 ENLDZOKCVIYXsLRWa7OCLyTIFeiuOa7mNtP6n0LpnClUcPAMS4GOSigqeIUf0+BPf3Xa 0YnZcbQaIGAgU9mFXvvhhg9iLizeflDn6OztZsfrlFbmVc+00/arbX8sI/XzHvRTV6ae st0oCkI25tziNHWG3c8GK8HGXGwfMkzJPbLSWxK8z67dpiovEX94pWIopPgYHt8I81XT C/OUZ36Pn4nAW9jBjCQoRnrv8XDPwjng8IRWNbYn79QLsXwSEHbAnY3SWpC5UyNyOVTd Bpgw== X-Gm-Message-State: ABy/qLYm7ISBP57vwXu973lHZSzSqrurhxAhYV1Q8U8vEKq2gSFVRfq6 jGxzKv+/bgnLtnMltieDf50= X-Google-Smtp-Source: APBJJlEfElRuE97E6JXfLC11FE5Gna/5aPWo7jqhQen+kgiFBTjYQJBAjEBWEhFJOV2KuUa/x+zo+A== X-Received: by 2002:a17:902:f546:b0:1b8:af5e:853f with SMTP id h6-20020a170902f54600b001b8af5e853fmr14188065plf.24.1689027428874; Mon, 10 Jul 2023 15:17:08 -0700 (PDT) Received: from bbox-1.mtv.corp.google.com ([2620:15c:211:201:1922:28f0:ba3b:368e]) by smtp.gmail.com with ESMTPSA id c23-20020a170902cb1700b001b9bebbc621sm376425ply.136.2023.07.10.15.17.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Jul 2023 15:17:08 -0700 (PDT) From: Minchan Kim To: Andrew Morton Cc: linux-mm , Jens Axboe , Konrad Rzeszutek Wilk , Seth Jennings , Sergey Senozhatsky , Minchan Kim Subject: [PATCH 3/3] zram: remove swap_slot_free_notify Date: Mon, 10 Jul 2023 15:16:59 -0700 Message-ID: <20230710221659.2473460-4-minchan@kernel.org> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog In-Reply-To: <20230710221659.2473460-1-minchan@kernel.org> References: <20230710221659.2473460-1-minchan@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: hsgcdtunnfo8w8yri6d5fgfr1oppaone X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5C110C0012 X-HE-Tag: 1689027429-322013 X-HE-Meta: U2FsdGVkX19VscT6YbE3nbk24QtB08k2Hnvkpa/Vz+8ncbgCL3TWNpkImehm8lHU8otmK0ppD6tmSyq/ex1VrGZV6C8soek4MkVCcrk0BsqjChf53cb1Yh9tJWnuiP5NLgf0cxMr2ABTMahB6rUK0fMhCH88CIDiP9069d6Rn176+fU7mL+7CJ6WDrW7rrBpOd04v9bkF/Vz5SmP5mathiRUPxLYpPe/Q8uHX0DXRuaLrUGgspRfuQluj1TUD8WOeiqZgnPh5zp0+4XZNVvUv4IQRBkny1DsRLL4moT/ZTarLdJUP0pw30/XWVnNp/YBAqVHBYl3NRp7L1j+TUszVi+FZTVspoltS2eVKN5u5siFWcen/O/aOfm+LT4YGGQazRLO+y78Pzjy2PJrys7+sbJmp6iJ2gxRvc+ciJmgx7dh9MyrMzzvfGhFfJjNIPbtfwVLkAq3cmXnS+f3qCm519VxULyioyaCa9fhsW7wWq3OQZqqMpAU1UCES9oGmy0p+JsA9sJnxlimZreAy1ZOPOyK5M8Qyauugw88+/X2Fv2ufHCKSI/CMMKkVjVs/sWEx9IzarTZ71FwW+TMNo4oMs5jZIQHyGUS3VMpQPDMQ5iKCm1AhjZK9UplJXXt17vQ4hlyGL/1j5KRf8PYXPzTLSoB+XX9KkL6BH3y8z6c7N/ox6fzjRtx6/ekIwXAMl/DqWdBgZNORuj3W+1tVV/SWlu9zAevG3pxI//WPAbU6HWPJW/Zx+marqUWyJNwl+9USYWq8cHb3JXD4HyaCrqSQ/sPD0Ey6WAhtsSxZULG1uvs1dfixUIlYJaaW1tlkQSngKhNAOUripBglX1Rac7oUsJuJ4e2zjxs1YbORADBVyLfkBu/155GPKbK39E8Lqk3nybRZy5p3WuLfgH5aEWIew0ccPP5AnJVnbZnh36Dmk6FncPllqL7sYD6ZqHBMHPZK0HFcdD/jXZE7VjBDcl 257h+83I tNZ4bTEPmHSz96fOl4Jmu2Ixxu0ogt1gtT5cq0botjQOzHPKa/G/j2fo4Q79tmqsc77nlHae7PLEK96kx8KnLzQzuITj3bVcyTcKxodV2SwKCuJ0vbXHA9eM4vpJGMA54xFin0rngLNQ69/zSSAIJ39ZNZu/qvZ5sq3Ai9ebZt82OL7BloWUeLkY67w64zWFCzXgM95mWt59tOnge1LJNDl8qAvqXGdck9314aSNsEsmZpX/ZTn69WvALc2PJqS//aq5KChnXvnXhfGCDcQpXHkilnF9lIM6YFTsxxU9VAAnRuXPi7G/jBoSPd8fYrS3jTJz//kpKIxSpt9uyXRximw0S3UN0aHTCXGy3X/P9CHFj0aXvEBIq/NGRh118lD/Jbgq6vb191vpTbaDIl9MUCQu51mPaCJeGbfegGy293sfunWrexZUCyxd4vyfCvVZC+a7WzxXBFjAkEPbrn4v8ld1g53ubGBUE5gmf9MQgJa8TEqoGKOaDgVDhAt0bJYzDEbwoN1n8RnRyoImbE7gy2BfV0j3S5hzGW0EBVfUjQyanFMM0a1GznbiZltQMTgYn1ziQMBM6SRVc/bTaK6G14nCdvr6b2H/eI3MrgsiGL1eNXeZS38dr9xn+tEqoVvhYeYKF2h8KkasQsIDied6Vu8ZW+82WBWVSvBJj2T5hpuFDmqH8CKZ1s+60HVu7PGZX7+vl X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Frontswap replaces the need for swap_slot_free_notify in block_device. Therefore, we can remove it. Signed-off-by: Minchan Kim --- Documentation/filesystems/locking.rst | 5 ----- drivers/block/zram/zram_drv.c | 20 +------------------- include/linux/blkdev.h | 2 -- mm/swapfile.c | 8 -------- 4 files changed, 1 insertion(+), 34 deletions(-) diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesystems/locking.rst index aa1a233b0fa8..c94ef7d9fc6e 100644 --- a/Documentation/filesystems/locking.rst +++ b/Documentation/filesystems/locking.rst @@ -477,7 +477,6 @@ block_device_operations unsigned long *); void (*unlock_native_capacity) (struct gendisk *); int (*getgeo)(struct block_device *, struct hd_geometry *); - void (*swap_slot_free_notify) (struct block_device *, unsigned long); locking rules: @@ -491,12 +490,8 @@ compat_ioctl: no direct_access: no unlock_native_capacity: no getgeo: no -swap_slot_free_notify: no (see below) ======================= =================== -swap_slot_free_notify is called with swap_lock and sometimes the page lock -held. - file_operations =============== diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 5e973c982235..ec040ab3ab91 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1947,23 +1947,6 @@ static void zram_submit_bio(struct bio *bio) } } -static void zram_slot_free_notify(struct block_device *bdev, - unsigned long index) -{ - struct zram *zram; - - zram = bdev->bd_disk->private_data; - - atomic64_inc(&zram->stats.notify_free); - if (!zram_slot_trylock(zram, index)) { - atomic64_inc(&zram->stats.miss_free); - return; - } - - zram_free_page(zram, index); - zram_slot_unlock(zram, index); -} - static void zram_destroy_comps(struct zram *zram) { u32 prio; @@ -2117,7 +2100,6 @@ static int zram_open(struct block_device *bdev, fmode_t mode) static const struct block_device_operations zram_devops = { .open = zram_open, .submit_bio = zram_submit_bio, - .swap_slot_free_notify = zram_slot_free_notify, .owner = THIS_MODULE }; @@ -2206,7 +2188,7 @@ static int zram_frontswap_load(unsigned int type, pgoff_t index, err = zram_read_from_zspool(zram, page, index); if (!err) - zram_accessed(zram, index); + zram_free_page(zram, index); zram_slot_unlock(zram, index); return err; diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index c0ffe203a602..49e1843e44ea 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1390,8 +1390,6 @@ struct block_device_operations { int (*getgeo)(struct block_device *, struct hd_geometry *); int (*set_read_only)(struct block_device *bdev, bool ro); void (*free_disk)(struct gendisk *disk); - /* this callback is with swap_lock and sometimes page table lock held */ - void (*swap_slot_free_notify) (struct block_device *, unsigned long); int (*report_zones)(struct gendisk *, sector_t sector, unsigned int nr_zones, report_zones_cb cb, void *data); char *(*devnode)(struct gendisk *disk, umode_t *mode); diff --git a/mm/swapfile.c b/mm/swapfile.c index a9424fd226bc..adc16d8883c8 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -726,7 +726,6 @@ static void swap_range_free(struct swap_info_struct *si, unsigned long offset, { unsigned long begin = offset; unsigned long end = offset + nr_entries - 1; - void (*swap_slot_free_notify)(struct block_device *, unsigned long); if (offset < si->lowest_bit) si->lowest_bit = offset; @@ -739,16 +738,9 @@ static void swap_range_free(struct swap_info_struct *si, unsigned long offset, } atomic_long_add(nr_entries, &nr_swap_pages); WRITE_ONCE(si->inuse_pages, si->inuse_pages - nr_entries); - if (si->flags & SWP_BLKDEV) - swap_slot_free_notify = - si->bdev->bd_disk->fops->swap_slot_free_notify; - else - swap_slot_free_notify = NULL; while (offset <= end) { arch_swap_invalidate_page(si->type, offset); frontswap_invalidate_page(si->type, offset); - if (swap_slot_free_notify) - swap_slot_free_notify(si->bdev, offset); offset++; } clear_shadow_from_swap_cache(si->type, begin, end); -- 2.41.0.255.g8b1d071c50-goog