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 84F5EC77B61 for ; Mon, 24 Apr 2023 16:57:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 943576B0071; Mon, 24 Apr 2023 12:57:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F3526B0074; Mon, 24 Apr 2023 12:57:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BD716B0075; Mon, 24 Apr 2023 12:57:19 -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 6BAD16B0071 for ; Mon, 24 Apr 2023 12:57:19 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2B1CAAC7F2 for ; Mon, 24 Apr 2023 16:57:19 +0000 (UTC) X-FDA: 80716890198.21.D2BE8B7 Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by imf29.hostedemail.com (Postfix) with ESMTP id 3343912001B for ; Mon, 24 Apr 2023 16:57:16 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=UGIfOJBU; spf=pass (imf29.hostedemail.com: domain of dianders@chromium.org designates 209.85.166.44 as permitted sender) smtp.mailfrom=dianders@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682355437; 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=FpAVc8DWHD+kbIihYmiybWX4LCsF6lJLav4KsZanNyY=; b=OgDBIQLhbtz6r/s7mrcTm2n3Anlxd2Gg4Y+wbq9+DCRSveMOUEGIE96LykF+yOk0Z8G4/t UnLK7p+cqwsK5nQ4AwNkagLHYbvkd2FzwvU6OROuN9cWEIJt3fnrIhzHBhNQzII5mKtkHn /aHC4rKtW1ihKSTeojyLBxEHRe0b0H8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=UGIfOJBU; spf=pass (imf29.hostedemail.com: domain of dianders@chromium.org designates 209.85.166.44 as permitted sender) smtp.mailfrom=dianders@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1682355437; a=rsa-sha256; cv=none; b=hXgGrNV8HY+nojTvUCIioFn+CDjtp+rHE+6HnvRbHq+Rf+dXsP7+2xEFlE2VzLR4QkQY6O 0uKOK3wUM1s7IqQo10XIru1J0Lz/aqdkw9NBZl6CxQ3o7m7HTH9a/FJbngIqNBio88/dWE GwyOVqFql1we0dwY9SwnkRIcss3aA3U= Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-76074d20a75so109956939f.3 for ; Mon, 24 Apr 2023 09:57:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1682355434; x=1684947434; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=FpAVc8DWHD+kbIihYmiybWX4LCsF6lJLav4KsZanNyY=; b=UGIfOJBUFWNilwUj94gm428KTscpfaAuKD6Mw9/o/7TI27xeXNAozhA274tL9eEWUr OkCUsHMXo3euwVf0Ycir++6sTKZNtabTE52QDqOUKtmIQReVKX7FQAJxS2zrtsGKjP3I m215xeFOFPzS2bhvD6IZO8aukX9XmJXamnPOA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682355434; x=1684947434; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FpAVc8DWHD+kbIihYmiybWX4LCsF6lJLav4KsZanNyY=; b=jLlG89EFNyu7B1HRu67Rpp1DbLOKXjwhSNE8KsAgNTs2RNR/4aaZSIVsVHsWx+HZ1R 6u6BR/McBxeaJXoELj0PnUxQBEPEXCRVRD7w5EKdqhMeONGxCCnLq5OYb6dlaD3ckxnL iTKS3tSsL1JbHMcQJFIYI71sDTsjddOM+3CrhwbXydp+6zsO9EH2JjD1YmSMsX/q6nHa gmgV9H3JkVK8UvSQjzMYymqGvykdpKGBRbN7EiOayPNsJBjxsXW+fU859hd4OfoWHZjB u87Al8BHyfg3GO+15SpIB/cdOECSMbo1TapPLc1/1Gy34o5tDDZtxYuNtsiCTVV/JT0U Twpw== X-Gm-Message-State: AAQBX9fNiYJchyzdSonnTApr/39NQKuhta6XSZFAu9XMGvmPLaUoBh1w vhcftihMdw4+g1tdX243eadReXEZRnYKrwI/dzs= X-Google-Smtp-Source: AKy350aySMAmIFmrdPHjmZ4oTTK/OA7qM0iID5T9BKVmp6KfUsZwRmeNJ0g4kLtKTIcMbS3QcyvWOQ== X-Received: by 2002:a5e:c709:0:b0:763:5ab7:a8ec with SMTP id f9-20020a5ec709000000b007635ab7a8ecmr6328751iop.12.1682355434526; Mon, 24 Apr 2023 09:57:14 -0700 (PDT) Received: from mail-il1-f172.google.com (mail-il1-f172.google.com. [209.85.166.172]) by smtp.gmail.com with ESMTPSA id r16-20020a5d9b90000000b00746041ecbf9sm3288138iom.39.2023.04.24.09.57.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Apr 2023 09:57:12 -0700 (PDT) Received: by mail-il1-f172.google.com with SMTP id e9e14a558f8ab-325f728402cso1084525ab.1 for ; Mon, 24 Apr 2023 09:57:12 -0700 (PDT) X-Received: by 2002:a05:6e02:156d:b0:315:9823:1308 with SMTP id k13-20020a056e02156d00b0031598231308mr491306ilu.7.1682355432107; Mon, 24 Apr 2023 09:57:12 -0700 (PDT) MIME-Version: 1.0 References: <20230421221249.1616168-1-dianders@chromium.org> <20230421151135.v2.1.I2b71e11264c5c214bc59744b9e13e4c353bc5714@changeid> <20230422051858.1696-1-hdanton@sina.com> In-Reply-To: <20230422051858.1696-1-hdanton@sina.com> From: Doug Anderson Date: Mon, 24 Apr 2023 09:56:58 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/4] mm/filemap: Add folio_lock_timeout() To: Hillf Danton Cc: Andrew Morton , Mel Gorman , Alexander Viro , Christian Brauner , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Yu Zhao , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 3343912001B X-Stat-Signature: mmrwni4nut9zhjwj5spnc8ycsxnuj1no X-Rspam-User: X-HE-Tag: 1682355436-776386 X-HE-Meta: U2FsdGVkX19klW9BYCT9gby0djlYiz3SiidP+2gqCfhnI9FqDo+kBwERczJCzmuTspZ7XTqjB8OUjSMTpjYqrWlZfVRsWnIpYvVgg2nMMWsPPI5FDiqgzW9LZ0QLvc9pBtdz4h29pbZiQirK7Hzsu06655eNhEAdToYxfifnkQdCIfQo0ptim/zj2G0FzflR3nrEAm6dA1URH6RXQ0a5T9aGaVVcucuvR6Uc0RzFBjhYUr1KdTjqhBnaLoJ5lnLi4S4shW4fsMKZZ0wdoUZFfGWqiL1666DIQCjWPWEEUZDwQa9xEegzQzQCbs5dtmKZUdMR+zvKl02A5D+tH069GQv0TYUxcQvIM56PwzgyeyxL8kWP3iIOd6DBIMe6YygCvtsjvBl2XpBSGDCL6RrKIYAgCXSJTKVEMN1KXeS+EDlrQef6EcQWNRCL8VtzDbr1aBfjfJY4EAl/Vt8aWkX121sIS5TMc8MEIrkBhR/FTo0RuzVSxw/KiTJC8rlRetVDSCwbJC3ILO3Rf/5SifiOOo0tczEybiUN4YM9M1+5bRuy1Tode2Vy6j2KjbkWKWteIACg/XU0DL3ah2v979a765AkuQW4B3r3wzWwNioTjPa6ndkNB3PHpzm7txneIokV+94vszJaC1usL7O5MEX0zfSQ/4tnldAfF6h4zamUorwrHkCfGXPV+QuL5u2FxpVI6w96UN8VidSj67ROPu02+L7DzheFuyLRo8y8QzlaxAPrVhQMWvAuJ+XedSR1aJuAd80JTY0qxf13GijFOqcfAol3vwjRvnXOA8x/DlKDJVHXAN29LsB3ssI/grfKjrNzYzM3+KpXseZ3CaG/BHBnPU22GnQPLkLXn89kIlc/+rl+DWr6afRs5/dLGtRc8dapccf9ui9XiJMPjrGQCaQq1ryp6GZhpp7snTJmNh9m+dgqx5HScqu3oyvgqY1q19Bf5/sJ+0XT1oKRys2a6Td d2czG4c1 wIEAVc8+xKKDrFoVvr1NJvUWLp8hsN7HoDkkqoQTNBzw2KShSTB6im5lPMJsmEAzPyJz8O5QGUh33UnePmZfdAKDOsg2muqPHUQuTfGknhkMglL8/OTMkLuL2qJ8l2GOlLOzEvhNWMuVCEQpgJtEnrhb7qmfxacttXitxQyDqHx1OK4mWqUAPuq/NpfPvSNbPAI62XgKSw94Wf2ZQ4QQsbGcasF5DBak6R93FTxKU2QMbyH8YEk6wpso8uzmWeD6pNeXGMItaNXgcj88e99xgyI9Xhn6/TorAZPU7UsH+982KRwfcKyspvF4LUyE2SEqtoLLa78VZf0mGjgO1oVd/KPEGtPcrEj+0ospUjqSSQHPgc07trVT0sh+yDnhaULM/w7LG9BV8SQjUxhD4zSAN23/h84xbu+2qk053lQvVQtKXnrO8jxN5hXbeeqQffYMWk0owVX5gVIOcF6WfeaH0ok17lA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000066, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, On Fri, Apr 21, 2023 at 10:19=E2=80=AFPM Hillf Danton wr= ote: > > On 21 Apr 2023 15:12:45 -0700 Douglas Anderson > > Add a variant of folio_lock() that can timeout. This is useful to > > avoid unbounded waits for the page lock in kcompactd. > > Given no mutex_lock_timeout() (perhaps because timeout makes no sense for > spinlock), I suspect your fix lies in the right layer. I'm not 100% sure I understood the above comment, but I think you're saying that the approach my patch takes seems OK. > If waiting for > page under IO causes trouble for you, another simpler option is make > IO faster (perhaps all you can do) for instance. Yeah, this gets into the discussion about whether our current squashfs settings actually make sense. I suspect that they don't and that we should look into EROFS like Gao suggested, or at least choose different squashfs settings (smaller block sizes, ZSTD instead of zlib). Unfortunately I believe that the current squashfs settings were chosen because disk space is a concern. > If kcompactd is waken > up by kswapd, waiting for slow IO is the right thing to do. I don't have enough intuition here, so I'm happy to take others' advice here. I guess my thought was that kcompactd is explicitly not using the full "sync" and instead choosing the "sync light". To me that means we shouldn't block for _too_ long. -Doug