Re: [PATCH 4/4] coccicheck: add indexing enhancement options

From: Luis R. Rodriguez
Date: Tue Jun 14 2016 - 18:02:43 EST


On Tue, Jun 14, 2016 at 11:17:13PM +0200, Julia Lawall wrote:
>
>
> On Tue, 14 Jun 2016, Luis R. Rodriguez wrote:
>
> > On Tue, Jun 14, 2016 at 10:47:32PM +0200, Julia Lawall wrote:
> > >
> > >
> > > On Tue, 14 Jun 2016, Luis R. Rodriguez wrote:
> > >
> > > > On Tue, Jun 14, 2016 at 07:22:03AM +0200, Julia Lawall wrote:
> > > > >
> > > > >
> > > > > On Mon, 13 Jun 2016, Luis R. Rodriguez wrote:
> > > > >
> > > > > > On Mon, Jun 13, 2016 at 09:50:15PM +0200, Julia Lawall wrote:
> > > > > > >
> > > > > > >
> > > > > > > On Mon, 13 Jun 2016, Luis R. Rodriguez wrote:
> > > > > > > >
> > > > > > > > I'll redirect stderr to stdout by default when parmap support is used then.
> > > > > > >
> > > > > > > Usually I put them in different files.
> > > > > >
> > > > > > We can do that as well but I would only want to deal with parmap support
> > > > > > case. Any preference? How about .coccicheck.stderr.$PID where PID would
> > > > > > be the PID of the shell script?
> > > > >
> > > > > I don't understand the connection with parmap.
> > > >
> > > > When parmap support is not available the cocciscript will currently
> > > > disregard stderr, output is provided as it comes to stdout from each
> > > > thread I guess.
> > >
> > > Deepa's recent patch to coccicheck made apparent that Coccicheck uses
> > > --very-quiet, so there is standard error.
> >
> > OK I'm disegarding the redirect for non-parmap for now but we'd have to
> > determine if we want to append or add one per PID... I rather leave that
> > stuff as-is and encourage folks to upgrade coccinelle.
>
> If coccicheck is using --very-quiet, there will not be much stderr of
> interest when using parmap either.

OK I don't follow. Does coccinelle only direct error to stderr when --very-quiet
is used ? Or does using --very-quiet suppress stderr ?

> I'm not sure to understan the issue about appending. Appending what to
> what?
> While Coccinelle is running, you have a directory with the same
> name as your semantic patch (or a directory name that you specify with
> --tmp-dir) that has separate files for each core's standard output and
> standard error. At the end, when all the code has been treated,
> Coccinelle writes the successive stdouts to standard output, and the
> sucessive stderrs to standard error.

Ah I see. OK yeah never mind about appending.

> > > > > Originally our use of parmap made output, specia files based on pids. Maybe this
> > > > > is the default for parmap. I found this completely unusable. I guess one
> > > > > could look at the dates to see which file is the most recent one, but it
> > > > > seems tedious. If you are putting the standard output in x.out, then put
> > > > > the standard error in x.err.
> > > >
> > > > I'll use ${DIR}/coccicheck.$$.err for stderr.
> > >
> > > What is ${DIR}? and what is $$?
> >
> > When you run scripts/coccicheck we take the absolute directory
> > of it and then go down one level of directory, so in this case it
> > would be the base directory of the Linux kernel.
> >
> > $$ is the PID of the bash script.
>
> OK. I still don't find PIDs useful, but I guess if we are talking about
> the entire output of coccicheck, there is not much else to do. Normally,
> I don't want these files accumulating, and just write over the old ones.

Which is why I would much prefer to instead just redirect in coccicheck
case stderr to stdout from coccinelle. Is that preferred?

Luis