From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751874AbdJCOR0 (ORCPT ); Tue, 3 Oct 2017 10:17:26 -0400 Received: from mail-eopbgr10119.outbound.protection.outlook.com ([40.107.1.119]:53532 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751291AbdJCORY (ORCPT ); Tue, 3 Oct 2017 10:17:24 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH] lightnvm: pblk: use vfree_atomic when freeing line metadata To: =?UTF-8?Q?Javier_Gonz=c3=a1lez?= Cc: Hans Holmberg , =?UTF-8?Q?Matias_Bj=c3=b8rling?= , linux-block@vger.kernel.org, Linux Kernel Mailing List , Christoph Hellwig , Hans Holmberg References: <1507038524-24587-1-git-send-email-hans.ml.holmberg@owltronix.com> <5f64209d-ba28-a642-ed44-66a5eced9a99@virtuozzo.com> <9AF41216-3CB7-4AFA-B461-0957074AF0A5@lightnvm.io> From: Andrey Ryabinin Message-ID: <2aa049d5-3c31-eabc-a995-499807837a19@virtuozzo.com> Date: Tue, 3 Oct 2017 17:20:20 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <9AF41216-3CB7-4AFA-B461-0957074AF0A5@lightnvm.io> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR08CA0129.eurprd08.prod.outlook.com (2603:10a6:800:d4::31) To AM4PR08MB2819.eurprd08.prod.outlook.com (2603:10a6:205:d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3de70aa9-9727-46b8-9dd6-08d50a6975f3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:AM4PR08MB2819; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;3:PY/b2Lu/Pr7S8ihbHRMgolQjjz9BuBOM7acBlSDeqbuOWGBAMeELz1nWrEejHyyAeNwLqHljhGWIDhlJtf2AM4ulYyoGScpLCPv71W8OiDUoLhvZlqxmBAaoNAoTW3mp8FtNso2zQeHcDcwlVoBpShlOtV086lJ9oCMiHfToJ205xro3dz/293ojy/9iUqTw19cJFF8M9PPN5oaq9sfKVLpdiBGiY7o8zGb+xMCp2GiJVaerpsI3+BPAMG/nmr1E;25:wezCJXGTHuG20rVDs/r5AOlYiDi5kSYqrn7p5TNhJ2GUEHkIqTDCP1br2Y31zPFYVOKWmmA7SdM77A52kWTlKvQ5hsMShL9w7jKU4lfBwviXsHmblqP+6EMArk/YiuHu9ZLPxyhhkh1+8rkRruEmKwbABFO7Xc3wiklhdtEaGRra/VO5rh93xNAYK9+twDyYFXQKdjyuPpftCDHCP8L6w5ocXQDjZNktDtJPQuu0hycCE3ca8AjOvWQQoF+9Ul2zAk5WGO/SRfXA5DWQfs/2nseR4Vp3pkwBitb302yOY9fk8PXVX52fqNXWfTdawphZbhPlK4cXE+KBabEOBO6UaQ==;31:YTKi6RH72oap6ahVUqvRQ29CrnVvFYqhssE6BV0v56z7xnUpOB+7x8SbNQ1rDVQaanYITs15WGpKqKi2+pBOfu1uovHa9R3D2cV9dBxE2H9bbh49mSjEcb+K9gqC3uJs4meL9taDf2UH/FA41Ye51SJAKWxEX85/Zv1j7aZC+wob+vrSh2Cw26wyZKmObfM1zoKGfmJITKnQkUC9DHhnw2EsndZEetmQL+HH8S67JoI= X-MS-TrafficTypeDiagnostic: AM4PR08MB2819: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:Yn7YyX+MXGcOettCDAIC6847uvWfpyFP9bXsYqFeOE5PVlF3W1N9iYSUGl5Z80j+yy5hQtv6I/Srwfg2FtyeUtFJLTTzxz0K5NjkzuJX/LTk9yMrKFRSjBsEPHB7aNwe/bi64djtu50kOFk0HEoKHYPagPLTBnEkfeecosigTOQZlN+/OABeDsvMrpzYqzJBoYUhVGUtToDArDagHdSMTJpD0BNrzEwZ41pscJyzn1Xf/zOD4aYzOObbBKw5mqzkz/vjZAhnKIhW6teE8U6wX+rMRpPxCK8zIQiYTHOMqmGg+Gs8nglC4wKDayuelPY81J+h17rP/tvN4MhO+CW03roEW7qksBoK8V0fQSsTmayJMbK5LIhf907+Sigu45OtYnFuOQFCqVOqZQtI4giw0aD1dPsDGVcWsuitEGprQ3w=;4:Q9I/XO6X/u3ZbJw9Ys+T9JnFL1RkE1tAJxGSGUw4fwRcftzkXGEviUz9UgXAEoMocvueiX27EHirqSkyty/2SmmI39yJvi2fLBltC5729ktC0JeIayTj6x5UiwKx3oVgC4AcgtsM5xe8IJMNaSIMwcNHs1Vycc4FYiGcoYiQw3sQERi5HpmL1yhzUJ7WVmS7WZANlAzxdWo+XdkXyPQmdE/tKEcjZkz4rAGWMJriM21pIFNlQ5EihMJzACOxE4ppCmXLJQD2v2JZzG7tDM17R/fXIOHOeGyVCfo8Ii8A+ww= X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM4PR08MB2819;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM4PR08MB2819; X-Forefront-PRVS: 044968D9E1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6049001)(376002)(346002)(199003)(24454002)(377454003)(189002)(7736002)(105586002)(8936002)(189998001)(3846002)(83506001)(65826007)(2906002)(966005)(6116002)(50986999)(16576012)(16526017)(106356001)(229853002)(47776003)(6666003)(6916009)(31686004)(65956001)(58126008)(66066001)(65806001)(64126003)(6246003)(68736007)(4326008)(23746002)(2950100002)(6486002)(25786009)(33646002)(8676002)(101416001)(305945005)(81166006)(53936002)(2870700001)(53546010)(50466002)(81156014)(76176999)(54906003)(478600001)(36756003)(77096006)(86362001)(97736004)(54356999)(31696002)(5660300001)(6306002)(316002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR08MB2819;H:[172.16.25.12];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM4PR08MB2819;23:PUyLMwYqbMjGLol/VCG8H9Dy/qA8dL0FfZg55?= =?Windows-1252?Q?BjRec+mpvaEf40FEdi73P7QrE+Lv1s6DrRyW2bHTTE2WHMXhsIfezYfZ?= =?Windows-1252?Q?5NGaT7nzVzgYWzMx7WqtHLLpCujhuu76mfMjwHYnZgkFm6AWqF5gsVJM?= =?Windows-1252?Q?U8HJ0krUHveoSPnrkHH9smlILLoAR80M6h9eA3I10DJdYgLEC0QMbsxK?= =?Windows-1252?Q?+VT9cgJnqmA4AcDUD5zoAR0i6hiXtVguQBqriXAGe4joechG8XqpAR7i?= =?Windows-1252?Q?LRSk4sVjJVw2jhDbNCQYcOMvww3X/3U8t9cO/pl51OzX3zRgvWhhdyPx?= =?Windows-1252?Q?FHwBG+ltwKfL64zt61865vDNc/iEylNUcZ851ZOHQzLfKIz7Rvge3dRi?= =?Windows-1252?Q?zLYlejOpi9B5JqB58XPL3k0/yQQSkL1gLS31bzcx4Y6MsovpurXcBEqM?= =?Windows-1252?Q?quSk3vw40j8YJnR0O5hdKEEO8geB8i0BeXCS2QpgtU5RSdtLmAJDUxxO?= =?Windows-1252?Q?J3eiMhv90qo25C+sjFAJt38eresaodrUTRaSUgh+6nQVXjZh65LmlZhO?= =?Windows-1252?Q?akP7DkEnwc07au03vN6iJ3mfPKKYw2ROjoJqYRGgSJDulHy8Of3mMewg?= =?Windows-1252?Q?3Y/2Nol3dcihIoIJeVKW10/t4QFf/rZJBgdlAuvgr3lkNnayUHemjVsj?= =?Windows-1252?Q?JYwi5GBf5h4FMMP7jzZO8w1PysMzmtQQbIviffT7694fFIK5NDK0lpJh?= =?Windows-1252?Q?vLyYPU3Ye5N9mIGKuOdJNHLS+29z2PoozIOfDt+EmvND7FBBy9zJul1C?= =?Windows-1252?Q?E55GjrhyrY0elhe14AMDqHfvtHSAAD99GAvkHijLa6wtww1pVPWGPjDP?= =?Windows-1252?Q?qSZZaMkGhuhum1akr7IGAnjJdFUiQQ5tHz1q+Azu5YjWj3HaftFDndsk?= =?Windows-1252?Q?CT5GkpASM95nm9doDeZiWrbNtz3vaJv7O6PfZMttph9iTwHQoLKY9Z/Y?= =?Windows-1252?Q?tcGizhmmX1z2ajp+D/d9zQGbqmlzosm2Uye6Q+0UxnNH8O+/WJhd7Q1f?= =?Windows-1252?Q?RiTsgP7HreYfyw7jKg4Q5OVa+86Y08YjzSIFPk05AqSJE3SNYen7YeWF?= =?Windows-1252?Q?ggpOk4/FKxkuPItD+xhCTMqxQyQ7rXep+j1Cbmup0HvIDNjT+YMHn2sX?= =?Windows-1252?Q?I3XmhxFT7nj3lfS3n++CXf8U0JpMFDB/RgYdX78ys1QteCMi1uaym5XK?= =?Windows-1252?Q?u+ZmtImvc6motvWDpapJ5R+NLtkc9LPdD02ZKvj88NAF8UKIBUHMW16E?= =?Windows-1252?Q?nGsD/VXA81CHKsdlIClMuXe1V7iIQ0+YoDx1MQlb4uWDOSqTyyTY3BjG?= =?Windows-1252?Q?Vme+p0GBlnifZedVRihgn87hE4XYJNz5N01emNs5CFuOPOVnA9lBh+vU?= =?Windows-1252?Q?Im0owPdNqZR4h/V5yIiGC+fly13ge9QuDoyvlY6n47nBWRUOL1ZN7zLI?= =?Windows-1252?Q?npZ9mnCqppW60TBel7ZpUoK/gER?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;6:ZofXweMQdEKA+QsOdOATDyDLIDkOyO40zvgrQTguq3RjDtvjIDAF/AzWxHZVNXJA3WH7WQ3bJg1ZpAsBbGSe20SQxY5zaYBbWpcqTy1ntbnQsxkYP7TdnVJKlZZ3CSvBHPs1nbOLrAKDnXpmdNycr41UbLymif4SC1jTzKb9BK17fvLm+sly1B30zGMqG+ysDs+zzLW4xlmQQImCbWYuxXGWGZB4R/g3aJBBNVibIXBzqXCkxcCVodKMlZPJYZKSZB2PMY7Tay+7S2UEki4obOeMhL3Pqw499x0aKUpj4bxW2sFjqjVwfdIVw9YphdGUuMm2eaG8G4kOMsFAnpB3MQ==;5:NT9WnRp+YdkGjhqA3sIu1DarnGDHoRR2nVt6KRSk79eBAGBnosA/pdb5bDQOIpR6LWY+awAB9XkUjB3u9/HRM7+ZCK+XVolXG9i6Je8frqdTuzd5WI5sOKHZ1PMtn5szlIxwc2PSjLTizbYHUVkZvPYy3kbbmQ2t7m8krp0HCVM=;24:bVs624y2I82gQg8fLC6NZRPribf/eUKXtKH0ZuXnXc4XRiGYlM9jyxID4n5OWGw+Xe0H08g6wc8gTmKwjX0rqH1nYVhA1aI1PN5vxVPYxsQ=;7:U9PoZPMCgH+mBmk8AN2MdLwtKDcqCTuwe/VUpgLAew4t39oal6nkFHgCC0t8trzrDiZa1kZOizGP9wdapNPVycNyv9NWp6qu76SAZp2AkRZM1gz6CpujWvYQziLZJKGlNwSLmS1kytg2iDf4f8QSmjkaH+D4hYZsyLdx/k079g9qC2m5agq8QceBjkIb5D4BA//zWKOwrJVB4/LIS9l7nywnLxC02ouNR0Cxcu7Gcnc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:JiR14ETuH3AYz6UZasw6QDtcG5DdvNPfkZUOb/j9spU/E73a8Y62Gw9/kkDTeTX9v0flRvR8YtRIxxdHKVd9k7n4hsLY3iQOVidYl5xuzhVQ0t+CieqUTkGiLjzLdsoC+Q40SdUPZFmPFDJaZyXJF62IMp3u+EuJVFQqvGS2zw0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2017 14:17:19.8755 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2819 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/03/2017 05:11 PM, Javier González wrote: >> On 3 Oct 2017, at 16.07, Andrey Ryabinin wrote: >> >> >> >> On 10/03/2017 04:48 PM, Hans Holmberg wrote: >>> From: Hans Holmberg >>> >>> The commit bf22e37a6413 ("mm: add vfree_atomic()") made vfree unsafe to >>> call in atomic context (unless the call came from an interrupt) and >>> introduced vfree_atomic that is safe to call in atomic context. >>> >>> So, since we're holding locks when freeing line metadata, we need to >>> use the atomic version of vfree. >>> >>> Fix this by introducing an atomic variant of pblk_mfree and >>> switching to that in pblk_line_meta_free. >>> >>> Signed-off-by: Hans Holmberg >>> --- >>> >>> The patch is for: >>> https://github.com/OpenChannelSSD/linux branch for-4.15/pblk >>> >>> drivers/lightnvm/pblk-init.c | 3 ++- >>> drivers/lightnvm/pblk.h | 8 ++++++++ >>> 2 files changed, 10 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c >>> index c452478..3a191a6 100644 >>> --- a/drivers/lightnvm/pblk-init.c >>> +++ b/drivers/lightnvm/pblk-init.c >>> @@ -396,7 +396,8 @@ static void pblk_line_meta_free(struct pblk *pblk) >>> spin_lock(&l_mg->free_lock); >> >> What's the point in holding ->free_lock here? It seems like it could be just dropped. >> > > This lock can indeed be dropped, So, let's do this. This would be the best way to fix this. > but the general pblk semaphore, which > serializes initialization and tear down cannot. This is taken on > pblk_exit(). > But semaphore is not the problem here. We can sleep under semaphore, so it's fine. > Javier >