From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0CB1B45619; Fri, 12 Jul 2024 19:22:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD0F942EFC; Fri, 12 Jul 2024 19:22:52 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id BA53942790 for ; Fri, 12 Jul 2024 19:22:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1720804970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MIazVSjEnyWVDHhhfve1GkpJYchap5EmCrFlBYQ+BTI=; b=D0ES6CfSO/Wjw1KBEd2GwtxrBkoYKbMA37EmYOLtUp5I/2D0/eBqXwKI6MdO6xcVXqKtNB Gd1O05FJ+04dlCjf79pWdUPVU9xjSpJ1VZNUtpRxgVcSCgvAo010KiF1JThHgUL3BHmxxt YQ29hWpXtO0fXXnxcwL/2wv6fGbWBIs= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-658-nf1o4Y7hMlmg2u7JycTNIg-1; Fri, 12 Jul 2024 13:22:48 -0400 X-MC-Unique: nf1o4Y7hMlmg2u7JycTNIg-1 Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2ee8d83db53so23876311fa.1 for ; Fri, 12 Jul 2024 10:22:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720804967; x=1721409767; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MIazVSjEnyWVDHhhfve1GkpJYchap5EmCrFlBYQ+BTI=; b=agwT+SIN0vPQ1YKCsShR2gx2rbNMffYC3YAoezPwoW629lJL1BKK4r9GbvGkHiz15k OTsHM77fEs3rrRBmr05vI3MrpQYDhGsVmtJ+6H4cTBteEdTvXeEgdzGQ14yT4/jRDHcr xd1pC2qZlYZHJvGxE22fBKZFNebPI7BdQKeEo5NhZJz5FaFK0qdTIpn7zAPbzQ9D3Xh4 2usgHKAbVL/jTvi/mJ8iT5V5lpcIvMuzli7S4yAAByV/rGKQFbB+7ULqHAkTt81vh3Kk a9hAfTLrWsSEyQ6FWhJshGz0SeAWTtNwAnHItEAkzohZzK4InDKLtWTzpC0HJieAEbu7 i6Iw== X-Forwarded-Encrypted: i=1; AJvYcCVuwJAHTxgs0dCUZm8ff0EQ5+mGqIFRQVwYdnqBbX6prUZ7cy0v7nerlXkIoHRmonr9iN7Q+tAh8s8+Pz4= X-Gm-Message-State: AOJu0YyE0N+Q1/pBp6RFqjHFEWPdkVgRghed3Xo+y4dNNl+E34+Sb5+C pJNDYMHkzuDxD4BNVVe93CtZWORowzNDfWkz1KKtBql31a8nxXa6NloldgKnot7Tc4B8QuI+I0J 3wFXagcGSoVLv7Kq6RVxOpNA9904JvLsX6HNB3vSqIaa9wrWwS3f06shEn9M+O6lv9HRKcMrSNB Zvq90Ipx5EevuHKjg= X-Received: by 2002:a2e:9b0f:0:b0:2ee:8dce:2f92 with SMTP id 38308e7fff4ca-2eeb30ba7acmr98372001fa.1.1720804967504; Fri, 12 Jul 2024 10:22:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEuJBkEK9W+h4QdMw/ULIRurt9cjiI+ok4xNHfUM3KvnnDXkfK5X9bzFNENWVPUQnYIQIsaH6TJcm7tc0S2BX0= X-Received: by 2002:a2e:9b0f:0:b0:2ee:8dce:2f92 with SMTP id 38308e7fff4ca-2eeb30ba7acmr98371821fa.1.1720804967150; Fri, 12 Jul 2024 10:22:47 -0700 (PDT) MIME-Version: 1.0 References: <20240530171948.19763-1-daniel.gregory@bytedance.com> In-Reply-To: <20240530171948.19763-1-daniel.gregory@bytedance.com> From: David Marchand Date: Fri, 12 Jul 2024 19:22:35 +0200 Message-ID: Subject: Re: [PATCH 0/2] eal/riscv: implement prefetch using zicbop To: Daniel Gregory Cc: Stanislaw Kardach , Bruce Richardson , Tyler Retzlaff , dev@dpdk.org, Liang Ma , Punit Agrawal , Sachin Saxena X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Hello, On Thu, May 30, 2024 at 7:21=E2=80=AFPM Daniel Gregory wrote: > > Instructions from RISC-V's Zicbop extension can be used to implement the > rte_prefetch* family of functions. On modern versions of GCC (13.1.0+) > and Clang (17.0.1+), these are emitted by __builtin_prefetch() when the > extension is present. > > In order to support older compiler versions, this patchset manually > emits these instructions using inline assembly. To do this, I have added > a new flag, RTE_PREFETCH_WRITE_ARCH_DEFINED, that > (similarly to RTE_WAIT_UNTIL_EQUAL_ARCH_DEFINED) hides the generic > implementation of rte_prefetch*_write. > > I am still in the process of acquiring hardware that supports this > extension, so I haven't tested how this affects performance yet. Let's hope you get such hardware by the next release. We will need reviews too. CC: Sachin. --=20 David Marchand