From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id dbJ7OMX12mKuvhgAWB0awg (envelope-from ) for ; Fri, 22 Jul 2022 15:08:53 -0400 Received: by simark.ca (Postfix, from userid 112) id D74F41E5EA; Fri, 22 Jul 2022 15:08:53 -0400 (EDT) Authentication-Results: simark.ca; dkim=fail reason="signature verification failed" (768-bit key; unprotected) header.d=tromey.com header.i=@tromey.com header.a=rsa-sha256 header.s=default header.b=hyRDM9JW; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id B893C1E222 for ; Fri, 22 Jul 2022 15:08:51 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E861F385800B for ; Fri, 22 Jul 2022 19:08:50 +0000 (GMT) Received: from progateway7-pub.mail.pro1.eigbox.com (gproxy5-pub.mail.unifiedlayer.com [67.222.38.55]) by sourceware.org (Postfix) with ESMTPS id 1EEF93858405 for ; Fri, 22 Jul 2022 19:08:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1EEF93858405 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw11.mail.unifiedlayer.com (unknown [10.0.90.126]) by progateway7.mail.pro1.eigbox.com (Postfix) with ESMTP id A4EC210047AFB for ; Fri, 22 Jul 2022 19:08:27 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id Ey0gocbR7q24iEy0hodqqf; Fri, 22 Jul 2022 19:08:27 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=DaLSFthW c=1 sm=1 tr=0 ts=62daf5ab a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=RgO8CyIxsXoA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=FsyTgRbiUpjPqa5ARikA:9 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=C3e/7ydeK/BQZGF0DUIhrznNTBQoVjYshmgEv8OV51w=; b=hyRDM9JWqPcSKfdCInLMmHJ+2U H6SVklyrsY+3vXeOQ7MnszmZLtjtexMK5vUwLfcxeIRaMEvcWrT3r640EErFgdsFrDGtY9RMC2/WK vfinYhEXo1wE21xZF4Pd1JoCI; Received: from 71-211-185-228.hlrn.qwest.net ([71.211.185.228]:56176 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1oEy0g-001F5b-Kx; Fri, 22 Jul 2022 13:08:26 -0600 From: Tom Tromey To: Tom de Vries via Gdb-patches Subject: Re: [PATCH][gdbsupport] Use task size in parallel_for_each References: <20220718194219.GA16823@delia.home> <4fc23fcd-c15d-7622-8b51-cc48cd3cba16@palves.net> <75931310-5dcd-059d-9221-6c94dbcd231f@suse.de> X-Attribution: Tom Date: Fri, 22 Jul 2022 13:08:25 -0600 In-Reply-To: <75931310-5dcd-059d-9221-6c94dbcd231f@suse.de> (Tom de Vries via Gdb-patches's message of "Thu, 21 Jul 2022 22:23:33 +0200") Message-ID: <87leslj786.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.185.228 X-Source-L: No X-Exim-ID: 1oEy0g-001F5b-Kx X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-185-228.hlrn.qwest.net (murgatroyd) [71.211.185.228]:56176 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tom Tromey , Pedro Alves Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Pedro> My passerby comment is that I wonder whether we should consider Pedro> switching to a work stealing implementation, so that threads that Pedro> are done with their chunk would grab another chunk from the work Pedro> pool. I think this would spare us from having to worry about Pedro> these distribution heuristics. Tom> I also though about a dynamic solution, but decided to try the Tom> simplest solution first. Tom> Anyway, with a dynamic solution you still might want to decide how big Tom> a chunck is, for which you could still need this type of heuristics. I think the idea of the work-stealing approach is that each worker grabs work as it can, and so no sizing is needed at all. If one worker ends up with a very large CU, it will simply end up working on fewer CUs. In this situation, work stealing might make the overall implementation simpler. Perhaps the batching parameter patch (commit 82d734f7a) and the vector of results patch (commit f4565e4c9) could be removed. Then, rather than using parallel_for, the DWARF reader could send N jobs to the thread pool, and each job would simply take the next available CU by incrementing an atomic counter. When the counter reached the number of CUs, a job would stop. Tom