Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3266138pxv; Sun, 25 Jul 2021 23:10:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2fIjyWZU5lhlmIIEH5Wsnjb9eh94E1/bY06gSFmkFPy0vQsEHuyhGQfSLhMO5SJgfOZnB X-Received: by 2002:a05:6e02:de6:: with SMTP id m6mr12107495ilj.203.1627279807251; Sun, 25 Jul 2021 23:10:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627279807; cv=none; d=google.com; s=arc-20160816; b=FV0g5brjFqJbc0AQlUY+iaC2uqYLlwConr1ZYOeNhNVmXkIZn8VkrFe2ekEJjPGkNb IryTsA0o3eqtlAN9w0RUqLKoWlhPZuNNntWpOLPiRELFrH+QvxG5txwrd7CggryNiv4Z TtKxpytijq9n/OmoOyB2aZHrcz7arne29HLdMf1EpAa+98E0bH3O18EYDmUT8fox+Ufr swVN88AcBERIWZlLG/p5wG+9642oO6gOuouVlSLaOP6mwYh/UZ96kmz5iTCUw1Scqulm ImhscZc07VKk3sqYOFsEAaNmeYesnAQM49VOpzzg39zPKHCb3QlPVTHYXnM0+sH5PlG2 fX0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Fs/qMW+zCQPBZoUzNXy1A88u02WLrjhFdFexEEelAZE=; b=0McwYb86HPrHbneHSedQ+1+dz6JqtPEubTl7/XExljQAPzKfEVUJsV2DrVlUFEoBz9 QpxltAWNcKbMic8FO6aMUvxqc0mKgwUITGgI8FzphiBDlZHliD5qhkQNqQGJKG2N+Ft3 NQ4bA8abSN5dGsNAGhMqEztyaXNu+bEEmLI3oMjHcjqStVav4rDRp0glVPEV0cvHx8G1 JZGudM8Yz4B3KwPRk0+VICRl9Se9LwtDqIyFXsTQH89eOgU/e0IFUW1nNM12VKjcGY5p WUgFRbNthZhrRYBpG9tL66CsDujZa22cgbSe087Fc4J9LKdCB8LMIBPg1VfVRBtIiN7L fGJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fWSOVnu0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i42si33197804jav.32.2021.07.25.23.09.55; Sun, 25 Jul 2021 23:10:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fWSOVnu0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231718AbhGZF2p (ORCPT + 99 others); Mon, 26 Jul 2021 01:28:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231190AbhGZF2o (ORCPT ); Mon, 26 Jul 2021 01:28:44 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92A75C061757 for ; Sun, 25 Jul 2021 23:09:12 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id h24-20020a1ccc180000b029022e0571d1a0so5463644wmb.5 for ; Sun, 25 Jul 2021 23:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Fs/qMW+zCQPBZoUzNXy1A88u02WLrjhFdFexEEelAZE=; b=fWSOVnu0bm2MWyRGIQz25MGM8/MU5L2FQwlEkfAFE2TUWTTLoPJiNNE6aKCcykbHC9 hsBqYWklnDby93Dkq+PljyFW1dXOAZSArNcj5MY+WejFMo04xKr5bpIKU6RpnE/ViRRi EX97NDejVrJYpa6WDTDp97pYD0fGpcGqqv3L66cPxAYrfjIzfVj43tPMVG2p2CsYmIcZ IZ9AbiFRufHClTbE7vxm9AW2a8+d2i+B+PU+FGbqbLGr5v7aePLbu2pgxN2r2ZlNkqze 7zTw9HwOq5ndsUO5Lay2tyVMcXSZto2ICsgtKauqHvMsteO+fyRqqKPKQsL84Xs4Vz9g RNqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Fs/qMW+zCQPBZoUzNXy1A88u02WLrjhFdFexEEelAZE=; b=WufPDKr7/DMkK3k3Y9TsXkj4eEGD15Fc/XrSaxGjmZq5QgE15qPBUTEYQxEV5kGRzc 6r7U7DfWueI/J8OB98iuMKM63dL4trN1TUhd1We0vYPvRYiQGVjQuzS3+p6+vkN8TrSw /6WGLvDZ9FPWeLQaSc9RBiI4uZymzgbViAcaFrdJyki95FqYCmRnKKBPxvBC50GQf+4q IrgO12x7ALLgqderP9Gl8TJaJc+UokveCfnJh87UAvmHRpcXaLAr4sn0JPl552/2UqNE 5dJq5CCm90jZDAhZnvL29FgK7CfedzRguyJp146OjwwiAxwjzb4Ok3PNAHkkiRfFhqqU GnHw== X-Gm-Message-State: AOAM530wbGdiPcVAu4UOX/2jBHUYYbWKySpIdEJkNgPNZfML1tEnBBT3 bc067OlAypN0iVPKefluryo= X-Received: by 2002:a05:600c:1d0b:: with SMTP id l11mr8434949wms.2.1627279750969; Sun, 25 Jul 2021 23:09:10 -0700 (PDT) Received: from lb01399.fkb.profitbricks.net (p200300ca572b5e23c4ffd69035d3b735.dip0.t-ipconnect.de. [2003:ca:572b:5e23:c4ff:d690:35d3:b735]) by smtp.gmail.com with ESMTPSA id j2sm5817548wrd.14.2021.07.25.23.09.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jul 2021 23:09:10 -0700 (PDT) From: Pankaj Gupta To: nvdimm@lists.linux.dev, linux-kernel@vger.kernel.org Cc: dan.j.williams@intel.com, jmoyer@redhat.com, david@redhat.com, mst@redhat.com, cohuck@redhat.com, vishal.l.verma@intel.com, dave.jiang@intel.com, ira.weiny@intel.com, pankaj.gupta.linux@gmail.com, Pankaj Gupta Subject: [RFC v2 0/2] virtio-pmem: Asynchronous flush Date: Mon, 26 Jul 2021 08:08:53 +0200 Message-Id: <20210726060855.108250-1-pankaj.gupta.linux@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pankaj Gupta Jeff reported preflush order issue with the existing implementation of virtio pmem preflush. Dan suggested[1] to implement asynchronous flush for virtio pmem using work queue as done in md/RAID. This patch series intends to solve the preflush ordering issue and also makes the flush asynchronous for the submitting thread. Submitting this patch series for review. Sorry, It took me long time to come back to this due to some personal reasons. RFC v1 -> RFC v2 - More testing and bug fix. [1] https://marc.info/?l=linux-kernel&m=157446316409937&w=2 Pankaj Gupta (2): virtio-pmem: Async virtio-pmem flush pmem: enable pmem_submit_bio for asynchronous flush drivers/nvdimm/nd_virtio.c | 72 ++++++++++++++++++++++++++++-------- drivers/nvdimm/pmem.c | 17 ++++++--- drivers/nvdimm/virtio_pmem.c | 10 ++++- drivers/nvdimm/virtio_pmem.h | 14 +++++++ 4 files changed, 91 insertions(+), 22 deletions(-) -- 2.25.1