From patchwork Fri Feb 24 15:11:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 124522 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7026641D5F; Fri, 24 Feb 2023 16:12:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 61381410DD; Fri, 24 Feb 2023 16:11:58 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 57D7F40693 for ; Fri, 24 Feb 2023 16:11:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677251515; 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=q7lmGsnNQhgHhcTc66sR1DQiiYURGzlLUa4nu+fkgU0=; b=fI7eRmqKKJLoN5en21RtkWwrX06tPVwuIpPYOj2SBR0wiVAtSJ6Rb2Swynkl608bh57+w3 +59ISF5TnR0j5kUmyQ7uJmC9yxo95YCYMrShao36RMudycPVUb2UTQj8ZVsl4mDQbnpiux EdESR3FWLjUwz6HJ1sfb4KgG8+nK0Z8= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-21-84gdtr9JNPiZeewiAm8Paw-1; Fri, 24 Feb 2023 10:11:51 -0500 X-MC-Unique: 84gdtr9JNPiZeewiAm8Paw-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B8E4E95D600; Fri, 24 Feb 2023 15:11:50 +0000 (UTC) Received: from dmarchan.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0E6D1492B12; Fri, 24 Feb 2023 15:11:49 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: thomas@monjalon.net Subject: [PATCH v2 00/20] Enable lock annotations on most libraries and drivers Date: Fri, 24 Feb 2023 16:11:23 +0100 Message-Id: <20230224151143.3274897-1-david.marchand@redhat.com> In-Reply-To: <20230224081642.2566619-1-david.marchand@redhat.com> References: <20230224081642.2566619-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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 This is a followup of the series that introduced lock annotations. I reworked and made annotations work in what seemed the easier cases. In most cases, I chose to convert inline wrappers around the EAL lock API to simple macro: I did not see much value in those wrappers and this is way simpler than adding __rte_*lock_function tags everywhere. A list of libraries and drivers still need more work as their code have non obvious locks handling. For those components, the check is opted out. I leave it to their respective maintainers to enable the checks later. FreeBSD libc pthread API has lock annotations while Linux glibc has none. We could simply disable the check on FreeBSD, but having this check, a few issues got raised in drivers that are built with FreeBSD. For now, I went with a simple #ifdef FreeBSD for pthread mutex related annotations in our code. Maintainers, please review.