public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Biener <richard.guenther@gmail.com>
To: "Martin Liška" <mliska@suse.cz>
Cc: Jan Hubicka <hubicka@ucw.cz>, Jakub Jelinek <jakub@redhat.com>,
	Jeff Law <law@redhat.com>, 	GCC Patches <gcc-patches@gcc.gnu.org>,
	Michael Matz <matz@suse.de>
Subject: Re: [PATCH] Properly detect working jobserver in gcc driver.
Date: Fri, 02 Aug 2019 09:55:00 -0000	[thread overview]
Message-ID: <CAFiYyc2PoO+Uc1BBKrOmtsGa0C91vo0PjmZOrgSqFf5VvCGqqg@mail.gmail.com> (raw)
In-Reply-To: <0221cd30-5ce4-624f-afe5-15525092821a@suse.cz>

On Fri, Aug 2, 2019 at 11:19 AM Martin Liška <mliska@suse.cz> wrote:
>
> On 8/2/19 11:15 AM, Jan Hubicka wrote:
> >> On Fri, Aug 2, 2019 at 10:50 AM Jakub Jelinek <jakub@redhat.com> wrote:
> >>>
> >>> On Fri, Aug 02, 2019 at 10:47:10AM +0200, Martin Liška wrote:
> >>>>> Can you strace if other fds are opened and not closed in the spot you had it
> >>>>> before?  Advantage of doing it there is that it will not be done for all the
> >>>>> -E/-S/-c compilations when the linker is not spawned.
> >>>>
> >>>> I've used the same trick which you used and I'm attaching the output.
> >>>> I believe it's fine, I can't see any opened fd by GCC.
> >>>
> >>> LGTM.
> >>
>
> Hi.
>
> >> Btw, we discussed yesterday on the phone and the conclusion was to
> >> make -flto auto-detect a job-server (but not fall back to # of threads)
> >> and add -flto=auto to auto-detect a job-server and fall back to # of threads.
> >> That basically makes -flto=jobserver the default behavior which means
> >> we should document -flto=1 as a way to override jobserver detection.
> >
> > And concerning to the yesterday discussion, my preference would still be
> > -flto to first try presence of jobserver and default to number of
> > threads otherwise. It seems like user friendly default to me and other
> > tools with reasonable parallelism support usually behaves this way, too.
>
> I also like the default as Honza defined.
>
> >
> > Sure one can use -flto=auto everywhere but then one needs to use
> > different options for differnt compilers.  It would be nice to make
> > -flto to do right hting for majority of users including those like me
> > who cut&paste command lines from Make output and execute them by hand.
>
> Note that our ambition is to ideally backport the patches to our gcc9 package.
> The auto-detection of job-server with -flto is a behavior change that will happen
> in the gcc9 package.
>
> To be honest I don't like the invention of 'auto' value for -flto command.
> That would be useful just for gcc9 right now :/

Well.  We teached people they need to use -flto=N or -flto=jobserver to
get parallelism.  Like we teached people they need to use -O2 to get
any optimization.

Other compilers behave differently.  So what.

Auto-detecting threads is nice.  Suddenly trashing your system
because you happen to invoke two links in parallel is not.
Which is at least why changing this kind of behavior for 9.2 (or 9.3)
vs. 9.1 is out of the question.  And I'm not sure it is OK for 10.

As with defaulting to use a job-server when present that's more
reasonable.

For cut&pasting you then can use -flto=auto.

But it's just my opinion - I surely can adapt.

Richard.

> Martin
>
> >
> > The fork bombing is IMO relatively rare and it was not what Jakub ran
> > into (it was broken jobserv detection).
> > After all whole distro built with Martin's orriginal approach of
> > -flto=<nthreads> which forkbombs on every possible occasion.
> >
> > Said that, I could live with more conservative defaults.
> > Honza
> >
>

  reply	other threads:[~2019-08-02  9:55 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-23  8:55 [PATCH] Come up with -flto=auto option Martin Liška
2019-07-23  9:29 ` Jan Hubicka
2019-07-23 10:34   ` [PATCH] Deduce automatically number of cores for -flto option Martin Liška
2019-07-24 15:47     ` Jeff Law
2019-07-29 13:37       ` Martin Liška
2019-07-30 13:47         ` Martin Liška
2019-07-31  1:23         ` Jakub Jelinek
2019-07-31  7:24           ` Martin Liška
2019-07-31  7:40             ` Jakub Jelinek
2019-07-31  7:49               ` Jan Hubicka
2019-07-31  7:50                 ` Martin Liška
2019-07-31  7:54               ` Martin Liška
2019-07-31  8:08                 ` Jakub Jelinek
2019-07-31  8:21                 ` Jan Hubicka
2019-07-31  8:37                   ` Martin Liška
2019-07-31  9:12                     ` Jakub Jelinek
2019-07-31  9:15                       ` Jan Hubicka
2019-07-31  9:17                         ` Jakub Jelinek
2019-07-31  9:22                           ` Jan Hubicka
2019-07-31 10:02                         ` Martin Liška
2019-07-31 12:02                           ` Jan Hubicka
2019-07-31 15:42                           ` Martin Liška
2019-08-01 13:19                             ` Jakub Jelinek
2019-08-01 14:34                               ` [PATCH] Properly detect working jobserver in gcc driver Martin Liška
2019-08-01 14:41                                 ` Jakub Jelinek
2019-08-02  6:30                                   ` Martin Liška
2019-08-02  7:45                                     ` Jakub Jelinek
2019-08-02  8:47                                       ` Martin Liška
2019-08-02  8:50                                         ` Jakub Jelinek
2019-08-02  9:04                                           ` Richard Biener
2019-08-02  9:08                                             ` Jan Hubicka
2019-08-02  9:15                                             ` Jan Hubicka
2019-08-02  9:19                                               ` Martin Liška
2019-08-02  9:55                                                 ` Richard Biener [this message]
2019-08-05  6:41                                                   ` Martin Liška
2019-08-09  8:14                                                     ` Martin Liška
2019-08-09  8:22                                                       ` Richard Biener
2019-08-09 12:51                                                         ` Martin Liška
2019-08-09 13:56                                                           ` Martin Liška
2019-08-12 15:18                                                             ` Jeff Law
2019-07-23 13:13   ` [PATCH] Come up with -flto=auto option Jeff Law
2019-07-23 13:22     ` Richard Biener
2019-07-23 13:57     ` Michael Matz
2019-07-23 14:00       ` Jeff Law
2019-07-23 14:27         ` Martin Liška
2019-07-23 22:56           ` Jeff Law
2019-07-24  6:59             ` Martin Liška
2019-07-24 15:16               ` Jeff Law
2019-07-23 22:32 ` Allan Sandfeld Jensen
2019-07-24  6:47   ` Martin Liška
2019-07-24  7:12     ` Allan Sandfeld Jensen
2019-07-24  7:15       ` Martin Liška
2019-07-24 11:09         ` Nathan Sidwell
2019-07-24 15:46 ` Jeff Law

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=CAFiYyc2PoO+Uc1BBKrOmtsGa0C91vo0PjmZOrgSqFf5VvCGqqg@mail.gmail.com \
    --to=richard.guenther@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=jakub@redhat.com \
    --cc=law@redhat.com \
    --cc=matz@suse.de \
    --cc=mliska@suse.cz \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).