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 X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA7D7C2D0E5 for ; Wed, 25 Mar 2020 17:49:13 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 800AD2078D for ; Wed, 25 Mar 2020 17:49:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=intel-com.20150623.gappssmtp.com header.i=@intel-com.20150623.gappssmtp.com header.b="CArd9H+n" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 800AD2078D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 1692C6B00B7; Wed, 25 Mar 2020 13:49:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 14B906B00C0; Wed, 25 Mar 2020 13:49:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 055CB6B00C1; Wed, 25 Mar 2020 13:49:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0129.hostedemail.com [216.40.44.129]) by kanga.kvack.org (Postfix) with ESMTP id E063B6B00B7 for ; Wed, 25 Mar 2020 13:49:12 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id AA17C348B8 for ; Wed, 25 Mar 2020 17:49:12 +0000 (UTC) X-FDA: 76634620944.10.bird84_506099f30ea16 X-HE-Tag: bird84_506099f30ea16 X-Filterd-Recvd-Size: 4847 Received: from mail-ed1-f67.google.com (mail-ed1-f67.google.com [209.85.208.67]) by imf50.hostedemail.com (Postfix) with ESMTP for ; Wed, 25 Mar 2020 17:49:12 +0000 (UTC) Received: by mail-ed1-f67.google.com with SMTP id bd14so3590583edb.10 for ; Wed, 25 Mar 2020 10:49:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UQLg73f4A6IdCvlkz6AAgidHZXBVbjJUTIhnj9QMJq0=; b=CArd9H+nUYQo86GgTO34kcf8M/qaGTtxoUap7Zv3rckjuMdaZYN1F6JjgfnWPrmmQD STLiZXfm9tTL4tzLvCBpRJ7We2yFE5YuaVYOVylxRmNv+lJGiiAUSyUkCZ2JU2MdAdtK /mehUtAxrA6Npr8A1L1muHfUvFvs2COnFJy1ZnrkPpjoNS8yFICdQt3s0xwQfjnwCpbU iX04wAD3h9RPqTOKiG6KbgGQ4OF9ezvrMsfHGyNb7m92ahBGPMbYr0/XbX7m2hj1Pebn xuQdsVlIEt+LULaBWLDhOZkiim1Sh7F259hWZF0OdyJeF8VkU9WQLChRU/rMYvagJ8Gg Gcpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UQLg73f4A6IdCvlkz6AAgidHZXBVbjJUTIhnj9QMJq0=; b=MCOxxYmJ/Y4cH3EsjkzJk7e9L5EU3h5ThLjKqYnVd+BQ0qQVGgqK2nOhdXyhq4IOj1 2sqmDea3k/C0i0aNeyT/EQcaV1dt5yICItExkKNdBmTXWi2IB33vcIt/G/5faCNt+8CV uXSgrKtP3MvPFYBgwYWWGl0os9WusVuIbybCLAjHe+s592eNfuwr2qLGHCdqiIXf1dxk 0Xn5SBy3AC+cR7qzfNYLOfLehEOyFoEQZCS5iw5CkzgqhjXbdxLbrfJYhx28fDliArdZ fx+IbzDA9c1SHprWvzn9RAEHQVFbzeUTw7dGS9RvShB3nRPleWnDo9Mt/+yfQxgkWJK4 qDVw== X-Gm-Message-State: ANhLgQ1ZZUl28M/EEi19av5jOmxBisZ5emr2GieKJVTU1dzccU2RJ1zi qYyA6i6TPibggiaill/qJgpTqdcyxqJK5qR8ZGzovpmg X-Google-Smtp-Source: ADFU+vvboEnhuKsKIQb1Icp0tf2ZKIBZhzX0zsyDsXuxXz0SOdiPzd+VaI3b61+gj6WVPFLBvXBLoqtuW6eHq2rVeAE= X-Received: by 2002:aa7:c609:: with SMTP id h9mr4043188edq.93.1585158550697; Wed, 25 Mar 2020 10:49:10 -0700 (PDT) MIME-Version: 1.0 References: <158500767138.2088294.17131646259803932461.stgit@dwillia2-desk3.amr.corp.intel.com> <158500773552.2088294.8756587190550753100.stgit@dwillia2-desk3.amr.corp.intel.com> <9a6ff83f-095c-0689-d6d1-693a6e9c07e6@oracle.com> In-Reply-To: From: Dan Williams Date: Wed, 25 Mar 2020 10:48:58 -0700 Message-ID: Subject: Re: [PATCH 11/12] device-dax: Add dis-contiguous resource support To: Joao Martins Cc: Linux MM , Dave Hansen , Christoph Hellwig , linux-nvdimm , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" 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: On Wed, Mar 25, 2020 at 3:35 AM Joao Martins wrote: > > On 3/24/20 4:12 PM, Joao Martins wrote: > > On 3/23/20 11:55 PM, Dan Williams wrote: > >> static ssize_t dev_dax_resize(struct dax_region *dax_region, > >> struct dev_dax *dev_dax, resource_size_t size) > >> { > >> resource_size_t avail = dax_region_avail_size(dax_region), to_alloc; > >> - resource_size_t dev_size = range_len(&dev_dax->range); > >> + resource_size_t dev_size = dev_dax_size(dev_dax); > >> struct resource *region_res = &dax_region->res; > >> struct device *dev = &dev_dax->dev; > >> - const char *name = dev_name(dev); > >> struct resource *res, *first; > >> + resource_size_t alloc = 0; > >> + int rc; > >> > >> if (dev->driver) > >> return -EBUSY; > >> @@ -684,38 +766,47 @@ static ssize_t dev_dax_resize(struct dax_region *dax_region, > >> * allocating a new resource. > >> */ > >> first = region_res->child; > >> - if (!first) > >> - return __alloc_dev_dax_range(dev_dax, dax_region->res.start, > >> - to_alloc); > > > > You probably want to retain the condition above? > > > > Otherwise it removes the ability to create new devices or resizing it , once we > > have zero-ed the last one. > > > > A quick unit test that I had stashed here to help explain what I mean: > > cd /sys/bus/dax/devices > # dax0.0 is the only dax device in the corresponding dax_region > echo dax0.0 > dax0.0/driver/unbind > echo 0 > dax0.0/size > # Shouldn't fail but returns -ENOSPC despite having > # the full region available > cat $(readlink -f dax0.0/../dax_region/available_size) > dax0.0/size Thanks! Will incorporate that test before resending the series.