From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 05D49A0501; Sat, 2 Apr 2022 02:50:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 94E7940E03; Sat, 2 Apr 2022 02:50:17 +0200 (CEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mails.dpdk.org (Postfix) with ESMTP id B6E7E4067E for <dev@dpdk.org>; Sat, 2 Apr 2022 02:50:16 +0200 (CEST) Received: by mail-pg1-f170.google.com with SMTP id w21so3576105pgm.7 for <dev@dpdk.org>; Fri, 01 Apr 2022 17:50:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jceTZ7EffaHdsUAUEDgoYDGZFeSXGMU92MKLEEuOpEY=; b=KsGpWIdUHBYwysSCwXH8J+F/iBdAdFo/CXLwqSwQlXoYyXxZHF+jbE7Ja72Tjc8Z2X 8PgEnV2yCASzJWjqL+fd/ttiQ8xnVFEy0cKxTPGifm6Vk8ICsD9BAwQg2mvFuTRsefBI eujqrSVb8oy7NB1fDT1E4nH1OkcHmRBKPkqMv7Hbb1YGfDYOZJOY1hpjZK5s+sSpZj/c GOBSEeRDXuwzePS3iAdt1fYNZgEJH+xWhXraV0tJwk2Aitm6grj5YhMa4AChE63jAiD+ ipJSj4/d2gKMr/8naC7++Z0amjiyhCAdBuCzOOvjvNIkUonXVflpe1CO1LBuFyWp+BNg rM/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jceTZ7EffaHdsUAUEDgoYDGZFeSXGMU92MKLEEuOpEY=; b=HKIiFt0RfxFbta0gfhGfDPVeB7fUE76sw87cfdUwqhqeEKUEikGdcKMGod/Ik71NKI w6G+WzT+BxTJ+hrw1AlUi6YLrYoRaCRDRRdaNUIGwmWhPcDPzr2OLvbTCXNVNOLF4ymG axc+dR2FjhHewnah88M6oBR1Ye6w6IlOT9YHEfFa0Ry+OldktsfQqCw8z2n1Be8rGuOY HjP1hmh6PboNX86q9qu41vm8gfw52f9I9i3M0fGSZjhmHEcYi35g47e04kzwYcMsnHbA afkfUox3L58pMhGZhC+44tusMddG2gkb4mbA2IsWfGNUtGqiTonPgUAYp9lz6PrqCWDD Z8nQ== X-Gm-Message-State: AOAM532EIBU2fskrEnMT8Wl3Vl/Q//fOukrXXJ2qlA1NFjKOSp9aEVqs Sd9guTCNyhTSwuNWeYtWTqkf8A== X-Google-Smtp-Source: ABdhPJxYpHQrOEuVGWyfhrRwbi/5VVeOvvlo3JGFk3Hs8TxQcQ8bYxLvqx35GYw7HVe+OH67mWMvCg== X-Received: by 2002:a63:7258:0:b0:398:7298:c4b6 with SMTP id c24-20020a637258000000b003987298c4b6mr13408071pgn.436.1648860615680; Fri, 01 Apr 2022 17:50:15 -0700 (PDT) Received: from shemminger-XPS-13-9360 (hirgnt26.hicv.net. [205.172.16.196]) by smtp.gmail.com with ESMTPSA id gn21-20020a17090ac79500b001ca3c37af65sm3042969pjb.21.2022.04.01.17.50.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Apr 2022 17:50:15 -0700 (PDT) Date: Fri, 1 Apr 2022 14:50:08 -1000 From: Stephen Hemminger <stephen@networkplumber.org> To: Mattias =?UTF-8?B?UsO2bm5ibG9t?= <mattias.ronnblom@ericsson.com> Cc: <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>, David Marchand <david.marchand@redhat.com>, <onar.olsen@ericsson.com>, <Honnappa.Nagarahalli@arm.com>, <nd@arm.com>, <konstantin.ananyev@intel.com>, <mb@smartsharesystems.com>, "Ola Liljedahl" <ola.liljedahl@arm.com> Subject: Re: [PATCH v2] eal: add seqlock Message-ID: <20220401145008.25e1c9f5@shemminger-XPS-13-9360> In-Reply-To: <20220330142602.108061-1-mattias.ronnblom@ericsson.com> References: <98CBD80474FA8B44BF855DF32C47DC35D86F84@smartserver.smartshare.dk> <20220330142602.108061-1-mattias.ronnblom@ericsson.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 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 <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org On Wed, 30 Mar 2022 16:26:02 +0200 Mattias R=C3=B6nnblom <mattias.ronnblom@ericsson.com> wrote: > + __atomic_store_n(&seqlock->sn, sn, __ATOMIC_RELAXED); > + > + /* __ATOMIC_RELEASE to prevent stores after (in program > order) > + * from happening before the sn store. > + */ > + rte_atomic_thread_fence(__ATOMIC_RELEASE); Couldn't atomic store with __ATOMIC_RELEASE do same thing? > +static inline void > +rte_seqlock_write_end(rte_seqlock_t *seqlock) > +{ > + uint32_t sn; > + > + sn =3D seqlock->sn + 1; > + > + /* synchronizes-with the load acquire in rte_seqlock_begin() > */ > + __atomic_store_n(&seqlock->sn, sn, __ATOMIC_RELEASE); > + > + rte_spinlock_unlock(&seqlock->lock); Atomic store is not necessary here, the atomic operation in spinlock_unlock wil assure theat the seqeuence number update is ordered correctly.