Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp869262imj; Thu, 7 Feb 2019 13:12:58 -0800 (PST) X-Google-Smtp-Source: AHgI3IbitvQG3z6TXAcbCt+2PwdSA7l9AZJkeDLE2mgxoYfTPSSvgM93DkKR8IPPZlcVHBKXRTcn X-Received: by 2002:a62:5301:: with SMTP id h1mr18154280pfb.17.1549573977969; Thu, 07 Feb 2019 13:12:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549573977; cv=none; d=google.com; s=arc-20160816; b=nDZkrp79YLKiFYoQFdNcyXl5c1A9SSjsonajWZHHHOLfHp7Pjc23kcxkCyqdqms4cQ tGMNvDDdvwiW2r9SC4gJdc+QcoAd6GyGYbeGOh8AVQ2sQQs8EGkZn5yE1hpiGyG1VVUN +eXCBUbJnS1rNhHFvCdlBC/LtD3r+F0za44SDZs4J2TC7/YRFmFqoH5+ZWrCUVkUHM1h 0GTMC5SYHjojyOzzABvVZlML3yvG5W0iC87KWq8MYbyzZy5Cebvrf7TB3W4777aMIkxf LeaLTeJuh+jWl0NwgW5pOHJtYdrkNdRcuXsnmYqPCb0OPKky85Wsvj1hzqIzPFrd06+K dO4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=3OME255Bf/uxB/3SsI2f37qTGiqhn3cF46//e7/7eVM=; b=gltKrspdwXjnyxxb8MAcgfqo4mBGdR5Qzp/E1cvP99kJzOxNW4Nmksc3S+R4FxFL2K 7J/mFfwWZ86KR550tAvLUUNCI+45dUmrcY4lzjdRAx4s+dn3BsEF8r8WAn0PpqkxXAm9 otzm84Ilk79ZDTtNtcBgtOdAYjC0mkORC4mmvjIuQp/0+ouzWSZjrXPeEBlqK/c7AKer +Nev+2VphE/aTymAKYympiA9lT4qW7UK+NEYPSTWXXdK+7B0NqMsnbRLJGSUvJCDFh1v Re4Ju7dR7wp//p2N8JMWZ9ZDE/YOFgWGb7aHZP+VDjA2T9ToYnmEdOQSu6JUlgleF+Lk WvVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@javigon-com.20150623.gappssmtp.com header.s=20150623 header.b=aXjJ5Tzw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z186si65279pgd.90.2019.02.07.13.12.41; Thu, 07 Feb 2019 13:12:57 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@javigon-com.20150623.gappssmtp.com header.s=20150623 header.b=aXjJ5Tzw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727650AbfBGVMW (ORCPT + 99 others); Thu, 7 Feb 2019 16:12:22 -0500 Received: from mail-ed1-f68.google.com ([209.85.208.68]:33349 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727445AbfBGVMW (ORCPT ); Thu, 7 Feb 2019 16:12:22 -0500 Received: by mail-ed1-f68.google.com with SMTP id a2so1107887edi.0 for ; Thu, 07 Feb 2019 13:12:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=javigon-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=3OME255Bf/uxB/3SsI2f37qTGiqhn3cF46//e7/7eVM=; b=aXjJ5Tzwh+JKJQi+wozKXYNGLa4+PvyuxjoYFE7gmYZKf8GKMjTGzFE6SNN0PpM6Mp 6Sn93mrCqP1o/w58ktLo8ch9IfTdRN098Fk4BsxaNq4+uac6SVFZB0TD8ShZARC+hfAa gG3sjWz5vPHwWesu/AnTrJvez0utQltPlYlrPWE82hg+/DDVAnPVZ1BgCMf971ycorEC WI8CK/mJ4XpgsmekliZwJH4ZKM62mLnZnukRilJtlcGv7WUs0BCEwE+L9qW9ZrjSDbGq mXLPQVHT24umxnfcnKgB3Swl9XnOhjTdDYwHiInjwi+MOsAjc06Ry2EmBhbV1dwt15ya acow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=3OME255Bf/uxB/3SsI2f37qTGiqhn3cF46//e7/7eVM=; b=gzrjdZGLpTo7kklUNm5ion3ZcjyY3Nt/v6q79ISL3nkPtKB73WJFwE0Uy/CMqFvdf5 rX6ZfrRPL2VXz07MDs93G/jI1QQfzHz5AXcPuDhrm/7h2MP5DcBmesYhlxVd/rN8v+Ye 4FikRf7JXRbjBec3rKUdWgM9AJgMLU7Kjm5l5d5iru6FYKChNVgB4ZT0DundtpwWl3aw T1gukpR8gDwD7l3H3yqXnThDqa4lmLCQYFa6Y3eT198Dp0q3qSUGUz7n5iV0fWuvn8+X grGPgfnUByDDyTtq+egcA8DRTs13CzrCCwqZqRJfTWqGnG2Q4YB8K/Gzcf/BYSSV9wtN 8Jrg== X-Gm-Message-State: AHQUAuYP/uMLKntqP2zDSCcGfUrdPuh7cjPvsHa85hYO62UMZ5dvpn0R KeN/61LZ6yZnNw7cgQpk78uqdw== X-Received: by 2002:a17:906:a44:: with SMTP id x4-v6mr13083856ejf.177.1549573939763; Thu, 07 Feb 2019 13:12:19 -0800 (PST) Received: from [192.168.1.143] (ip-5-186-122-168.cgn.fibianet.dk. [5.186.122.168]) by smtp.gmail.com with ESMTPSA id l17sm101722edc.56.2019.02.07.13.12.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Feb 2019 13:12:19 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.1 \(3445.101.1\)) Subject: Re: [LSF/MM TOPIC] BPF for Block Devices From: =?utf-8?Q?Javier_Gonz=C3=A1lez?= In-Reply-To: <04952865-6EEE-4D78-8CC9-00484CFBD13E@javigon.com> Date: Thu, 7 Feb 2019 22:12:17 +0100 Cc: Jens Axboe , linux-fsdevel , linux-mm , "linux-block@vger.kernel.org" , IDE/ATA development list , linux-scsi , "linux-nvme@lists.infradead.org" , Logan Gunthorpe , "linux-kernel@vger.kernel.org" , "lsf-pc@lists.linux-foundation.org" , "bpf@vger.kernel.org" , "ast@kernel.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <40D2EB06-6BF2-4233-9196-7A26AC43C64E@raithlin.com> <04952865-6EEE-4D78-8CC9-00484CFBD13E@javigon.com> To: Stephen Bates X-Mailer: Apple Mail (2.3445.101.1) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org + Mailing lists > On 7 Feb 2019, at 18.48, Javier Gonz=C3=A1lez = wrote: >=20 >=20 >=20 >> On 7 Feb 2019, at 18.12, Stephen Bates wrote: >>=20 >> Hi All >>=20 >>> A BPF track will join the annual LSF/MM Summit this year! Please = read the updated description and CFP information below. >>=20 >> Well if we are adding BPF to LSF/MM I have to submit a request to = discuss BPF for block devices please! >>=20 >> There has been quite a bit of activity around the concept of = Computational Storage in the past 12 months. SNIA recently formed a = Technical Working Group (TWG) and it is expected that this TWG will be = making proposals to standards like NVM Express to add APIs for = computation elements that reside on or near block devices. >>=20 >> While some of these Computational Storage accelerators will provide = fixed functions (e.g. a RAID, encryption or compression), others will be = more flexible. Some of these flexible accelerators will be capable of = running BPF code on them (something that certain Linux drivers for = SmartNICs support today [1]). I would like to discuss what such a = framework could look like for the storage layer and the file-system = layer. I'd like to discuss how devices could advertise this capability = (a special type of NVMe namespace or SCSI LUN perhaps?) and how the BPF = engine could be programmed and then used against block IO. Ideally I'd = like to discuss doing this in a vendor-neutral way and develop ideas I = can take back to NVMe and the SNIA TWG to help shape how these standard = evolve. >>=20 >> To provide an example use-case one could consider a BPF capable = accelerator being used to perform a filtering function and then using = p2pdma to scan data on a number of adjacent NVMe SSDs, filtering said = data and then only providing filter-matched LBAs to the host. Many other = potential applications apply.=20 >>=20 >> Also, I am interested in the "The end of the DAX Experiment" topic = proposed by Dan and the " Zoned Block Devices" from Matias and Damien. >>=20 >> Cheers >>=20 >> Stephen >>=20 >> [1] = https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/dr= ivers/net/ethernet/netronome/nfp/bpf/offload.c?h=3Dv5.0-rc5 >=20 > Definitely interested on this too - and pleasantly surprised to see a = BPF track! >=20 > I would like to extend Stephen=E2=80=99s discussion to eBPF running in = the block layer directly - both on the kernel VM and offloaded to the = accelerator of choice. This would be like XDP on the storage stack, = possibly with different entry points. I have been doing some experiments = building a dedup engine for pblk in the last couple of weeks and a = number of interesting questions have arisen. >=20 > Also, if there is a discussion on offloading the eBPF to an = accelerator, I would like to discuss how we can efficiently support data = modifications without having double transfers over either the PCIe bus = (or worse, over the network): one for the data computation + = modification and another for the actual data transfer. Something like = p2pmem comes to mind here, but for this to integrate nicely, we would = need to overcome the current limitations on PCIe and talk about p2pmem = over fabrics. >=20 > Javier