lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151208214825.GI14846@treble.redhat.com>
Date:	Tue, 8 Dec 2015 15:48:25 -0600
From:	Josh Poimboeuf <jpoimboe@...hat.com>
To:	Arnaldo Carvalho de Melo <acme@...nel.org>
Cc:	Jiri Olsa <jolsa@...hat.com>,
	Peter Zijlstra <peterz@...radead.org>,
	Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
	Namhyung Kim <namhyung@...nel.org>
Subject: Re: [PATCH v2 14/14] perf tools: Move subcommand framework and
 related utils to libapi

On Tue, Dec 08, 2015 at 04:40:26PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Dec 08, 2015 at 01:17:00PM -0600, Josh Poimboeuf escreveu:
> > On Tue, Dec 08, 2015 at 04:09:31PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Tue, Dec 08, 2015 at 12:49:53PM -0600, Josh Poimboeuf escreveu:
> > > > On Tue, Dec 08, 2015 at 07:16:26PM +0100, Jiri Olsa wrote:
> > > > > On Mon, Dec 07, 2015 at 10:21:52PM -0600, Josh Poimboeuf wrote:
> > > > > > The perf subcommand framework is needed for other tools.  Move
> > > > > > parse-options.c and its dependencies over to libapi.
> > > > > > 
> > > > > > Any function names with 'perf' have been renamed to something more
> > > > > > generic.
> > > > > > 
> > > > > > Also created a util_cfg struct for passing perf-specific configuration
> > > > > > to the library.  Specifying the configuration at runtime allows the same
> > > > > > binary to be shared by multiple tools without having to recompile it.
> > > > > 
> > > > > this patch is too big.. IMO it needs to be split into 3 parts
> > > > > as described in above 3 paragraphs
> > > > 
> > > > Ok, will do.
> > > 
> > > Also please rename this util_cfg struct to something more expressive,
> > > breaking down the patch may help in finding a better name, I guess.
> > 
> > I'm certainly open to doing so, but I'm having trouble coming up with a
> > better name.  The current name makes sense to me, because the struct
> > contains various configuration options needed by the libapi "util" code.
> > 
> > Would 'libapi_util_config' be better?  Or do you have any other
> > suggestions?
> 
> Please break it up into multiple pieces, as suggested by Jiri, in doing
> so you may find some better name.
>
> But since several are related to command environment setup, perhaps
> 'struct cmd_exec_env'?

IMO, 'struct cmd_exec_env' doesn't describe the struct accurately.  I
think it tangentially describes some features of some of the fields, but
not all of them.  That seems more confusing to me.

Is your complaint that the name is too vague?  If so, that's actually by
design, because the struct is meant to be a generic interface for
providing various unrelated configuration variables to libapi.

I've split the patch up into the above 3 paragraphs as Jiri suggested.
But I still don't have any ideas for a name better than 'util_cfg'
(other than something more verbose like 'libapi_util_config').

Instead of a single struct, we could consider splitting it into multiple
structs (e.g., one for exec_cmd.c, one for parse-options.c, and one for
pager.c).  But the 'exec_name' field is used by multiple files, so it
wouldn't necessarily be a clean split.  It would also possibly create
more room for error for the users of libapi, since there would then be
three config interfaces instead of one.

-- 
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ