Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp106770imu; Thu, 8 Nov 2018 05:46:28 -0800 (PST) X-Google-Smtp-Source: AJdET5ek+rR7Lk0sQXIbqQa+q1j2na/t8a+cWYOQN9mg9qhTWTXZS+Wfn3p2HkFQC1gbiKRu31DP X-Received: by 2002:a17:902:7b93:: with SMTP id w19-v6mr4687757pll.80.1541684788001; Thu, 08 Nov 2018 05:46:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541684787; cv=none; d=google.com; s=arc-20160816; b=OBEe3fP0UCG/HWkudLf0fraz+Zr9ka/7q7Sd8KmSkIskkAgMvUN6akFVg7vhSATNuv cd/XSwz617NAo32fQGPHfYAdk9Zd/E6ioAWtgDJJy3ljNPS50rUq6OAlC/dQBemrGL5W mBEpvbB0jZj+m7Id4lI4LddX3yPocuOCzlFjrwyj2UzQ6FwMdmDMXtf1r6zqgNgkeqpB 7F16G88t/HoLHs0M+x7Ci0IzQ9Cl0S2f6LnOsFf1x395XTl9YPAev7k9MPWlp+n69Akq x6UMpcX912vaa/VXNG1ql2q5HihpUUH0vikSoQJwVbTH28KC+PsSiLR5eA/LqtfjNEzV wwqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=3lHCkMsvuNFBZ7qfRWf3EoeKjTMRqaNXAZrYKR76SSA=; b=tpvTBSdC7aJn2kEy6pNnIBZF2yk29ONdP9Y7/FBSyWQK+nGplSndaYzz5I50wdB4yW WZtcCn3CnJK32EJzZyKY7blIVwqQGtef4SSacgQ80GUzSuqTuFQgzqEUNWRtrQpBhxQD nvs0yQt5/+mjFthiPrnbJkghbz25G1WoCUXgPbWye+g3jUl0wZuLytJbk/WR+6+ko7S6 FmJiR1Ikm0EJUa+Wag8CzWzltrnctR5KGMs/pxBB1tP0ddtFgXWmD8xFXlCCf4Veq13I S62hEFOk8sdGnY1t3kpxoBZDIV0Z5Hi8Asc7G91DbIsYOzU5u+hqzaFuZUz68ollR666 9QfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rYZCBrVM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j3-v6si4139841plk.23.2018.11.08.05.46.12; Thu, 08 Nov 2018 05:46:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rYZCBrVM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727123AbeKHXUi (ORCPT + 99 others); Thu, 8 Nov 2018 18:20:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:59158 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726469AbeKHXUi (ORCPT ); Thu, 8 Nov 2018 18:20:38 -0500 Received: from jouet.infradead.org (unknown [179.97.41.186]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5FA2220825; Thu, 8 Nov 2018 13:45:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541684704; bh=ROj+ZL+d4mDvNAoRK4w+YlUCWvUL5IWBf/602BMNBh4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=rYZCBrVMRdyeA9RETAGGYZ1kFlgni6j7IVro1KpsHo8IEUZzoc7wI6yBXrvYC0Xd5 74MRKFzPke3R/ixf0owKZC/S1GaBjE4wxIiJDVV0fjdMhWKZU69IIp5T9bCx5m0Tz4 xfztxeCOXeLJkYTYxkqud7ZjTsMdqrwU3YieSXoc= Received: by jouet.infradead.org (Postfix, from userid 1000) id EFA0D142D3F; Thu, 8 Nov 2018 10:45:00 -0300 (-03) Date: Thu, 8 Nov 2018 10:45:00 -0300 From: Arnaldo Carvalho de Melo To: Davidlohr Bueso Cc: akpm@linux-foundation.org, jbaron@akamai.com, linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: Re: [PATCH 1/2] perf-bench: Add epoll parallel epoll_wait benchmark Message-ID: <20181108134500.GA15568@kernel.org> References: <20181106152226.20883-1-dave@stgolabs.net> <20181106152226.20883-2-dave@stgolabs.net> <20181106182349.thdkpvshkna5vd7o@linux-r8p5> <20181106191325.GM7077@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181106191325.GM7077@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Tue, Nov 06, 2018 at 04:13:25PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Tue, Nov 06, 2018 at 10:23:49AM -0800, Davidlohr Bueso escreveu: > > Mind this fixlet for using et/oneshot and the multiq option. > > Yes sir, applied the fixup to the first patch in the series, applied the > second, tested, merged. So, one of these two is making the build to fail in all the Alpine Linux (3.4 -- 3.8 and edge) and also on some others On Alpine the error is: CC /tmp/build/perf/bench/futex-lock-pi.o CC /tmp/build/perf/bench/epoll-wait.o bench/epoll-wait.c: In function 'do_threads': bench/epoll-wait.c:345:10: error: implicit declaration of function 'pthread_attr_setaffinity_np' [-Werror=implicit-function-declaration] ret = pthread_attr_setaffinity_np(&thread_attr, sizeof(cpu_set_t), &cpuset); ^ bench/epoll-wait.c:345:4: error: nested extern declaration of 'pthread_attr_setaffinity_np' [-Werror=nested-externs] ret = pthread_attr_setaffinity_np(&thread_attr, sizeof(cpu_set_t), &cpuset); ^ bench/epoll-wait.c: In function 'bench_epoll_wait': bench/epoll-wait.c:462:12: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=] printinfo("Setting RLIMIT_NOFILE rlimit from %lu to: %lu\n", prevrl.rlim_max, rl.rlim_max); ^ bench/epoll-wait.c:85:31: note: in definition of macro 'printinfo' do { if (__verbose) { printf(fmt, ## arg); fflush(stdout); } } while (0) ^ bench/epoll-wait.c:462:12: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=] printinfo("Setting RLIMIT_NOFILE rlimit from %lu to: %lu\n", prevrl.rlim_max, rl.rlim_max); ^ bench/epoll-wait.c:85:31: note: in definition of macro 'printinfo' do { if (__verbose) { printf(fmt, ## arg); fflush(stdout); } } while (0) ^ CC /tmp/build/perf/util/trace-event-info.o CC /tmp/build/perf/perf.o cc1: all warnings being treated as errors mv: can't rename '/tmp/build/perf/bench/.epoll-wait.o.tmp': No such file or directory /git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/bench/epoll-wait.o' failed make[4]: *** [/tmp/build/perf/bench/epoll-wait.o] Error 1 /git/linux/tools/build/Makefile.build:139: recipe for target 'bench' failed make[3]: *** [bench] Error 2 make[3]: *** Waiting for unfinished jobs.... CC /tmp/build/perf/util/trace-event-scripting.o On AmazonLinux 1 and 2, oops, these are mine: LINK /tmp/build/perf/perf /tmp/build/perf/perf-in.o: In function `bpf_map__set_filter_pids': /git/linux/tools/perf/builtin-trace.c:2573: undefined reference to `bpf_map(float, double)' /tmp/build/perf/perf-in.o: In function `cmd_trace': (.text+0x4c71e): undefined reference to `bpf_map_update_elem' /tmp/build/perf/perf-in.o: In function `cmd_trace': (.text+0x4cab6): undefined reference to `bpf_map(float, double)' /tmp/build/perf/perf-in.o: In function `cmd_trace': (.text+0x4cae8): undefined reference to `bpf_map_update_elem' collect2: error: ld returned 1 exit status make[2]: *** [/tmp/build/perf/perf] Error 1 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 make: Leaving directory `/git/linux/tools/perf' [root@seventh ~]# I need to do that conditionally, i.e. it seems libbpf is not being built in that distro... centos:5 is about perf bench: CC /tmp/build/perf/bench/epoll-wait.o bench/epoll-wait.c:74:25: error: sys/eventfd.h: No such file or directory cc1: warnings being treated as errors bench/epoll-wait.c: In function 'do_threads': bench/epoll-wait.c:328: warning: implicit declaration of function 'eventfd' bench/epoll-wait.c:328: warning: nested extern declaration of 'eventfd' bench/epoll-wait.c:328: error: 'EFD_NONBLOCK' undeclared (first use in this function) bench/epoll-wait.c:328: error: (Each undeclared identifier is reported only once bench/epoll-wait.c:328: error: for each function it appears in.) mv: cannot stat `/tmp/build/perf/bench/.epoll-wait.o.tmp': No such file or directory make[4]: *** [/tmp/build/perf/bench/epoll-wait.o] Error 1 make[3]: *** [bench] Error 2 make[3]: *** Waiting for unfinished jobs.... MKDIR /tmp/build/perf/tests/ centos:6 and 7 are ok with perf bench, not so much with my bpf changes :-\ LINK /tmp/build/perf/libperf-gtk.so /tmp/build/perf/perf-in.o: In function `bpf_map__set_filter_pids': /git/linux/tools/perf/builtin-trace.c:2573: undefined reference to `bpf_map(float, double)' /git/linux/tools/perf/builtin-trace.c:2577: undefined reference to `bpf_map_update_elem' /git/linux/tools/perf/builtin-trace.c:2573: undefined reference to `bpf_map(float, double)' /git/linux/tools/perf/builtin-trace.c:2577: undefined reference to `bpf_map_update_elem' collect2: ld returned 1 exit status make[2]: *** [/tmp/build/perf/perf] Error 1 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 make: Leaving directory `/git/linux/tools/perf' [root@seventh ~]# [root@seventh ~]# - Arnaldo > - Arnaldo > > > diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c > > index c4c5ef60feb4..4e4efc5cfe22 100644 > > --- a/tools/perf/bench/epoll-wait.c > > +++ b/tools/perf/bench/epoll-wait.c > > @@ -215,13 +215,13 @@ static void *workerfn(void *arg) > > > > if (et) { > > ev.events = EPOLLIN | EPOLLET; > > - ret = epoll_ctl(epollfd, EPOLL_CTL_ADD, fd, &ev); > > + ret = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ev); > > } > > > > if (oneshot) { > > /* rearm the file descriptor with a new event mask */ > > ev.events |= EPOLLIN | EPOLLONESHOT; > > - ret = epoll_ctl(epollfd, EPOLL_CTL_MOD, fd, &ev); > > + ret = epoll_ctl(efd, EPOLL_CTL_MOD, fd, &ev); > > } > > > > ops++; > > @@ -249,7 +249,7 @@ static void nest_epollfd(struct worker *w) > > > > for (i = 0; i < nested; i++) { > > epollfdp[i] = epoll_create(1); > > - if (epollfd < 0) > > + if (epollfdp[i] < 0) > > err(EXIT_FAILURE, "epoll_create"); > > } > >