On 4/21/21 8:27 PM, Jakub Jelinek wrote:
> On Wed, Apr 21, 2021 at 08:06:26PM +0200, Martin Liška wrote:
>> On 4/21/21 7:56 PM, Jakub Jelinek wrote:
>>> On Wed, Apr 21, 2021 at 11:50:02AM -0400, David Edelsohn via Gcc-patches 
>>> wrote:
>>>> This patch broke bootstrap on AIX.
>>>>
>>>> std::thread is not provided in all instances.  GCC is not compiled
>>>> multi-threaded by default.
>>>>
>>>> error: `std::thread' has not been declared.
>>>
>>> In addition to that, I'm not really convinced it is a good idea,
>>> e.g. for Linux I believe the previous implementation was much better
>>> (as it counted only the cores/threads available to gcc subprocesses,
>>> rather than all available on the system, so e.g. when running some
>>> compilation job under taskset with std::thread::hardware_concurrency it
>>> will oversubscribe the available CPUs).
>>
>> Well, the previous implementation was over-complicated! I think we can live
>> with an implementation that covers 99% of the cases. It's parallel level
>> for LTO LTRANS run.
> 
> No, it was the standard way how to query that information.
> E.g. libgomp does that too.

I would not call it standard. A normal user can't never handle all the corner
cases that are in the implementation.

Anyway, that's why we have a C++ ISO standard and so 
std::thread::hardware_concurrency
function implementation can (and likely should) handle all this. Or?

Martin

> 
>       Jakub
> 

Reply via email to