From patchwork Wed Dec 4 15:00:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 63564 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A22BCA04B5; Wed, 4 Dec 2019 16:00:19 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 672FB1BF7A; Wed, 4 Dec 2019 16:00:18 +0100 (CET) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id AEF551BE9D for ; Wed, 4 Dec 2019 16:00:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575471616; 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; bh=Co77qwyJjUvkg0dEc+7fHZ3/tcYH4uLUEIeaURN/ls0=; b=QbhM7I+3s+53HtZA+rZLQREXrfBoafEjso8wBK4qZ20xR8Qr+NFkEZgtXN19rOchsG3yT4 Yrp6ItTm9v74jpGiXmSaIuicM/hoL5FPvf9dv2Cou2W8xNvuZNc7hGQ93ft64Oc/kD34EN YfHpwKOAHgeW82zz3xLE/yAE5bwSHtM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-423-8e7HCFaePIOsvRgLYo2jgQ-1; Wed, 04 Dec 2019 10:00:11 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 722E11005516; Wed, 4 Dec 2019 15:00:10 +0000 (UTC) Received: from dmarchan.remote.csb (ovpn-205-88.brq.redhat.com [10.40.205.88]) by smtp.corp.redhat.com (Postfix) with ESMTP id 14CB210027B1; Wed, 4 Dec 2019 15:00:08 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: stephen@networkplumber.org, arybchenko@solarflare.com, stable@dpdk.org Date: Wed, 4 Dec 2019 16:00:02 +0100 Message-Id: <20191204150002.4824-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: 8e7HCFaePIOsvRgLYo2jgQ-1 X-Mimecast-Spam-Score: 0 Subject: [dpdk-dev] [PATCH] eal/linux: fix build error on RHEL 7.6 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" Previous fix gives hiccups to gcc on RHEL 7.6: == Build lib/librte_eal/linux/eal CC eal_interrupts.o ...lib/librte_eal/linux/eal/eal_interrupts.c: In function ‘eal_intr_thread_main’: ...lib/librte_eal/linux/eal/eal_interrupts.c:1048:9: error: missing initializer for field ‘events’ of ‘struct epoll_event’ [-Werror=missing-field-initializers] struct epoll_event ev = { }; ^ In file included from ...lib/librte_eal/linux/eal/eal_interrupts.c:15:0: /usr/include/sys/epoll.h:89:12: note: ‘events’ declared here uint32_t events; /* Epoll events */ ^ ...lib/librte_eal/linux/eal/eal_interrupts.c: At top level: cc1: error: unrecognized command line option "-Wno-address-of-packed-member" [-Werror] cc1: all warnings being treated as errors Fixes: e0ab8020ac2a ("eal/linux: fix uninitialized data valgrind warning") Cc: stable@dpdk.org Reported-by: Andrew Rybchenko Signed-off-by: David Marchand --- lib/librte_eal/linux/eal/eal_interrupts.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linux/eal/eal_interrupts.c b/lib/librte_eal/linux/eal/eal_interrupts.c index 2cd537ba4..14ebb108c 100644 --- a/lib/librte_eal/linux/eal/eal_interrupts.c +++ b/lib/librte_eal/linux/eal/eal_interrupts.c @@ -1045,8 +1045,6 @@ eal_intr_handle_interrupts(int pfd, unsigned totalfds) static __attribute__((noreturn)) void * eal_intr_thread_main(__rte_unused void *arg) { - struct epoll_event ev = { }; - /* host thread, never break out */ for (;;) { /* build up the epoll fd with all descriptors we are to @@ -1078,8 +1076,11 @@ eal_intr_thread_main(__rte_unused void *arg) rte_spinlock_lock(&intr_lock); TAILQ_FOREACH(src, &intr_sources, next) { + struct epoll_event ev; + if (src->callbacks.tqh_first == NULL) continue; /* skip those with no callbacks */ + memset(&ev, 0, sizeof(ev)); ev.events = EPOLLIN | EPOLLPRI | EPOLLRDHUP | EPOLLHUP; ev.data.fd = src->intr_handle.fd;