From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755110AbbCRJPw (ORCPT ); Wed, 18 Mar 2015 05:15:52 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:56837 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754488AbbCRJPt (ORCPT ); Wed, 18 Mar 2015 05:15:49 -0400 Date: Wed, 18 Mar 2015 10:15:27 +0100 From: Peter Zijlstra To: Vinson Lee Cc: Paul Mackerras , Ingo Molnar , Arnaldo Carvalho de Melo , Jiri Olsa , Adrian Hunter , Masami Hiramatsu , Namhyung Kim , LKML , linux-perf-users@vger.kernel.org, Vinson Lee , Yann Droneaud Subject: Re: [PATCH] perf tools: Work around lack of sched_getcpu in glibc < 2.6. Message-ID: <20150318091527.GM23123@twins.programming.kicks-ass.net> References: <1423879609-4373-1-git-send-email-vlee@twopensource.com> <1424119815.32606.14.camel@opteya.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 17, 2015 at 04:49:13PM -0700, Vinson Lee wrote: > On Mon, Feb 16, 2015 at 12:50 PM, Yann Droneaud wrote: > >> +#ifdef __GLIBC_PREREQ > >> +#if __GLIBC_PREREQ(2, 6) > >> +#define HAVE_SCHED_GETCPU > >> +#endif > >> +#endif > >> @@ -21,9 +27,13 @@ static int perf_flag_probe(void) > >> pid_t pid = -1; > >> char sbuf[STRERR_BUFSIZE]; > >> > >> +#ifdef HAVE_SCHED_GETCPU > >> cpu = sched_getcpu(); > >> if (cpu < 0) > >> cpu = 0; > >> +#else > >> + cpu = 0; > >> +#endif > >> > >> while (1) { > >> /* check cloexec flag */ Would it not be much nicer to implement a sched_getcpu() stub that returns -1 and sets errno to -ENOSYS or something? That avoids the magic #ifdef mushroom.