Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3111845iob; Mon, 16 May 2022 13:23:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyHp+UTQqExx07rr7+XRPSdKZbJOvE2S/M9OBc2DRjmfdmXoP1UFxu6V2noQtIrxefLdUlE X-Received: by 2002:a17:90b:1b07:b0:1dc:5ec5:56b0 with SMTP id nu7-20020a17090b1b0700b001dc5ec556b0mr21411169pjb.165.1652732604964; Mon, 16 May 2022 13:23:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652732604; cv=none; d=google.com; s=arc-20160816; b=oh3md2ls6+Jdvdk/9h+LuhekxoYf6hu+5tEkz4Z2nslZD5fwr5vc7MNf7Sh1kep4SM ogXhPPNo2WWfVWh9W75Cl8xkk07N4Qv2GpcA+Lvj+BLjf6WNR+bz4XO68YY3nJpFmxA9 XZ+eVtxYMBhHGlsdvLpwr/fy9A1hkz6b3kYfoKx3ZYdajIH3pa6B7DmFlUTnpi2LolD0 +h/UdcWJSDoGiN+rIyTQWlDr0zEfg8rY0MVxAN6+ZF8Pzh71r8JQM1i/3GAITXnMtamI NkeJLQYqvAkeQ6Fh6X2EulRk76FnEmxbL5mWl27F6v/vohmoGYJ/gM14lrlETPFPFroA HM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=tPZL+h8jcnBW8PHWzi1Lq2sdX5BxnED0XWH1cfUGZUM=; b=KTozLFmul4RH4xZ8AHgOfsB0nh28KMT2ufA21CXOiaCHdE6qcmJFAHJTG7f14qMe8v e0jJ1kKf2r2pbVsAY9polRLczKO/7yr/xavpslJ7YOrxAQcRMv5Q7AHmf7svKg7UERQV fd6BTM4GPXV0Hzr3Sbf2H7pGfoTQ5kJ49MnscTv+HvToJUpuuma4QBfQhzBo25zgJicK KhBnJiR3PMKdCoEJsYiX+ePmNyRrjJPOJp5shApKkoQYflI1i8W9+SKwTDeAqBhu0KuX /2LI7yXGdwXcXDKQaMwCOy+Zsemp5mLMIiVPqhvydhWkFiaaq+ZOQ4sXMMgA7NkR0asV eOjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=DEZpbOgE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l24-20020a637018000000b003c6c6e0a4dcsi13568207pgc.83.2022.05.16.13.23.13; Mon, 16 May 2022 13:23:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=DEZpbOgE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235730AbiEPMsc (ORCPT + 99 others); Mon, 16 May 2022 08:48:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235250AbiEPMsU (ORCPT ); Mon, 16 May 2022 08:48:20 -0400 Received: from mail-vs1-xe32.google.com (mail-vs1-xe32.google.com [IPv6:2607:f8b0:4864:20::e32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B68738BE1 for ; Mon, 16 May 2022 05:48:19 -0700 (PDT) Received: by mail-vs1-xe32.google.com with SMTP id q2so15377308vsr.5 for ; Mon, 16 May 2022 05:48:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tPZL+h8jcnBW8PHWzi1Lq2sdX5BxnED0XWH1cfUGZUM=; b=DEZpbOgEvpT0/mw7g8WxEqnXML+QP8L1f8t8EVAx5s6EJcEal8pQJc72+LahAsseMq jxB1+F3/ufWv217kKKmVIIay1JoTF+vO0ReKEN4pFmokQ6DwS263F0437nEDO79rvDTg lLyLQLHmMI0I70TkS9sgr7H2lgaMMthSrfP3k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tPZL+h8jcnBW8PHWzi1Lq2sdX5BxnED0XWH1cfUGZUM=; b=AEsLh1krWx78Wl7oNF34LGZ33pqyxOwg8OiZZgGgmTznUd1n7coNcQ2YiHa/j6dJE8 RylRWJlArr4Ii1Ud7vYlCNsr4NFid3mW/tb39qxav0/ugdc2nlzGYjVXXf+R5GexlmQs Jt9IJncZZPVaNht/OkH+Qsa8rc9nsw4fOzhzjNzx+xPUVfdfhwYG9hbcK7iC9o9ASEaI 9yu9P3TiOzfZUPuH1EstiohSs3TNr05KfPVfsHofpM2w3Pq892P1V/1zuleT6MNBu7ox U4ee/QYo65th36MtYJWx5BeQefby7ELfLjri6NtbvUhsh9O+yC/XuREfh8ZrwKHWj3Kp OjXw== X-Gm-Message-State: AOAM533nmYpS5AlEVsqF8FK0q3JY9PD4G+R/5BzQYz3GaBOZ2fPrHRBW 6aMSkwIMRaI5GU+KX6kS8ieaKHHhR2e+J2xXxNSyQw== X-Received: by 2002:a67:d999:0:b0:335:7e5c:63d5 with SMTP id u25-20020a67d999000000b003357e5c63d5mr4976709vsj.69.1652705298452; Mon, 16 May 2022 05:48:18 -0700 (PDT) MIME-Version: 1.0 References: <20220516105100.1412740-1-hsinyi@chromium.org> <20220516105100.1412740-3-hsinyi@chromium.org> In-Reply-To: From: Hsin-Yi Wang Date: Mon, 16 May 2022 20:47:52 +0800 Message-ID: Subject: Re: [PATCH 2/2] squashfs: implement readahead To: Matthew Wilcox Cc: Phillip Lougher , Xiongwei Song , Zheng Liang , Zhang Yi , Hou Tao , Miao Xie , Andrew Morton , "linux-mm @ kvack . org" , "squashfs-devel @ lists . sourceforge . net" , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 16, 2022 at 8:36 PM Matthew Wilcox wrote: > > On Mon, May 16, 2022 at 07:04:08PM +0800, Hsin-Yi Wang wrote: > > > + loff_t req_end = readahead_pos(ractl) + readahead_length(ractl); > > > + loff_t start = readahead_pos(ractl) &~ mask; > > > + size_t len = readahead_length(ractl) + readahead_pos(ractl) - start; > > > + struct squashfs_page_actor *actor; > > > + unsigned int nr_pages = 0; > > > + struct page **pages; > > > + u64 block = 0; > > > + int bsize, res, i, index; > > > + int file_end = i_size_read(inode) >> msblk->block_log; > > > + unsigned int max_pages = 1UL << shift; > > > + > > > + readahead_expand(ractl, start, (len | mask) + 1); > > > + > > > + if (readahead_pos(ractl) + readahead_length(ractl) < req_end || > > > + file_end == 0) > > > + return; > > What's the first half of this condition supposed to be checking for? > It seems to be checking whether readahead_expand() shrunk the range > covered by the ractl, but readahead_expand() never does that, so I'm > confused why you're checking for it. hi Matthew, This is to check if readahead_expand() expands as much as it's requested. I didn't encounter the mismatch so far in my testing. If this check is not necessary, it can be removed.