From: Namhyung Kim <namhyung@gmail.com>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Namhyung Kim <namhyung.kim@lge.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
David Ahern <dsahern@gmail.com>
Subject: Re: [PATCH 09/13] perf target: Introduce perf_target_errno
Date: Thu, 03 May 2012 23:47:05 +0900 [thread overview]
Message-ID: <1336056425.1493.24.camel@leonhard> (raw)
In-Reply-To: <20120502185913.GE5745@infradead.org>
Hi,
2012-05-02 (수), 15:59 -0300, Arnaldo Carvalho de Melo:
> Em Thu, Apr 26, 2012 at 02:15:23PM +0900, Namhyung Kim escreveu:
> > The perf_target_errno enumerations are used to indicate
> > specific error cases on perf target operations. It'd
> > help libperf being a more generic library.
> >
> > Suggested-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> > Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
> > + /* UID and SYSTEM are mutually exclusive */
> > + if (target->uid_str && target->system_wide) {
> > + target->system_wide = false;
> > + if (ret == PERF_TARGET__SUCCESS)
> > + ret = PERF_TARGET__UID_OVERRIDE_SYSTEM;
> > + }
> > +
> > + return ret;
> > }
> > diff --git a/tools/perf/util/target.h b/tools/perf/util/target.h
> > index 1348065ada5e..c3914c8a9890 100644
> > --- a/tools/perf/util/target.h
> > +++ b/tools/perf/util/target.h
> > @@ -12,6 +12,24 @@ struct perf_target {
> > bool system_wide;
> > };
> >
> > -void perf_target__validate(struct perf_target *target);
> > +enum perf_target_errno {
> > + /*
> > + * XXX: Just choose an arbitrary big number standard errno can't have
>
> Here I think its better for us to use _negative_ big numbers, because
> according to:
>
> http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
>
> <quote>
> Issue 6
>
> The following new requirements on POSIX implementations derive from
> alignment with the Single UNIX Specification:
>
> The majority of the error conditions previously marked as extensions are
> now mandatory, except for the STREAMS-related error conditions.
>
> Values for errno are now required to be distinct positive values rather
> than non-zero values. This change is for alignment with the ISO/IEC
> 9899:1999 standard.
> </quote>
>
> So system errno range is all positive, since our error enumeration is a
> superset of the system one, using negative values won't ever clash.
>
> Also it would be better to have it as PERF_ERRNO__PID_OVERRIDE_CPU, etc.
>
> Agreed?
>
Agreed and thanks for the info. Will change the name of error constants
too.
Thanks,
Namhyung
> Anybody else with reasons not to use this ernno range scheme?
>
> Ingo?
>
> - Arnaldo
>
> > + */
> > + __PERF_TARGET__ERRNO_START = 0x10000,
> > +
> > + PERF_TARGET__SUCCESS = __PERF_TARGET__ERRNO_START,
> > +
> > + /* for perf_target__validate() */
> > + PERF_TARGET__PID_OVERRIDE_CPU,
> > + PERF_TARGET__PID_OVERRIDE_UID,
> > + PERF_TARGET__UID_OVERRIDE_CPU,
> > + PERF_TARGET__PID_OVERRIDE_SYSTEM,
> > + PERF_TARGET__UID_OVERRIDE_SYSTEM,
> > +
> > + __PERF_TARGET__ERRNO_END
> > +};
> > +
> > +enum perf_target_errno perf_target__validate(struct perf_target *target);
> >
> > #endif /* _PERF_TARGET_H */
> > --
> > 1.7.10
--
Regards,
Namhyung Kim
next prev parent reply other threads:[~2012-05-03 14:47 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-26 5:15 [RFC PATCHSET 00/13] perf tools: Fix cpu/thread map handling v2 Namhyung Kim
2012-04-26 5:15 ` [PATCH 01/13] perf tools: Introduce struct perf_target Namhyung Kim
2012-05-11 6:27 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 02/13] perf stat: Convert to " Namhyung Kim
2012-05-11 6:28 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 03/13] perf top: " Namhyung Kim
2012-05-11 6:29 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 04/13] perf tools: Introduce perf_target__validate() helper Namhyung Kim
2012-05-11 6:30 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 05/13] perf tools: Make perf_evlist__create_maps() take struct perf_target Namhyung Kim
2012-05-11 6:31 ` [tip:perf/core] perf evlist: Make create_maps() " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 06/13] perf tools: Check more combinations of PID/TID, UID and CPU switches Namhyung Kim
2012-05-11 6:32 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 07/13] perf evlist: Fix creation of cpu map Namhyung Kim
2012-04-26 15:05 ` David Ahern
2012-04-26 21:12 ` Namhyung Kim
2012-04-26 21:22 ` David Ahern
2012-04-27 0:16 ` Namhyung Kim
2012-04-27 15:08 ` Arnaldo Carvalho de Melo
2012-04-27 15:32 ` David Ahern
2012-04-27 16:00 ` Arnaldo Carvalho de Melo
2012-04-27 16:05 ` David Ahern
2012-04-27 16:09 ` Arnaldo Carvalho de Melo
2012-05-02 18:40 ` Arnaldo Carvalho de Melo
2012-05-04 4:05 ` Namhyung Kim
2012-05-04 13:37 ` Arnaldo Carvalho de Melo
2012-05-04 13:53 ` Namhyung Kim
2012-04-26 5:15 ` [PATCH 08/13] perf target: Split out perf_target handling code Namhyung Kim
2012-05-02 18:30 ` Arnaldo Carvalho de Melo
2012-05-03 14:39 ` Namhyung Kim
2012-05-03 15:27 ` Arnaldo Carvalho de Melo
2012-05-03 15:30 ` Namhyung Kim
2012-05-11 6:33 ` [tip:perf/core] " tip-bot for Namhyung Kim
2012-04-26 5:15 ` [PATCH 09/13] perf target: Introduce perf_target_errno Namhyung Kim
2012-05-02 18:59 ` Arnaldo Carvalho de Melo
2012-05-03 14:47 ` Namhyung Kim [this message]
2012-05-03 20:34 ` David Ahern
2012-05-03 20:42 ` Arnaldo Carvalho de Melo
2012-05-03 20:49 ` David Ahern
2012-04-26 5:15 ` [PATCH 10/13] perf target: Introduce perf_target__parse_uid() Namhyung Kim
2012-04-26 5:15 ` [PATCH 11/13] perf tools: Introduce perf_target__strerror() Namhyung Kim
2012-04-26 5:15 ` [PATCH 12/13] perf target: Consolidate target task/cpu checking Namhyung Kim
2012-04-26 5:15 ` [PATCH 13/13] perf stat: Use perf_evlist__create_maps Namhyung Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1336056425.1493.24.camel@leonhard \
--to=namhyung@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=dsahern@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung.kim@lge.com \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.