From patchwork Tue Jun 11 07:07:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhangfei Gao X-Patchwork-Id: 803236 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:e87:b0:35b:5a80:51b4 with SMTP id dz7csp169017wrb; Tue, 11 Jun 2024 00:08:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVhXzddPc19+A8BuTUFU66guzsLPl/SJCsjuKlajkCPxn1AX8qgooPd/pObp4sjWCR/0S16X55LwohloiqA7fDc X-Google-Smtp-Source: AGHT+IGEzcPpyLDmaXmOPJ8IkoZTwsQK1VvIZh7s0BiHpwmBjvfU8v5g14LRlROXSe5CNbzPe5ky X-Received: by 2002:a05:600c:3544:b0:421:7b9d:781d with SMTP id 5b1f17b1804b1-4217b9d78bbmr64537225e9.20.1718089728383; Tue, 11 Jun 2024 00:08:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718089728; cv=none; d=google.com; s=arc-20160816; b=Yo2CrcQA8dZHu3keCb6iOI658uiyBWDBl86qkW+Rs/GT5+MpneCqbQp2CZu1rDAqdZ BQX0LP9gu4rCOndQ85uZUdqQxgnX/DdFGc1X2RW1KyBvQayGRpLPBUQs2aErXQd9ZUMf hipNrCYidIMGyvnS1iYaau/XP6De3596JLAR3KDYj+09UykYkxZ1I7+ps8nsogVQjlet DNAdO7YjnEYA6RGCoJMkrLVEeVdtNCe2+EqAsGCs9JHDOyZT2soIF+qGVGrSOZoLZ2eP PVRscrgt9fVFjvI3aB63gCXNerW2Km9VAT2V12nSo4EG31fgu+LNjxNWnPWXL6K5PPLF V0KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=m8qP0pcwpgcl3YrzeZwBdGo3HXqYTbY4zLDY+DZNv2Y=; fh=N6ystvY2g7QTpz2QKkAMt/Nu9xETjtRlVAZxgmiIO6M=; b=hTDlNgAInsql9m9Wb69ypDna0HcnER/ExKJkduOrbPpHhPsdiOOkDUIcBLVdObrxzz gcqB0eFh/n7/TpPpOT6YJKMIBTa9JcsjN2U9xgaPjcpA4YN7q3SeY8X3shnFnoPrjh6N 8/D/2aNF6JuTG8RckLjbOQ+w8+VuPUU2glrhSZK59lNuh/5WuM4/3jV9sA3DDNfTeNNv cOC0ZSvpbhPcj06LRYnHBJ9YL5FAmfWF5y9ecunmDk4OOWmvbKY6JTuAG+1dRPBGX1LA YB8AkDx/bHxmrYKb6Gt3P1uRSTOXI5hbM6JaoACTqEGLGh7sWeHtnGE6xqC68FQYoGDz ac7A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zrjAwrsB; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mails.dpdk.org (mails.dpdk.org. [217.70.189.124]) by mx.google.com with ESMTP id 5b1f17b1804b1-4215c109e00si68742195e9.26.2024.06.11.00.08.47; Tue, 11 Jun 2024 00:08:47 -0700 (PDT) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) client-ip=217.70.189.124; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zrjAwrsB; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 217.70.189.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1A3A44021F; Tue, 11 Jun 2024 09:08:47 +0200 (CEST) Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by mails.dpdk.org (Postfix) with ESMTP id 80CA7400D6 for ; Tue, 11 Jun 2024 09:08:45 +0200 (CEST) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-24c9f630e51so2614560fac.1 for ; Tue, 11 Jun 2024 00:08:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718089724; x=1718694524; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=m8qP0pcwpgcl3YrzeZwBdGo3HXqYTbY4zLDY+DZNv2Y=; b=zrjAwrsBEIQ2uCyLNUGmNwfpKccUojYn19/opgj/5QNXEqA3Lbg3mCkH+V8hEnoepy rg7ZDtyjEIOwX0Pc9HKSvTn10lJcrJouLqgOL92jMFd+lwqrWBQK2cD7sINfZWIPlXke vZclIXqV7BqvtHp+FkiQkHJuBE0SIbAaxFdfhVxnaMlEMoYxI53O++Ue0eI9dNt+MdZB lJm8/ZmToTVFmpxnR0KZGnidGGc6ImzNc3GBRVOu2+3mOG5ZBwSmTPtM6RjPUIo2ozqz wu+L/pmOe62PjiTqYDciu+Ef63CEdA3ar826uF5bip590knP6rP0agJYcaVowCJR5mbu pgVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718089724; x=1718694524; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=m8qP0pcwpgcl3YrzeZwBdGo3HXqYTbY4zLDY+DZNv2Y=; b=qmHkHr8db6m7MjUz89SXh/cC8TX8zO0aOq/jhT21GNauwFp5xTex1BW/DwjTU91SOI +2ZfYBavT/VhFSESaUm4DOvWGSmL+uaclZpJsD9BFeJ+ADeGHcRgriXk8ey9OdAYQE4d Q74Ijs+NyOEHR6IYceDNLhpFEzVkRlyg83CpUMMTrF0kh3ly4gIQGvI4yPCNj32FizEf dVbHTa8PO7+yAJCrsNYT1BR0M8CuudKso9ftptJ1uTfnQaJvhHaihIsuQb9IJO3/nQyI PXI4uYERrekcP+/fZx8/ZUG/Rgp8C1Ke6yk5yArT2KQFMXKsvBKQK9Na8V3XREgvZlzj cCwA== X-Gm-Message-State: AOJu0YyObQSsencjOO0XiOAVTtbPSMQMzg63oa7OOREyb4SK/hWMcaqW 53AjprcFxIhVnbAI+hO1C+PYFzK/iCFMN/JXDtiwJt3Y0rPuhhgYqjkGZTiP2Jg= X-Received: by 2002:a05:6870:c187:b0:254:b34f:80aa with SMTP id 586e51a60fabf-254b34f9acbmr6745831fac.40.1718089724415; Tue, 11 Jun 2024 00:08:44 -0700 (PDT) Received: from localhost.localdomain (ec2-52-53-61-205.us-west-1.compute.amazonaws.com. [52.53.61.205]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-705ad947cdasm550945b3a.42.2024.06.11.00.08.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 00:08:43 -0700 (PDT) From: Zhangfei Gao To: Akhil Goyal , Fan Zhang , Ashish Gupta Cc: dev@dpdk.org, Zhangfei Gao Subject: [PATCH v3 0/3] Introduce UADK compression driver Date: Tue, 11 Jun 2024 07:07:23 +0000 Message-Id: <20240611070726.468-1-zhangfei.gao@linaro.org> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Introduce a new compress PMD for hardware accelerators based on UADK [1]. UADK is a framework for user applications to access hardware accelerators. UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share the same page table between IOMMU and MMU. Thereby user application can directly use virtual address for device dma, which enhances the performance as well as easy usability. Besides, crypto PMD is under drivers/crypto/uadk/ [1] https://github.com/Linaro/uadk Test: sudo dpdk-test --vdev=compress_uadk RTE>>compressdev_autotest RTE>>quit dd if=/dev/random of=data bs=1M count=1; sudo dpdk-test-compress-perf -l 1,2 --vdev compress_uadk \ -- --driver-name compress_uadk --input-file data v3: add the missing doc uadk.ini and change some docs to patch1 v2: remove mempool and simply use rte_malloc, suggested by Akhil move doc to patch 3 from patch 1 Zhangfei Gao (3): compress/uadk: Introduce UADK compression driver compress/uadk: support basic operations compress/uadk: support burst enqueue/dequeue MAINTAINERS | 6 + doc/guides/compressdevs/features/uadk.ini | 11 + doc/guides/compressdevs/index.rst | 1 + doc/guides/compressdevs/uadk.rst | 98 ++++ doc/guides/rel_notes/release_24_07.rst | 5 + drivers/compress/meson.build | 1 + drivers/compress/uadk/meson.build | 30 ++ drivers/compress/uadk/uadk_compress_pmd.c | 436 ++++++++++++++++++ .../compress/uadk/uadk_compress_pmd_private.h | 36 ++ 9 files changed, 624 insertions(+) create mode 100644 doc/guides/compressdevs/features/uadk.ini create mode 100644 doc/guides/compressdevs/uadk.rst create mode 100644 drivers/compress/uadk/meson.build create mode 100644 drivers/compress/uadk/uadk_compress_pmd.c create mode 100644 drivers/compress/uadk/uadk_compress_pmd_private.h