From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 73D40A0526; Wed, 8 Jul 2020 14:29:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 50BEA1DCFB; Wed, 8 Jul 2020 14:29:35 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id 191F31DCF3 for ; Wed, 8 Jul 2020 14:29:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594211373; 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: in-reply-to:in-reply-to:references:references; bh=Z69QoH4MzvUDrfXL1/ks5hKPsHjDhgDiPr15eqL+XUE=; b=hfODzKEZfa7gxyWB0JoVmOiBcOE6M2SFDAFmK5qChZYNwraZwv7DRy6BVj+NEKO+4osRdM FfAnpMa9Gd3Gd8655FWVvQh8wKiQUffMcZbJcxP6hDipcmmruee2K6kGth7UZbJ9hYL5PI CpRebfqQbSndi7jwpFdl9bzGiujI4Nw= Received: from mail-ua1-f71.google.com (mail-ua1-f71.google.com [209.85.222.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-3-PKPM6ln9Ml28xSDsGa_AzA-1; Wed, 08 Jul 2020 08:29:32 -0400 X-MC-Unique: PKPM6ln9Ml28xSDsGa_AzA-1 Received: by mail-ua1-f71.google.com with SMTP id 14so12214424uac.8 for ; Wed, 08 Jul 2020 05:29:32 -0700 (PDT) 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=Z69QoH4MzvUDrfXL1/ks5hKPsHjDhgDiPr15eqL+XUE=; b=Zchgzms7KXVKdSyNfhU4c7XFDG+yzC7TOL/qLMygUK1lDf07IfpQL95EB01R0wZHKC +J8S54zkLnLhU7xGupL6/WfVa38EVDOIeqIOb6NBEUTlcIi+Da8rJmFLfWjgoAzFFpmZ p3D1wHp9SXhIp/7co3X7PxKS4QRBlsa7vtMosDQQnItAe3LD2JiiO+bHERldZKK3iqyd BeYrI0AqTttRFCVPaIh2p9FKY1f2eSxivKMbmEvjmejNV7LTYe8GD953QgrqA6sTJfi9 Oss4GKKuDchZJGprkxLRh97/ZvwPigc+rQYsQm8izxzDMq5EuPxSSVQZwE2Qw41eeLrC 2L3w== X-Gm-Message-State: AOAM531WsCfi87+OKKawDrixm5aONTZyCU5VBhiHScxXekAZmSdXMt8v 3Jo9wULSigBwmZah98jYxrYh5WeRzawU1FL4nFiNLj9o/glswebNOu7AbDJPvTlUcXo0dSMsvso TwCrHp3JX19QTzlZLYs0= X-Received: by 2002:a67:26c2:: with SMTP id m185mr41558823vsm.39.1594211371377; Wed, 08 Jul 2020 05:29:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz81Dh0OM0WmphVmE9P32ZiRdfG92If5F9cPOx1xb9jDocqfmblmGkkmneUGO1hn95KcrFr/U46n12ptAX+mIg= X-Received: by 2002:a67:26c2:: with SMTP id m185mr41558808vsm.39.1594211371125; Wed, 08 Jul 2020 05:29:31 -0700 (PDT) MIME-Version: 1.0 References: <1591871065-12461-1-git-send-email-phil.yang@arm.com> <1591871065-12461-2-git-send-email-phil.yang@arm.com> In-Reply-To: <1591871065-12461-2-git-send-email-phil.yang@arm.com> From: David Marchand Date: Wed, 8 Jul 2020 14:29:19 +0200 Message-ID: To: Phil Yang , Aaron Conole Cc: dev , David Christensen , Honnappa Nagarahalli , "Ruifeng Wang (Arm Technology China)" , nd , Dodji Seketeli , Neil Horman , Ray Kinsella , Harman Kalra Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH 2/2] eal: use c11 atomics for interrupt status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jun 11, 2020 at 12:25 PM Phil Yang wrote: > > The event status is defined as a volatile variable and shared > between threads. Use c11 atomics with explicit ordering instead > of rte_atomic ops which enforce unnecessary barriers on aarch64. > > Signed-off-by: Phil Yang > Reviewed-by: Ruifeng Wang > --- > lib/librte_eal/include/rte_eal_interrupts.h | 2 +- > lib/librte_eal/linux/eal_interrupts.c | 47 ++++++++++++++++++++--------- > 2 files changed, 34 insertions(+), 15 deletions(-) > > diff --git a/lib/librte_eal/include/rte_eal_interrupts.h b/lib/librte_eal/include/rte_eal_interrupts.h > index 773a34a..b1e8a29 100644 > --- a/lib/librte_eal/include/rte_eal_interrupts.h > +++ b/lib/librte_eal/include/rte_eal_interrupts.h > @@ -59,7 +59,7 @@ enum { > > /** interrupt epoll event obj, taken by epoll_event.ptr */ > struct rte_epoll_event { > - volatile uint32_t status; /**< OUT: event status */ > + uint32_t status; /**< OUT: event status */ > int fd; /**< OUT: event fd */ > int epfd; /**< OUT: epoll instance the ev associated with */ > struct rte_epoll_data epdata; I got a reject from the ABI check in my env. 1 function with some indirect sub-type change: [C]'function int rte_pci_ioport_map(rte_pci_device*, int, rte_pci_ioport*)' at pci.c:756:1 has some indirect sub-type changes: parameter 1 of type 'rte_pci_device*' has sub-type changes: in pointed to type 'struct rte_pci_device' at rte_bus_pci.h:57:1: type size hasn't changed 1 data member changes (2 filtered): type of 'rte_intr_handle rte_pci_device::intr_handle' changed: type size hasn't changed 1 data member change: type of 'rte_epoll_event rte_intr_handle::elist[512]' changed: array element type 'struct rte_epoll_event' changed: type size hasn't changed 1 data member change: type of 'volatile uint32_t rte_epoll_event::status' changed: entity changed from 'volatile uint32_t' to 'typedef uint32_t' at stdint-uintn.h:26:1 type size hasn't changed type size hasn't changed This is probably harmless in our case (going from volatile to non volatile), but it won't pass the check in the CI without an exception rule. Note: checking on the test-report ml, I saw nothing, but ovsrobot did catch the issue with this change too, Aaron? -- David Marchand