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 6E738EB64DD for ; Tue, 11 Jul 2023 10:10:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E3EEC6B0074; Tue, 11 Jul 2023 06:10:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DEDA36B0075; Tue, 11 Jul 2023 06:10:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C8E996B0078; Tue, 11 Jul 2023 06:10:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BA71F6B0074 for ; Tue, 11 Jul 2023 06:10:13 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 90B491C7C1A for ; Tue, 11 Jul 2023 10:10:13 +0000 (UTC) X-FDA: 80998910706.10.9910595 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by imf26.hostedemail.com (Postfix) with ESMTP id 50871140026 for ; Tue, 11 Jul 2023 10:10:10 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=sberdevices.ru header.s=mail header.b=fg68qtB3; dmarc=pass (policy=quarantine) header.from=sberdevices.ru; spf=pass (imf26.hostedemail.com: domain of AVRomanov@sberdevices.ru designates 37.18.73.165 as permitted sender) smtp.mailfrom=AVRomanov@sberdevices.ru ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689070210; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1Ds7ADexczTIN8UwlpIAdKvimhONmfXKKgGmNTSaJXU=; b=5+afz7Z99UOs6VhxBX8xUiFlq4kqRwAtIprILMCljv7cQXVGFBPslEtAAhycjgsv9gX3hj sw7jm5vvGPwXOPBONUlvB6PdHcQ8J7Ow8geGUVSx/MawbYzVgeSYe8qGFy+IcVvEAzzFP1 vrWX4Ou07SOwJ3mP3HNReZ91cCUbY58= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=sberdevices.ru header.s=mail header.b=fg68qtB3; dmarc=pass (policy=quarantine) header.from=sberdevices.ru; spf=pass (imf26.hostedemail.com: domain of AVRomanov@sberdevices.ru designates 37.18.73.165 as permitted sender) smtp.mailfrom=AVRomanov@sberdevices.ru ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689070210; a=rsa-sha256; cv=none; b=IgRNb3Ns4wbJOVxD9hypeRo8LDhm+dfjqysCLSSx3SzOYGH/AcrbvV7PQyojhtx3Pq9n7M TwsIsmGsA+PCmoSK1vz3ANefuKD5Tz9+SXWdbcEsf8FGXdCSfWVS3Oh+nMxkyIlavpB9xy 74tUNpznU0eDuhfSKVliGms/qAVoaTg= Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 26415100004; Tue, 11 Jul 2023 13:10:06 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 26415100004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1689070206; bh=1Ds7ADexczTIN8UwlpIAdKvimhONmfXKKgGmNTSaJXU=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version:From; b=fg68qtB3wT5WHXtW2u/PKv6YOZ5lhN6RxVjUxgXYTV+g6nLu4OBTpku+nZ0oPaiv5 NcVcDKFspTZ5gdyjwdnNTVjKZcQGkxM/F3YZnp2VRsDuwidV9YhhEuLrKuC0M7CdFF EwhRX6QdpUXe0yc7nrAWPB238cs1Az22tLkVDQKOw7bM3SRhY3LTKODqbLxmnP95nf KwWtMwM3DzFm/xPHgrSJ9/KlnQTnXpEPSNqX7T9q/lWI8QJqpIOLAa9iVljzKjevDy w5leBsuG7ZX2qwF0hA5y5Y3AyEvfDTJY6azCvu+Fr3riBRXFFgJ8AwroPzTYvxM56A k1PzYW+e+/f7Q== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Tue, 11 Jul 2023 13:10:06 +0300 (MSK) Received: from p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Tue, 11 Jul 2023 13:09:58 +0300 Received: from p-i-exch-sc-m01.sberdevices.ru ([fe80::b547:aec1:796b:61ea]) by p-i-exch-sc-m01.sberdevices.ru ([fe80::b547:aec1:796b:61ea%5]) with mapi id 15.02.1118.030; Tue, 11 Jul 2023 13:09:58 +0300 From: Alexey Romanov To: Minchan Kim CC: Andrew Morton , linux-mm , Jens Axboe , Konrad Rzeszutek Wilk , Seth Jennings , Sergey Senozhatsky Subject: Re: [PATCH 3/3] zram: remove swap_slot_free_notify Thread-Topic: [PATCH 3/3] zram: remove swap_slot_free_notify Thread-Index: AQHZs9/ZfiorfQMqLE+vQcmwj6Xg7A== Date: Tue, 11 Jul 2023 10:09:58 +0000 Message-ID: <20230711101000.mqby77xjewnhkx2t@cab-wsm-0029881.sigma.sbrf.ru> References: <20230710221659.2473460-1-minchan@kernel.org> <20230710221659.2473460-4-minchan@kernel.org> In-Reply-To: <20230710221659.2473460-4-minchan@kernel.org> Accept-Language: ru-RU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.18.93] Content-Type: text/plain; charset="us-ascii" Content-ID: <035B254D7143D847AB477AD8A29A688A@sberdevices.ru> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 178538 [Jul 11 2023] X-KSMG-AntiSpam-Version: 5.9.59.0 X-KSMG-AntiSpam-Envelope-From: AVRomanov@sberdevices.ru X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 521 521 0c3391dd6036774f2e1052158c81e48587b96e95, {Track_E25351}, {Tracking_internal2}, {Tracking_from_domain_doesnt_match_to}, sberdevices.ru:7.1.1,5.0.1;p-i-exch-sc-m01.sberdevices.ru:7.1.1,5.0.1;127.0.0.199:7.1.2;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;cab-wsm-0029881.sigma.sbrf.ru:7.1.1,5.0.1, FromAlignment: s, {Tracking_white_helo} X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/11 07:44:00 #21597011 X-KSMG-AntiVirus-Status: Clean, skipped X-Rspamd-Queue-Id: 50871140026 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: tp6kxdepyp9q5fhfyci6j8t6on4bdanz X-HE-Tag: 1689070210-555484 X-HE-Meta: U2FsdGVkX19HWnDxzuGR1pYZCNDEcIYcW01Z6aU95kGGlpm6mUHsR5YxwY7kzhjiGaP1pGBzQLTR/rhBXoKeuPnehgRRmSTqm9n8fbtAWvq9MGMKnhw8/LRS2p+viB1WFCdTlVXUi50QnVqk3yffCTMGlz2Se5jq8HO/WiRNy3YgP0szBPnV1xJ7PWmow5kDTUTne6LmMaAdfeKFAOtqr7cqCOwbrRJdV3CTzJeahTRQbur49D7SJodit/2rqEyeZ2lrHhuktndVl9fUbYd6VR70Q0b87UzX/yyQsOGn4gcZ87gC900NxHDCrP9gpDVkIRe/ztPlID06FWVJA1UYyEbcR9AtpWZ9ipy6kToKCQaf79rGXHrgkA5Ukj3FnbHuuBctmrcqwocDRnxwkmjPB+2H04yY5/XJOn1MD77xWrG9VWaqGpE/zI0f5cLmypTCoHXwMn0IcFgqy0Dz0/BgTfFIiJY9C+kJWY+8Gs8zrpbJYsHLr7t0NRFDfrJFQM2OTp/81taf0BcrXdnsGJ9SH3NKYEOE1gwqjVRpe3Ieu19fFu7DiTWyBdCovg7ZZJSbj0LdWTMNe1CZ61zLvE4HpfRjbTeAczkFAhjNjbB63KUJmC+rxhecOiAqaZAeI2runng1c8lGT9iOSYzTyS2W3A2E46n8whmscfLR0erI3iVfT2+2hl4DspSv1a5ud8pjV4hW9HPA9VK3CArg7SWJxdA/ZQvfuoQzbfci3mhO2L4t8eQZDOgXMLZPtG1ubF4kEHhzb2vduis+akf9CYFKS0G27SIehr6vG9624dimuCDThkqvX7lnzsL6tgG9FG5ZKmNAWFmYB/S9cid0YJxf4OZvJ/YLgoc+UnYeVKUX4klt9wmBddBFw5L2xSbkpqdTrFDH4bVKqEeHY5d4ENITtySHgITKIES9AY+y2lMbHSrA992o2/mNt/T0IBhCeV+WcagfWSQ0ANkqyzR4NLV DOMrWnad ueUS5pgU9lb7rVkuiBhMCllmYaOZ+AWnnEP5bJZ28v2Q9z7dwb8BVQP88FLJiFD2jW/HOHLYhRlIlAOv+fgaTPgdM5fx2EJ+3zhSSgAAV9A4saT84E6OEVlNWcIYJ69NNqlBHgebqfcMgaJSg+sfixqo70fwyw2OA/X262HBZmsFAFqmG3K+yq4ai2bJPFL7ju0e82yc4WyC+wCrVaW7SdLPK3PH7bkxtaTqdmeEqeecqGFQoyjlcCSrDABWrR+ttNfdaghvlI/IISelU5AgqPfGzUKiCdD7cJc1qbkWFr5PJ+afwPUuMyysVrVCNZXRJlYCELbGzoOTl+ITxGt2x9yR+1PD/p7zHl5or+FmzwMTP6kCk2Ulcqg92+p6rp7YsfTYBiT0xFfYI1XH5s+kWYIkuNQ== 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: Hello, On Mon, Jul 10, 2023 at 03:16:59PM -0700, Minchan Kim wrote: > Frontswap replaces the need for swap_slot_free_notify in block_device. > Therefore, we can remove it. >=20 > 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(-) >=20 > diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesy= stems/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); > =20 > locking rules: > =20 > @@ -491,12 +490,8 @@ compat_ioctl: no > direct_access: no > unlock_native_capacity: no > getgeo: no > -swap_slot_free_notify: no (see below) > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =20 > -swap_slot_free_notify is called with swap_lock and sometimes the page lo= ck > -held. > - > =20 > file_operations > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 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) > } > } > =20 > -static void zram_slot_free_notify(struct block_device *bdev, > - unsigned long index) > -{ > - struct zram *zram; > - > - zram =3D 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, fmo= de_t mode) > static const struct block_device_operations zram_devops =3D { > .open =3D zram_open, > .submit_bio =3D zram_submit_bio, > - .swap_slot_free_notify =3D zram_slot_free_notify, > .owner =3D THIS_MODULE > }; > =20 > @@ -2206,7 +2188,7 @@ static int zram_frontswap_load(unsigned int type, p= goff_t index, > =20 > err =3D zram_read_from_zspool(zram, page, index); > if (!err) > - zram_accessed(zram, index); > + zram_free_page(zram, index); Probably it should be in the previous commit. > zram_slot_unlock(zram, index); > =20 > 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 =3D offset; > unsigned long end =3D offset + nr_entries - 1; > - void (*swap_slot_free_notify)(struct block_device *, unsigned long); > =20 > if (offset < si->lowest_bit) > si->lowest_bit =3D 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 =3D > - si->bdev->bd_disk->fops->swap_slot_free_notify; > - else > - swap_slot_free_notify =3D NULL; > while (offset <=3D 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); > --=20 > 2.41.0.255.g8b1d071c50-goog >=20 >=20 --=20 Thank you, Alexey=