Received: (at 66020) by debbugs.gnu.org; 20 Sep 2023 11:20:31 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 20 07:20:31 2023 Received: from localhost ([127.0.0.1]:58460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1qivFv-0006LO-6T for submit <at> debbugs.gnu.org; Wed, 20 Sep 2023 07:20:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1qivFq-0006L7-Nu for 66020 <at> debbugs.gnu.org; Wed, 20 Sep 2023 07:20:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1qivFb-0001vy-Cc; Wed, 20 Sep 2023 07:20:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=JP2b9RpeZ7FmPsh83Q1X1ZHL/qBavOYid9XK4OCTkSY=; b=fr4CuHnXW3by iQwFUOl0qnBJ6HpdUTHAuK45KYwoBM2YmjB34whTCwFwrNEphf+R0+06yMZRfa+I+gb7ZSYbRXPly 7TczskzNp5GmvzBP0jWotczCAg0OuQgRB7G027SSyI490krApzz6FrAbmdtU8BvGoY3TSNHzQD8LD M8jAplYmiRWsEoMXValK0egYU4doxIwpe7rlL8k3WDretRg0gPp5c6+yApQ6zSV4elyqUuXtlJfQ4 LeEEgoKy009JpMlzEds/0CRdARSoT6dM121TUdx/tNu6WyPAoPeqp9pyxIQQXXad4aCjgy/Kfhbu0 7cgrjQ0uYJ5qd8wKXuKbpw==; Date: Wed, 20 Sep 2023 14:20:13 +0300 Message-Id: <83zg1hay6q.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <937d9927-506f-aa36-94e9-3cceb8f629dd@HIDDEN> (message from Dmitry Gutov on Tue, 19 Sep 2023 22:59:43 +0300) Subject: Re: bug#66020 (bug#64735 spin-off): regarding the default for read-process-output-max References: <iermszrwqj4.fsf@HIDDEN> <35f8b664-0241-9f96-1aa0-20ca51b2d34c@HIDDEN> <59c30342-a7e0-d83b-a128-0faae4cbd633@HIDDEN> <83pm4bi6qa.fsf@HIDDEN> <d319bd54-3f0d-a205-3412-ef3961074416@HIDDEN> <83bkfs2tw5.fsf@HIDDEN> <18a0b4d8-32bd-3ecd-8db4-32608a1ebba7@HIDDEN> <83il8lxjcu.fsf@HIDDEN> <2e21ec81-8e4f-4c02-ea15-43bd6da3daa7@HIDDEN> <8334zmtwwi.fsf@HIDDEN> <e480d2fb-0912-c9d6-66c8-d11e07482545@HIDDEN> <83tts0rkh5.fsf@HIDDEN> <e6dd2d5c-9a88-6e18-f1e2-544a9cb1beaf@HIDDEN> <831qf3pd1y.fsf@HIDDEN> <28a7916e-92d5-77ab-a61e-f85b59ac76b1@HIDDEN> <83sf7jnq0m.fsf@HIDDEN> <5c493f86-0af5-256f-41a7-7d886ab4c5e4@HIDDEN> <83ledanvzw.fsf@HIDDEN> <bc4bb3de-d433-7249-cb53-2f312656589d@HIDDEN> <83r0n2m7qz.fsf@HIDDEN> <26afa109-9ba3-78a3-0e68-7585ae8e3a19@HIDDEN> <83il8dna30.fsf@HIDDEN> <e46f996a-0bed-8796-23d7-c9c8b7d428be@HIDDEN> <83bke5mhvs.fsf@HIDDEN> <edb397b8-d3da-6646-0a97-841ebcae2e7a@HIDDEN> <83a5tmk79p.fsf@HIDDEN> <937d9927-506f-aa36-94e9-3cceb8f629dd@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 66020 Cc: 66020 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Tue, 19 Sep 2023 22:59:43 +0300 > Cc: 66020 <at> debbugs.gnu.org > From: Dmitry Gutov <dmitry@HIDDEN> > > - Maybe we declare the difference insignificant and bump the value of > read-process-output-max, given that it helps in other cases, > - Or try to find out the cause for degradation, > - Or keep the default the same, but make it easier to use different > value for different processes (meaning, we resurrect the discussion in > bug#38561). I'd try the same experiment on other use cases, say "M-x grep" and "M-x compile" with large outputs, and if you see the same situation there (i.e. larger buffers are no worse), try increasing the default value on master. Stefan & Stefan: any comments or suggestions?
bug-gnu-emacs@HIDDEN
:bug#66020
; Package emacs
.
Full text available.Received: (at 66020) by debbugs.gnu.org; 19 Sep 2023 20:00:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 19 16:00:06 2023 Received: from localhost ([127.0.0.1]:57855 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1qigtB-0000vY-Fk for submit <at> debbugs.gnu.org; Tue, 19 Sep 2023 16:00:06 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:58893) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1qigt8-0000uT-Ns for 66020 <at> debbugs.gnu.org; Tue, 19 Sep 2023 16:00:04 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 3DD6D5C01AA; Tue, 19 Sep 2023 15:59:48 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Tue, 19 Sep 2023 15:59:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1695153588; x=1695239988; bh=O2MS+YZGx/qBn4Xj9GVu4SjO0x3m8JC4VSs qXXmB7Ck=; b=hhuHbUXTvbhwUloJ4wyqHiBXkPI9oLZ4vL35zZ4h6s/MaZ6fXQO YqJt+D69oAYdfWbJV5o+Jd3o48JpixdF3sUa/8R7Th7jsy0z9IYbFxscGnP0RW3H 1CDUQizlw02z1Etfm9mbS1YlVGgUIcuTc3uxVrj+XTwQifUs0y9daacIsKuI/abx ga0er+M3Re8BB0QNDZIyMcv1rtgm3HOSHQ5nY4bmuFI/iTxFzqOFGrb9Ko4gbvW7 m+P7PUcRQtA8Vtu9PMVZYdjH7xzGU9vBljHKOvza3mRPBlV7f+EDHz+8760x+VUW fyiapAm+yDdXCr8f0vQjUS5wMnqvptAek4A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1695153588; x=1695239988; bh=O2MS+YZGx/qBn4Xj9GVu4SjO0x3m8JC4VSs qXXmB7Ck=; b=N7A+A7p5uchSAYMz6ojNh61/irnuk2xF62Bj0T96C0dyFQ1zGlJ uA3J24/zDBPxRPBg/mZFeUM891+WGWoub7XsEB9vG50ucj+9aYot/96ivaK5PiOK fHgKNaMeQ/MGX9jQllrOLLpqbYlRrOM1NFF4v1/ei1eUeck45sKR8P7BHjFCGw0c Lm5bv4MrLZoumZq+dULA3dIcCY7ie8jxwhyQfpE3dO/rlHggfQnzW6kz6k/gI+uE TMsQck/JuyyLz0nyTHVgSuraC60wu3Khk5VrFzMrvLMhiATPBzlZyA2cQ9KCoYVG o00uH+5/F6yhUzhsxlQUAuu0Ssh/Fnar5zw== X-ME-Sender: <xms:s_0JZS7jYKB49FN4abMwWwKthFolfOEk0e4lYT1Y4YHMMgl0kx_mRw> <xme:s_0JZb4quu_ZMeZoLzJ_LGjN6FMB2hvH5Rz1Z5cleeeQqEVmmbxKP6xz4aCSclHuK cneS0EIqdViQECecSs> X-ME-Received: <xmr:s_0JZRc_M3dxKM35rX3E8tNGEQVmgXuuyNJ3aAd8Twnq_hX6EmDNwdBLRsH4Cso> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudekuddguddufecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeev ledvveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: <xmx:s_0JZfLylyttU6JEP9SOSALJM9b4npUyuaQj2Uu05c736c4vfRnqwA> <xmx:s_0JZWKhUyOpuSV4nuiKsyiaJn1Lqf7tg74va-r5MJhwLL3ZaxQY_w> <xmx:s_0JZQxf2HBehqTyPkxugjArpCcv5_bo6hOX_ojne55tZXwrgEtoqg> <xmx:tP0JZQyIasFlhGYXi6e9fC5XDGp2v0jth0uzIuPctZUSA05c0llUjA> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 19 Sep 2023 15:59:47 -0400 (EDT) Message-ID: <937d9927-506f-aa36-94e9-3cceb8f629dd@HIDDEN> Date: Tue, 19 Sep 2023 22:59:43 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: bug#66020 (bug#64735 spin-off): regarding the default for read-process-output-max Content-Language: en-US To: Eli Zaretskii <eliz@HIDDEN> References: <iermszrwqj4.fsf@HIDDEN> <35f8b664-0241-9f96-1aa0-20ca51b2d34c@HIDDEN> <59c30342-a7e0-d83b-a128-0faae4cbd633@HIDDEN> <83pm4bi6qa.fsf@HIDDEN> <d319bd54-3f0d-a205-3412-ef3961074416@HIDDEN> <83bkfs2tw5.fsf@HIDDEN> <18a0b4d8-32bd-3ecd-8db4-32608a1ebba7@HIDDEN> <83il8lxjcu.fsf@HIDDEN> <2e21ec81-8e4f-4c02-ea15-43bd6da3daa7@HIDDEN> <8334zmtwwi.fsf@HIDDEN> <e480d2fb-0912-c9d6-66c8-d11e07482545@HIDDEN> <83tts0rkh5.fsf@HIDDEN> <e6dd2d5c-9a88-6e18-f1e2-544a9cb1beaf@HIDDEN> <831qf3pd1y.fsf@HIDDEN> <28a7916e-92d5-77ab-a61e-f85b59ac76b1@HIDDEN> <83sf7jnq0m.fsf@HIDDEN> <5c493f86-0af5-256f-41a7-7d886ab4c5e4@HIDDEN> <83ledanvzw.fsf@HIDDEN> <bc4bb3de-d433-7249-cb53-2f312656589d@HIDDEN> <83r0n2m7qz.fsf@HIDDEN> <26afa109-9ba3-78a3-0e68-7585ae8e3a19@HIDDEN> <83il8dna30.fsf@HIDDEN> <e46f996a-0bed-8796-23d7-c9c8b7d428be@HIDDEN> <83bke5mhvs.fsf@HIDDEN> <edb397b8-d3da-6646-0a97-841ebcae2e7a@HIDDEN> <83a5tmk79p.fsf@HIDDEN> From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <83a5tmk79p.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 66020 Cc: 66020 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) This is another continuation from bug#64735, a subthread in this bug seems more fitting, given that I did most of the tests with its patch applied. On 16/09/2023 08:37, Eli Zaretskii wrote: >> Date: Sat, 16 Sep 2023 04:32:26 +0300 >> Cc:luangruo@HIDDEN,sbaugh@HIDDEN,yantar92@HIDDEN, >> 64735 <at> debbugs.gnu.org >> From: Dmitry Gutov<dmitry@HIDDEN> >> >>>> I wonder what scenario that might become apparent in. Launching many >>>> small processes at once? Can't think of a realistic test case. >>> One process suffices. The effect might not be significant, but >>> slowdowns due to new features are generally considered regressions. >> We'd need some objective way to evaluate this. Otherwise we'd just stop >> at the prospect of slowing down some process somewhere by 9ns (never >> mind speeding others up). > That could indeed happen, and did happen in other cases. My personal > conclusion from similar situations is that it is impossible to tell in > advance what the reaction will be; we need to present the numbers and > see how the chips fall. I wrote this test: (defun test-ls-output () (with-temp-buffer (let ((proc (make-process :name "ls" :sentinel (lambda (&rest _)) :buffer (current-buffer) :stderr (current-buffer) :connection-type 'pipe :command '("ls")))) (while (accept-process-output proc)) (buffer-string)))) And tried to find some case where the difference is the least in favor of high buffer length. The one in favor of it we already know (a process with lots and lots of output). But when running 'ls' on a small directory (output 500 chars long), the variance in benchmarking is larger than any difference I can see from changing read-process-output-max from 4096 to 40960 (or to 40900 even). The benchmark is the following: (benchmark 1000 '(let ((read-process-output-fast t) (read-process-output-max 4096)) (test-ls-output))) When the directory is a little large (output ~50000 chars), there is more nuance. At first, as long as (!) read_and_insert_process_output_v2 patch is applied and read-process-output-fast is non-nil, the difference is negligible: | read-process-output-max | bench result | | 4096 | (4.566418994 28 0.8000380139999992) | | 40960 | (4.640526664 32 0.8330555910000008) | | 409600 | (4.629948652 30 0.7989731299999994) | For completeness, here are the same results for read-process-output-fast=nil (emacs-29 is similar, though all a little slower): | read-process-output-max | bench result | | 4096 | (4.953397326 52 1.354643750000001) | | 40960 | (6.942334958 75 2.0616055079999995) | | 409600 | (7.124765651 76 2.0892871070000005) | But as the session gets older (and I repeat these and other memory-intensive benchmarks), the outlay changes, and the larger buffer leads to uniformly worse number (the below is taken with read-process-output-fast=t; with that var set to nil the results were even worse): | read-process-output-max | bench result | | 4096 | (5.02324481 41 0.8851443580000051) | | 40960 | (5.438721274 61 1.2202541989999958) | | 409600 | (6.11188183 77 1.5461468160000038) | ...which seems odd given that in general, the buffer length closer to the length of the output should be preferable, because otherwise it is allocated multiple times, and read_process_output is likewise called more. Perhaps longer strings get more difficult to allocate as fragmentation increases? So, the last table is from a session I had running from yesterday, and the first table was produced after I restarted Emacs about an hour ago (the numbers were stable for 1-2 hours while I was writing this email on-and-off, then started degrading again a little bit, though not yet -- a couple of hours since -- even halfway to the numbers in the last table). Where to go from here? - Maybe we declare the difference insignificant and bump the value of read-process-output-max, given that it helps in other cases, - Or try to find out the cause for degradation, - Or keep the default the same, but make it easier to use different value for different processes (meaning, we resurrect the discussion in bug#38561).
bug-gnu-emacs@HIDDEN
:bug#66020
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Sep 2023 01:26:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 15 21:26:35 2023 Received: from localhost ([127.0.0.1]:45112 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1qhK4w-0000a1-UD for submit <at> debbugs.gnu.org; Fri, 15 Sep 2023 21:26:35 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1qhK4u-0000Zi-N9 for submit <at> debbugs.gnu.org; Fri, 15 Sep 2023 21:26:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dmitry@HIDDEN>) id 1qhK4i-00021c-GV for bug-gnu-emacs@HIDDEN; Fri, 15 Sep 2023 21:26:20 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dmitry@HIDDEN>) id 1qhK4f-0003bU-VL for bug-gnu-emacs@HIDDEN; Fri, 15 Sep 2023 21:26:20 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 8492D320091A for <bug-gnu-emacs@HIDDEN>; Fri, 15 Sep 2023 21:26:14 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Fri, 15 Sep 2023 21:26:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1694827573; x=1694913973; bh=SdGI/sXivr/Bm6TEtmwbQHn/9 D9AGPCQdOVUfR48L78=; b=bJhrmA6/9vzWz0up4od2li6f1mpcaj8V0IKIl5t89 oDXcG06Su9fW7E5B8aF8b1dYzYfxQb68/KHlzTyr6VkDvVBjsnSvA0rlIYjf1WoQ 1F7wGrM5XrSu0M+Qg07iwoLop0EZk5tF/pzjvyvOmOYtLxEVExa0VIiPva/5VOEO QGBTISbAxyFTCKAAY+9k8j2cSyYHdu19ssS2uoOrjhMvhI0IZ/qQrbJjXj2Ms8b/ iWTx6bsJO3X+qk/quZmHGBRDX0qaUttFBUIhreovWacvQlOy1b4n8kvYHboHgww+ 0JZD53je2Si4gf4Bttj+qlHOXL+RWtkXqLRKmFgqI/ZwQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1694827573; x=1694913973; bh=SdGI/sXivr/Bm6TEtmwbQHn/9D9AGPCQdOV UfR48L78=; b=GgZaUFFbGkGiH4pVQnQCkhwr7PgUCyxTV4cB9mN9baFxB8lPPfH MSqBBgvkpRKPc/9KVfLTrt9y5jBHcO13+ZoCxkqHLg8Um+7rawJELtkZVKy2F7IJ ilJMFWcqNhibiDoYfdLRZA0hJdTDZp4qxZfDJqoTiMCRn+g9YxdSZsieQ+o+D8nq sEzfppXXtkT6DSph2u0s2b/7wog3oPBPbd28LR+7j5rvF9ErmkqtI8nA/xk8rz8m GStzbX9WEQwW4JNIlzinjddpDwiKe8OOpMFAKxNm8Q7zFsiu0YwiN3dI2XTCeKM+ DHKjyxsQkdFCgFpDMdrMFiRb2k/Xpghobcg== X-ME-Sender: <xms:NQQFZbOTG7Pvc_4pI9mFTkwu6TpbVCUwhZMkM4aQYa5Zoc9vVLVtpQ> <xme:NQQFZV_RarQJRJ44o-LXz_WzhMDLVTW_kuJdd7n9ujKqb1wKXYs9vZ1FuJl0h_z82 NLbXIZSwkZTyvupm_Y> X-ME-Received: <xmr:NQQFZaTXiiZybWLikVbKiC6BcfBqdyBL9g6pkslOCflws2Dw7d7bgrzGNpjTBuI> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudejfedggeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfvffhufesmhdtreertd efjeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhv rdguvghvqeenucggtffrrghtthgvrhhnpeduteeijeeiveehveehtdehjefhtdevuedtie efffeivdeijeejvdevveegvdevvdenucffohhmrghinhepghhnuhdrohhrghenucevlhhu shhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesgh huthhovhdruggvvh X-ME-Proxy: <xmx:NQQFZfuU7m4ZKhGSAsAnjxtq6L1k255Yo_2UTw4h7pLM6DA07x8RgA> <xmx:NQQFZTe1FtNWdPxQlvqnr2znGSVqIOOBylOjVoBjSsygQ0xz0s2BEw> <xmx:NQQFZb0uFYldjoghP8JnGxlWdsH2SEqHrSY33KF82HRRYtpracQwdw> <xmx:NQQFZRoxTk0xaaRBNsfiClR6czMZa03XjibPZwSXQyctJhqh1WbAqA> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for <bug-gnu-emacs@HIDDEN>; Fri, 15 Sep 2023 21:26:13 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------ujujwY71SxzZu4tHORIFXUna" Message-ID: <3a6287c3-8458-663e-ffce-8f48b30bf73d@HIDDEN> Date: Sat, 16 Sep 2023 04:26:11 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: bug-gnu-emacs@HIDDEN From: Dmitry Gutov <dmitry@HIDDEN> Subject: [PATCH] Reduce GC churn in read_process_output Received-SPF: pass client-ip=64.147.123.21; envelope-from=dmitry@HIDDEN; helo=wout5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.3 (/) This is a multi-part message in MIME format. --------------ujujwY71SxzZu4tHORIFXUna Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit As suggested, I'm filing this in a new bug report for wider review. The updated patch attached. The previous discussion was in bug#64735, and the benchmarks (which more or less hold for the new patch as well) can be viewed here (last table): https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64735#506. Except the new version somehow performs a little better at read-process-output-max=4096 as well, despite seemingly doing more. Let me know if I DRYed this too much, or if there are better names for the extracted common routines, or etc. Or for the new variable (read-process-output-fast). --------------ujujwY71SxzZu4tHORIFXUna Content-Type: text/x-patch; charset=UTF-8; name="read_and_insert_process_output_v2.diff" Content-Disposition: attachment; filename="read_and_insert_process_output_v2.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmMgYi9zcmMvcHJvY2Vzcy5jCmluZGV4IDA4Y2I4 MTBlYzEzLi44ZWFkNTA4YjcyNiAxMDA2NDQKLS0tIGEvc3JjL3Byb2Nlc3MuYworKysgYi9z cmMvcHJvY2Vzcy5jCkBAIC02MTEyLDYgKzYxMTIsMTEgQEAgcmVhZF9hbmRfZGlzcG9zZV9v Zl9wcm9jZXNzX291dHB1dCAoc3RydWN0IExpc3BfUHJvY2VzcyAqcCwgY2hhciAqY2hhcnMs CiAJCQkJICAgIHNzaXplX3QgbmJ5dGVzLAogCQkJCSAgICBzdHJ1Y3QgY29kaW5nX3N5c3Rl bSAqY29kaW5nKTsKIAorc3RhdGljIHZvaWQKK3JlYWRfYW5kX2luc2VydF9wcm9jZXNzX291 dHB1dCAoc3RydWN0IExpc3BfUHJvY2VzcyAqcCwgY2hhciAqYnVmLAorCQkJCSAgICBzc2l6 ZV90IG5yZWFkLAorCQkJCXN0cnVjdCBjb2Rpbmdfc3lzdGVtICpwcm9jZXNzX2NvZGluZyk7 CisKIC8qIFJlYWQgcGVuZGluZyBvdXRwdXQgZnJvbSB0aGUgcHJvY2VzcyBjaGFubmVsLAog ICAgc3RhcnRpbmcgd2l0aCBvdXIgYnVmZmVyZWQtYWhlYWQgY2hhcmFjdGVyIGlmIHdlIGhh dmUgb25lLgogICAgWWllbGQgbnVtYmVyIG9mIGRlY29kZWQgY2hhcmFjdGVycyByZWFkLApA QCAtNjIyNyw3ICs2MjMyLDExIEBAIHJlYWRfcHJvY2Vzc19vdXRwdXQgKExpc3BfT2JqZWN0 IHByb2MsIGludCBjaGFubmVsKQogICAgICBmcmllbmRzIGRvbid0IGV4cGVjdCBjdXJyZW50 LWJ1ZmZlciB0byBiZSBjaGFuZ2VkIGZyb20gdW5kZXIgdGhlbS4gICovCiAgIHJlY29yZF91 bndpbmRfY3VycmVudF9idWZmZXIgKCk7CiAKLSAgcmVhZF9hbmRfZGlzcG9zZV9vZl9wcm9j ZXNzX291dHB1dCAocCwgY2hhcnMsIG5ieXRlcywgY29kaW5nKTsKKyAgaWYgKHJlYWRfcHJv Y2Vzc19vdXRwdXRfZmFzdCAmJgorICAgICAgRVEgKHAtPmZpbHRlciwgUWludGVybmFsX2Rl ZmF1bHRfcHJvY2Vzc19maWx0ZXIpKQorICAgIHJlYWRfYW5kX2luc2VydF9wcm9jZXNzX291 dHB1dCAocCwgY2hhcnMsIG5ieXRlcywgY29kaW5nKTsKKyAgZWxzZQorICAgIHJlYWRfYW5k X2Rpc3Bvc2Vfb2ZfcHJvY2Vzc19vdXRwdXQgKHAsIGNoYXJzLCBuYnl0ZXMsIGNvZGluZyk7 CiAKICAgLyogSGFuZGxpbmcgdGhlIHByb2Nlc3Mgb3V0cHV0IHNob3VsZCBub3QgZGVhY3Rp dmF0ZSB0aGUgbWFyay4gICovCiAgIFZkZWFjdGl2YXRlX21hcmsgPSBvZGVhY3RpdmF0ZTsK QEAgLTYyMzYsNiArNjI0NSwxMjggQEAgcmVhZF9wcm9jZXNzX291dHB1dCAoTGlzcF9PYmpl Y3QgcHJvYywgaW50IGNoYW5uZWwpCiAgIHJldHVybiBuYnl0ZXM7CiB9CiAKK3N0YXRpYyB2 b2lkCityZWFkX3Byb2Nlc3Nfb3V0cHV0X2JlZm9yZV9pbnNlcnQgKHN0cnVjdCBMaXNwX1By b2Nlc3MgKnAsIExpc3BfT2JqZWN0ICpvbGRfcmVhZF9vbmx5LAorCQkJCSAgIHB0cmRpZmZf dCAqb2xkX2JlZ3YsIHB0cmRpZmZfdCAqb2xkX3p2LAorCQkJCSAgIHB0cmRpZmZfdCAqYmVm b3JlLCBwdHJkaWZmX3QgKmJlZm9yZV9ieXRlLAorCQkJCSAgIHB0cmRpZmZfdCAqb3BvaW50 LCBwdHJkaWZmX3QgKm9wb2ludF9ieXRlKQoreworICBGc2V0X2J1ZmZlciAocC0+YnVmZmVy KTsKKyAgKm9wb2ludCA9IFBUOworICAqb3BvaW50X2J5dGUgPSBQVF9CWVRFOworICAqb2xk X3JlYWRfb25seSA9IEJWQVIgKGN1cnJlbnRfYnVmZmVyLCByZWFkX29ubHkpOworICAqb2xk X2JlZ3YgPSBCRUdWOworICAqb2xkX3p2ID0gWlY7CisKKyAgYnNldF9yZWFkX29ubHkgKGN1 cnJlbnRfYnVmZmVyLCBRbmlsKTsKKworICAvKiBJbnNlcnQgbmV3IG91dHB1dCBpbnRvIGJ1 ZmZlciBhdCB0aGUgY3VycmVudCBlbmQtb2Ytb3V0cHV0CisgICAgIG1hcmtlciwgdGh1cyBw cmVzZXJ2aW5nIGxvZ2ljYWwgb3JkZXJpbmcgb2YgaW5wdXQgYW5kIG91dHB1dC4gICovCisg IGlmIChYTUFSS0VSIChwLT5tYXJrKS0+YnVmZmVyKQorICAgIHNldF9wb2ludF9mcm9tX21h cmtlciAocC0+bWFyayk7CisgIGVsc2UKKyAgICBTRVRfUFRfQk9USCAoWlYsIFpWX0JZVEUp OworICAqYmVmb3JlID0gUFQ7CisgICpiZWZvcmVfYnl0ZSA9IFBUX0JZVEU7CisKKyAgLyog SWYgdGhlIG91dHB1dCBtYXJrZXIgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSByZWdpb24s IHNhdmUKKyAgICAgdGhlIHJlc3RyaWN0aW9uIGFuZCB3aWRlbi4gICovCisgIGlmICghIChC RUdWIDw9IFBUICYmIFBUIDw9IFpWKSkKKyAgICBGd2lkZW4gKCk7Cit9CisKK3N0YXRpYyB2 b2lkCityZWFkX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX2luc2VydCAoc3RydWN0IExpc3BfUHJv Y2VzcyAqcCwgTGlzcF9PYmplY3QgKm9sZF9yZWFkX29ubHksCisJCQkJICBwdHJkaWZmX3Qg b2xkX2JlZ3YsIHB0cmRpZmZfdCBvbGRfenYsCisJCQkJICBwdHJkaWZmX3QgYmVmb3JlLCBw dHJkaWZmX3QgYmVmb3JlX2J5dGUsCisJCQkJICBwdHJkaWZmX3Qgb3BvaW50LCBwdHJkaWZm X3Qgb3BvaW50X2J5dGUpCit7CisgIHN0cnVjdCBidWZmZXIgKmI7CisKKyAgLyogTWFrZSBz dXJlIHRoZSBwcm9jZXNzIG1hcmtlcidzIHBvc2l0aW9uIGlzIHZhbGlkIHdoZW4gdGhlCisg ICAgIHByb2Nlc3MgYnVmZmVyIGlzIGNoYW5nZWQgaW4gdGhlIHNpZ25hbF9hZnRlcl9jaGFu Z2UgYWJvdmUuCisgICAgIFczIGlzIGtub3duIHRvIGRvIHRoYXQuICAqLworICBpZiAoQlVG RkVSUCAocC0+YnVmZmVyKQorICAgICAgJiYgKGIgPSBYQlVGRkVSIChwLT5idWZmZXIpLCBi ICE9IGN1cnJlbnRfYnVmZmVyKSkKKyAgICBzZXRfbWFya2VyX2JvdGggKHAtPm1hcmssIHAt PmJ1ZmZlciwgQlVGX1BUIChiKSwgQlVGX1BUX0JZVEUgKGIpKTsKKyAgZWxzZQorICAgIHNl dF9tYXJrZXJfYm90aCAocC0+bWFyaywgcC0+YnVmZmVyLCBQVCwgUFRfQllURSk7CisKKyAg dXBkYXRlX21vZGVfbGluZXMgPSAyMzsKKworICAvKiBNYWtlIHN1cmUgb3BvaW50IGFuZCB0 aGUgb2xkIHJlc3RyaWN0aW9ucworICAgICBmbG9hdCBhaGVhZCBvZiBhbnkgbmV3IHRleHQg anVzdCBhcyBwb2ludCB3b3VsZC4gICovCisgIGlmIChvcG9pbnQgPj0gYmVmb3JlKQorICAg IHsKKyAgICAgIG9wb2ludCArPSBQVCAtIGJlZm9yZTsKKyAgICAgIG9wb2ludF9ieXRlICs9 IFBUX0JZVEUgLSBiZWZvcmVfYnl0ZTsKKyAgICB9CisgIGlmIChvbGRfYmVndiA+IGJlZm9y ZSkKKyAgICBvbGRfYmVndiArPSBQVCAtIGJlZm9yZTsKKyAgaWYgKG9sZF96diA+PSBiZWZv cmUpCisgICAgb2xkX3p2ICs9IFBUIC0gYmVmb3JlOworCisgIC8qIElmIHRoZSByZXN0cmlj dGlvbiBpc24ndCB3aGF0IGl0IHNob3VsZCBiZSwgc2V0IGl0LiAgKi8KKyAgaWYgKG9sZF9i ZWd2ICE9IEJFR1YgfHwgb2xkX3p2ICE9IFpWKQorICAgIEZuYXJyb3dfdG9fcmVnaW9uICht YWtlX2ZpeG51bSAob2xkX2JlZ3YpLCBtYWtlX2ZpeG51bSAob2xkX3p2KSk7CisKKyAgYnNl dF9yZWFkX29ubHkgKGN1cnJlbnRfYnVmZmVyLCAqb2xkX3JlYWRfb25seSk7CisgIFNFVF9Q VF9CT1RIIChvcG9pbnQsIG9wb2ludF9ieXRlKTsKK30KKworc3RhdGljIHZvaWQgcmVhZF9h bmRfaW5zZXJ0X3Byb2Nlc3Nfb3V0cHV0IChzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwLCBjaGFy ICpidWYsCisJCQkJICAgIHNzaXplX3QgbnJlYWQsCisJCQkJICAgIHN0cnVjdCBjb2Rpbmdf c3lzdGVtICpwcm9jZXNzX2NvZGluZykKK3sKKyAgaWYgKCFucmVhZCB8fCBOSUxQIChwLT5i dWZmZXIpIHx8ICFCVUZGRVJfTElWRV9QIChYQlVGRkVSIChwLT5idWZmZXIpKSkKKyAgICBy ZXR1cm47CisKKyAgTGlzcF9PYmplY3Qgb2xkX3JlYWRfb25seTsKKyAgcHRyZGlmZl90IG9s ZF9iZWd2LCBvbGRfenY7CisgIHB0cmRpZmZfdCBiZWZvcmUsIGJlZm9yZV9ieXRlOworICBw dHJkaWZmX3Qgb3BvaW50LCBvcG9pbnRfYnl0ZTsKKworICByZWFkX3Byb2Nlc3Nfb3V0cHV0 X2JlZm9yZV9pbnNlcnQgKHAsICZvbGRfcmVhZF9vbmx5LCAmb2xkX2JlZ3YsICZvbGRfenYs CisJCQkJICAgICAmYmVmb3JlLCAmYmVmb3JlX2J5dGUsICZvcG9pbnQsICZvcG9pbnRfYnl0 ZSk7CisKKyAgLyogQWRhcHRlZCBmcm9tIGNhbGxfcHJvY2Vzcy4gICovCisgIGlmIChOSUxQ IChCVkFSIChYQlVGRkVSKHAtPmJ1ZmZlciksIGVuYWJsZV9tdWx0aWJ5dGVfY2hhcmFjdGVy cykpCisJICAgJiYgISBDT0RJTkdfTUFZX1JFUVVJUkVfREVDT0RJTkcgKHByb2Nlc3NfY29k aW5nKSkKKyAgICB7CisgICAgICBpbnNlcnRfMV9ib3RoIChidWYsIG5yZWFkLCBucmVhZCwg MCwgMCwgMCk7CisgICAgICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChQVCAtIG5yZWFkLCAwLCBu cmVhZCk7CisgICAgfQorICBlbHNlCisgICAgewkJCS8qIFdlIGhhdmUgdG8gZGVjb2RlIHRo ZSBpbnB1dC4gICovCisgICAgICBMaXNwX09iamVjdCBjdXJidWY7CisgICAgICBpbnQgY2Fy cnlvdmVyID0gMDsKKyAgICAgIHNwZWNwZGxfcmVmIGNvdW50MSA9IFNQRUNQRExfSU5ERVgg KCk7CisKKyAgICAgIFhTRVRCVUZGRVIgKGN1cmJ1ZiwgY3VycmVudF9idWZmZXIpOworICAg ICAgLyogV2UgY2Fubm90IGFsbG93IGFmdGVyLWNoYW5nZS1mdW5jdGlvbnMgYmUgcnVuCisJ IGR1cmluZyBkZWNvZGluZywgYmVjYXVzZSB0aGF0IG1pZ2h0IG1vZGlmeSB0aGUKKwkgYnVm ZmVyLCB3aGlsZSB3ZSByZWx5IG9uIHByb2Nlc3NfY29kaW5nLnByb2R1Y2VkIHRvCisJIGZh aXRoZnVsbHkgcmVmbGVjdCBpbnNlcnRlZCB0ZXh0IHVudGlsIHdlCisJIFRFTVBfU0VUX1BU X0JPVEggYmVsb3cuICAqLworICAgICAgc3BlY2JpbmQgKFFpbmhpYml0X21vZGlmaWNhdGlv bl9ob29rcywgUXQpOworICAgICAgZGVjb2RlX2NvZGluZ19jX3N0cmluZyAocHJvY2Vzc19j b2RpbmcsCisJCQkgICAgICAodW5zaWduZWQgY2hhciAqKSBidWYsIG5yZWFkLCBjdXJidWYp OworICAgICAgdW5iaW5kX3RvIChjb3VudDEsIFFuaWwpOworCisgICAgICBURU1QX1NFVF9Q VF9CT1RIIChQVCArIHByb2Nlc3NfY29kaW5nLT5wcm9kdWNlZF9jaGFyLAorCQkJUFRfQllU RSArIHByb2Nlc3NfY29kaW5nLT5wcm9kdWNlZCk7CisgICAgICBzaWduYWxfYWZ0ZXJfY2hh bmdlIChQVCAtIHByb2Nlc3NfY29kaW5nLT5wcm9kdWNlZF9jaGFyLAorCQkJICAgMCwgcHJv Y2Vzc19jb2RpbmctPnByb2R1Y2VkX2NoYXIpOworICAgICAgY2FycnlvdmVyID0gcHJvY2Vz c19jb2RpbmctPmNhcnJ5b3Zlcl9ieXRlczsKKyAgICAgIGlmIChjYXJyeW92ZXIgPiAwKQor CW1lbWNweSAoYnVmLCBwcm9jZXNzX2NvZGluZy0+Y2FycnlvdmVyLAorCQlwcm9jZXNzX2Nv ZGluZy0+Y2FycnlvdmVyX2J5dGVzKTsKKyAgICB9CisKKyAgcmVhZF9wcm9jZXNzX291dHB1 dF9hZnRlcl9pbnNlcnQgKHAsICZvbGRfcmVhZF9vbmx5LCBvbGRfYmVndiwgb2xkX3p2LAor CQkJCSAgICBiZWZvcmUsIGJlZm9yZV9ieXRlLCBvcG9pbnQsIG9wb2ludF9ieXRlKTsKK30K Kwogc3RhdGljIHZvaWQKIHJlYWRfYW5kX2Rpc3Bvc2Vfb2ZfcHJvY2Vzc19vdXRwdXQgKHN0 cnVjdCBMaXNwX1Byb2Nlc3MgKnAsIGNoYXIgKmNoYXJzLAogCQkJCSAgICBzc2l6ZV90IG5i eXRlcywKQEAgLTYzMzksNyArNjQ3MCw2IEBAIERFRlVOICgiaW50ZXJuYWwtZGVmYXVsdC1w cm9jZXNzLWZpbHRlciIsIEZpbnRlcm5hbF9kZWZhdWx0X3Byb2Nlc3NfZmlsdGVyLAogICAo TGlzcF9PYmplY3QgcHJvYywgTGlzcF9PYmplY3QgdGV4dCkKIHsKICAgc3RydWN0IExpc3Bf UHJvY2VzcyAqcDsKLSAgcHRyZGlmZl90IG9wb2ludDsKIAogICBDSEVDS19QUk9DRVNTIChw cm9jKTsKICAgcCA9IFhQUk9DRVNTIChwcm9jKTsKQEAgLTYzNTAsMzEgKzY0ODAsMTAgQEAg REVGVU4gKCJpbnRlcm5hbC1kZWZhdWx0LXByb2Nlc3MtZmlsdGVyIiwgRmludGVybmFsX2Rl ZmF1bHRfcHJvY2Vzc19maWx0ZXIsCiAgICAgICBMaXNwX09iamVjdCBvbGRfcmVhZF9vbmx5 OwogICAgICAgcHRyZGlmZl90IG9sZF9iZWd2LCBvbGRfenY7CiAgICAgICBwdHJkaWZmX3Qg YmVmb3JlLCBiZWZvcmVfYnl0ZTsKLSAgICAgIHB0cmRpZmZfdCBvcG9pbnRfYnl0ZTsKLSAg ICAgIHN0cnVjdCBidWZmZXIgKmI7Ci0KLSAgICAgIEZzZXRfYnVmZmVyIChwLT5idWZmZXIp OwotICAgICAgb3BvaW50ID0gUFQ7Ci0gICAgICBvcG9pbnRfYnl0ZSA9IFBUX0JZVEU7Ci0g ICAgICBvbGRfcmVhZF9vbmx5ID0gQlZBUiAoY3VycmVudF9idWZmZXIsIHJlYWRfb25seSk7 Ci0gICAgICBvbGRfYmVndiA9IEJFR1Y7Ci0gICAgICBvbGRfenYgPSBaVjsKLQotICAgICAg YnNldF9yZWFkX29ubHkgKGN1cnJlbnRfYnVmZmVyLCBRbmlsKTsKLQotICAgICAgLyogSW5z ZXJ0IG5ldyBvdXRwdXQgaW50byBidWZmZXIgYXQgdGhlIGN1cnJlbnQgZW5kLW9mLW91dHB1 dAotCSBtYXJrZXIsIHRodXMgcHJlc2VydmluZyBsb2dpY2FsIG9yZGVyaW5nIG9mIGlucHV0 IGFuZCBvdXRwdXQuICAqLwotICAgICAgaWYgKFhNQVJLRVIgKHAtPm1hcmspLT5idWZmZXIp Ci0Jc2V0X3BvaW50X2Zyb21fbWFya2VyIChwLT5tYXJrKTsKLSAgICAgIGVsc2UKLQlTRVRf UFRfQk9USCAoWlYsIFpWX0JZVEUpOwotICAgICAgYmVmb3JlID0gUFQ7Ci0gICAgICBiZWZv cmVfYnl0ZSA9IFBUX0JZVEU7CisgICAgICBwdHJkaWZmX3Qgb3BvaW50LCBvcG9pbnRfYnl0 ZTsKIAotICAgICAgLyogSWYgdGhlIG91dHB1dCBtYXJrZXIgaXMgb3V0c2lkZSBvZiB0aGUg dmlzaWJsZSByZWdpb24sIHNhdmUKLQkgdGhlIHJlc3RyaWN0aW9uIGFuZCB3aWRlbi4gICov Ci0gICAgICBpZiAoISAoQkVHViA8PSBQVCAmJiBQVCA8PSBaVikpCi0JRndpZGVuICgpOwor ICAgICAgcmVhZF9wcm9jZXNzX291dHB1dF9iZWZvcmVfaW5zZXJ0IChwLCAmb2xkX3JlYWRf b25seSwgJm9sZF9iZWd2LCAmb2xkX3p2LAorCQkJCQkgJmJlZm9yZSwgJmJlZm9yZV9ieXRl LCAmb3BvaW50LCAmb3BvaW50X2J5dGUpOwogCiAgICAgICAvKiBBZGp1c3QgdGhlIG11bHRp Ynl0ZW5lc3Mgb2YgVEVYVCB0byB0aGF0IG9mIHRoZSBidWZmZXIuICAqLwogICAgICAgaWYg KE5JTFAgKEJWQVIgKGN1cnJlbnRfYnVmZmVyLCBlbmFibGVfbXVsdGlieXRlX2NoYXJhY3Rl cnMpKQpAQCAtNjM4NywzNSArNjQ5Niw4IEBAIERFRlVOICgiaW50ZXJuYWwtZGVmYXVsdC1w cm9jZXNzLWZpbHRlciIsIEZpbnRlcm5hbF9kZWZhdWx0X3Byb2Nlc3NfZmlsdGVyLAogICAg ICAgaW5zZXJ0X2Zyb21fc3RyaW5nX2JlZm9yZV9tYXJrZXJzICh0ZXh0LCAwLCAwLAogCQkJ CQkgU0NIQVJTICh0ZXh0KSwgU0JZVEVTICh0ZXh0KSwgMCk7CiAKLSAgICAgIC8qIE1ha2Ug c3VyZSB0aGUgcHJvY2VzcyBtYXJrZXIncyBwb3NpdGlvbiBpcyB2YWxpZCB3aGVuIHRoZQot CSBwcm9jZXNzIGJ1ZmZlciBpcyBjaGFuZ2VkIGluIHRoZSBzaWduYWxfYWZ0ZXJfY2hhbmdl IGFib3ZlLgotCSBXMyBpcyBrbm93biB0byBkbyB0aGF0LiAgKi8KLSAgICAgIGlmIChCVUZG RVJQIChwLT5idWZmZXIpCi0JICAmJiAoYiA9IFhCVUZGRVIgKHAtPmJ1ZmZlciksIGIgIT0g Y3VycmVudF9idWZmZXIpKQotCXNldF9tYXJrZXJfYm90aCAocC0+bWFyaywgcC0+YnVmZmVy LCBCVUZfUFQgKGIpLCBCVUZfUFRfQllURSAoYikpOwotICAgICAgZWxzZQotCXNldF9tYXJr ZXJfYm90aCAocC0+bWFyaywgcC0+YnVmZmVyLCBQVCwgUFRfQllURSk7Ci0KLSAgICAgIHVw ZGF0ZV9tb2RlX2xpbmVzID0gMjM7Ci0KLSAgICAgIC8qIE1ha2Ugc3VyZSBvcG9pbnQgYW5k IHRoZSBvbGQgcmVzdHJpY3Rpb25zCi0JIGZsb2F0IGFoZWFkIG9mIGFueSBuZXcgdGV4dCBq dXN0IGFzIHBvaW50IHdvdWxkLiAgKi8KLSAgICAgIGlmIChvcG9pbnQgPj0gYmVmb3JlKQot CXsKLQkgIG9wb2ludCArPSBQVCAtIGJlZm9yZTsKLQkgIG9wb2ludF9ieXRlICs9IFBUX0JZ VEUgLSBiZWZvcmVfYnl0ZTsKLQl9Ci0gICAgICBpZiAob2xkX2JlZ3YgPiBiZWZvcmUpCi0J b2xkX2JlZ3YgKz0gUFQgLSBiZWZvcmU7Ci0gICAgICBpZiAob2xkX3p2ID49IGJlZm9yZSkK LQlvbGRfenYgKz0gUFQgLSBiZWZvcmU7Ci0KLSAgICAgIC8qIElmIHRoZSByZXN0cmljdGlv biBpc24ndCB3aGF0IGl0IHNob3VsZCBiZSwgc2V0IGl0LiAgKi8KLSAgICAgIGlmIChvbGRf YmVndiAhPSBCRUdWIHx8IG9sZF96diAhPSBaVikKLQlGbmFycm93X3RvX3JlZ2lvbiAobWFr ZV9maXhudW0gKG9sZF9iZWd2KSwgbWFrZV9maXhudW0gKG9sZF96dikpOwotCi0gICAgICBi c2V0X3JlYWRfb25seSAoY3VycmVudF9idWZmZXIsIG9sZF9yZWFkX29ubHkpOwotICAgICAg U0VUX1BUX0JPVEggKG9wb2ludCwgb3BvaW50X2J5dGUpOworICAgICAgcmVhZF9wcm9jZXNz X291dHB1dF9hZnRlcl9pbnNlcnQgKHAsICZvbGRfcmVhZF9vbmx5LCBvbGRfYmVndiwgb2xk X3p2LAorCQkJCQliZWZvcmUsIGJlZm9yZV9ieXRlLCBvcG9pbnQsIG9wb2ludF9ieXRlKTsK ICAgICB9CiAgIHJldHVybiBRbmlsOwogfQpAQCAtODc0MCw2ICs4ODIyLDEzIEBAIHN5bXNf b2ZfcHJvY2VzcyAodm9pZCkKIC9wcm9jL3N5cy9mcy9waXBlLW1heC1zaXplLiAgU2VlIHBp cGUoNykgbWFucGFnZSBmb3IgZGV0YWlscy4gICovKTsKICAgcmVhZF9wcm9jZXNzX291dHB1 dF9tYXggPSA0MDk2OwogCisgIERFRlZBUl9CT09MICgicmVhZC1wcm9jZXNzLW91dHB1dC1m YXN0IiwgcmVhZF9wcm9jZXNzX291dHB1dF9mYXN0LAorCSAgICAgICBkb2M6IC8qIE5vbi1u aWwgdG8gb3B0aW1pemUgdGhlIGluc2VydGlvbiBvZiBwcm9jZXNzIG91dHB1dC4KK1dlIHNr aXAgY2FsbGluZyBgaW50ZXJuYWwtZGVmYXVsdC1wcm9jZXNzLWZpbHRlcicgYW5kIGRvbid0 IGFsbG9jYXRlCit0aGUgTGlzcCBzdHJpbmcgdGhhdCB3b3VsZCBiZSB1c2VkIGFzIGl0cyBh cmd1bWVudC4gIE9ubHkgYWZmZWN0cyB0aGUKK2Nhc2Ugb2YgYXN5bmNocm9ub3VzIHByb2Nl c3Mgd2l0aCB0aGUgZGVmYXVsdCBmaWx0ZXIuICAqLyk7CisgIHJlYWRfcHJvY2Vzc19vdXRw dXRfZmFzdCA9IFF0OworCiAgIERFRlZBUl9JTlQgKCJwcm9jZXNzLWVycm9yLXBhdXNlLXRp bWUiLCBwcm9jZXNzX2Vycm9yX3BhdXNlX3RpbWUsCiAJICAgICAgZG9jOiAvKiBUaGUgbnVt YmVyIG9mIHNlY29uZHMgdG8gcGF1c2UgYWZ0ZXIgaGFuZGxpbmcgcHJvY2VzcyBlcnJvcnMu CiBUaGlzIGlzbid0IHVzZWQgZm9yIGFsbCBwcm9jZXNzLXJlbGF0ZWQgZXJyb3JzLCBidXQg aXMgdXNlZCB3aGVuIGEK --------------ujujwY71SxzZu4tHORIFXUna--
Dmitry Gutov <dmitry@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#66020
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.