From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1anam02on2121.outbound.protection.outlook.com [40.107.96.121]) by sourceware.org (Postfix) with ESMTPS id 994AE3857800 for ; Wed, 15 Sep 2021 17:09:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 994AE3857800 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TM6/ysDZH9KAwlMAlf3/1Qe0Ur00UCx2UqJ9wRWPq+9fMQcY9azJo4hlp33W8EyzYt8Rg/1F8KRhD4P5fDzPapR3jsRrM9ptD+bwMsdqnyrV1HvEjWcQQD5SeTzS8ktp05TswBULaTZOjPd3wqYEXEEJRdjqvobpjeu1DDfaKLP/oW5PaMPSUPN/C7srXr9BJ05FyqYB9AHH0vrdQnQ8GFst91EqrYiDy8oYxlgulstiGX7uxFHMt11E7J28B0SPqXJN8sV2qOmT19EJZyWV7S1ako4F7X8kP0A0rFsuqV98p1Hb9GnXZqUfFfuuOJYq28cVAndL9IAruc0XLGw/Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=nnQ3vyL9HAs/HDQpc/NEpBMbqzVN54BarNJ/xei8u2o=; b=XzveH2G5sUy95LFUUWPNM4j/Biu/V/rgn9o+L6/FQ0u/QpcyZNYS2veE13qun597uSXadX61qpI9e3fYjQaCj6nDLvXCsKVrx5LLwVPbTJwCulctQbkLm4R3so6vXp7YHZhVFb1k6jo8YWaBtsLD8bXvUw02Zhn4WD8LRer+xjV5FQ31r7DEm45tXV/H09luBsoX8P+ubjbNefRo8bXln6R6H+Yv5rk4teGEJKQxQZ4/8uyAsrT6751QEzAzlaBDvRBr1hAS1bMbHe/zS0td27ypvH9SkWynZqKWZGcUw3ZIvGc6KRTLHr3Sb5sSYpdgEQUMk7R7+WqJ6YKf2/Ti+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nnQ3vyL9HAs/HDQpc/NEpBMbqzVN54BarNJ/xei8u2o=; b=i4bLxIJqLGXYpiOjPs+3ToM/X/Kt77HUoiCeQ5c1UpryhotIqMegJc9IzVC4fVmYbKUbeNkUO0Wh1VjdH1xAk7iWtk2icFgcBr/S3jArDMDVGtB5fRQJRbu8LEMjw/kARFlOBqsSdTpeapz5W7Tz6Z1U94I4Y8arTtY0eDQKKHw= Authentication-Results: cygwin.com; dkim=none (message not signed) header.d=none;cygwin.com; dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN8PR04MB5620.namprd04.prod.outlook.com (2603:10b6:408:a4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 17:09:31 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::5113:e84a:b38a:7a66]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::5113:e84a:b38a:7a66%6]) with mapi id 15.20.4500.019; Wed, 15 Sep 2021 17:09:31 +0000 Subject: Re: cygrunsrv + sshd + rsync = 20 times too slow -- throttled? To: cygwin-developers@cygwin.com References: <20210915092100.796985ae33039f3184483450@nifty.ne.jp> <20210915094454.42ef1d085d9bf92a1af8d39a@nifty.ne.jp> <20210915095911.415d174ea38fb2d2ea8e5432@nifty.ne.jp> <20210915194858.845bcd54c0c63246b40703a8@nifty.ne.jp> <20210915205433.014102a9c1204687135e1417@nifty.ne.jp> <20210915220450.a96397d8b8159d9adfbdab07@nifty.ne.jp> <3ca95472-9fb2-3e62-3e28-1bd2f85bc018@cornell.edu> From: Ken Brown Message-ID: <99e3ac84-bee1-4abd-de9a-4ea2e7b62b61@cornell.edu> Date: Wed, 15 Sep 2021 13:09:30 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: <3ca95472-9fb2-3e62-3e28-1bd2f85bc018@cornell.edu> Content-Type: multipart/mixed; boundary="------------E302494C5C92BFB02707465A" Content-Language: en-US X-ClientProxiedBy: CH0PR03CA0329.namprd03.prod.outlook.com (2603:10b6:610:118::19) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 Received: from [IPv6:2603:7081:7e3f:3419:1d84:cb99:9c15:8cd0] (2603:7081:7e3f:3419:1d84:cb99:9c15:8cd0) by CH0PR03CA0329.namprd03.prod.outlook.com (2603:10b6:610:118::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14 via Frontend Transport; Wed, 15 Sep 2021 17:09:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc8ad12d-9766-4a0f-d76c-08d9786b9539 X-MS-TrafficTypeDiagnostic: BN8PR04MB5620: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:126; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: URuqNclI8/lSwNEaY/Yv/lbIlIhFzTkss+ygRHHfOaLdaFLWVB9IhLKEW7Ib6/1RAekS0AToyry/utgm32ZY+e6vH8ViTj/BsmKR092/mna81e8qnaz0wRkerGHosiccSVEFnejylrnASWUOMAWAqawF/1JKsuAEJOLqXM8wE+95VevzywMaLrPS+8hBuJY/fNAx2LPvp0kWWf1rpFAYEmlHt6lNUp9W2dv3v2L0KW+WU/FS05C7JGe4OaTs1i/nByzE8gR4SWjdq8YuzybXfsQlghh4l8hEW4FUlCKCWd/gSJxVDe+RjXdYoeQCiS42lOb1XrnC4xxkjFfOM4kycyfO5Nn3A0mjIPXy6aeXtd2gg4soX3+ytZq5jIDDXlgQHSGiQL+kG0DPzxUGHjlUinDH2VUyb7Bx/s6HB8vIFOo+Z4/6um9EXHCUMeOWkK7mMYD1r7b12oqeIUFUXHo1I5YaRw0CmNSiO5Lf9B8Uwebod1hZ6bSxQOtJAFCV+EJF/rSAPeQV7243SwqDRhCP4tKESoYeqX3TJ/eJZlkXGElu3AM/jcyfP0i2y1LD+w/gFXdOZ4aQLpDHZDmJIzPHLBbK3QvngXtIFhq/bp3N8FpjrWRvmzYhAEbo2CueB1dTyXo3jQthcUp+m1BtmD8xzkdYlJVw9a74L8penlcaCr/BzMYaj5UZIfDEQbOwczrPtCjp8Ef7mLOmxa+egJ5jk2L+bqbjGQTW6uCZEUZxOtA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(186003)(235185007)(36756003)(75432002)(5660300002)(31696002)(31686004)(83380400001)(66476007)(66576008)(66946007)(6486002)(66556008)(8936002)(2906002)(6916009)(38100700002)(8676002)(316002)(33964004)(2616005)(53546011)(478600001)(86362001)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?Windows-1252?Q?N6QzhZPExpA4V01JA78hQfPRKNDgbLS/fnkWogZAJ5wc07xsKbti4jp+?= =?Windows-1252?Q?Z7RIM4RfrZ0gPcsR3dFaz1b/ezErqjK5gtdRFY3H3KAtCjc3eU6vCtJe?= =?Windows-1252?Q?X9hXOGPq7W4Okrn7vCLZFzh/rRYGMd/a+mjt2ldfhAP8omz3SG9/+XcM?= =?Windows-1252?Q?OPxiKHuyjfAuInIWYmReX41xTx54f3HMce3c/VJ9XQUmCKYPq7dLekQc?= =?Windows-1252?Q?9RV6FYHX15MuGmhNl0g29/Q18BjXxXLyuviEJyjWnhzEGyTbnRA4VTQn?= =?Windows-1252?Q?8s6Ue7AixtYERZd8G6g7kAi8f27qNOknJs2Ynwh3WNuYgi70CNEAhEAD?= =?Windows-1252?Q?k9iAyyIL2rebLdD+AvNfO8EQCgClFcvkHOj0BK6iYEUGNRiKq5b+C/7L?= =?Windows-1252?Q?jhV3uFGqaicq7ovhi5R/PNosykXMhsapLo71ni6Qi12jWtzheoJXLGJB?= =?Windows-1252?Q?JmLHRkZgZWGM1oQ8etd6vYnweQSyNB9ZltrmXiDfZgdS4HUlUNjBnJSQ?= =?Windows-1252?Q?AWPZJEn2ZFX83a/3KMgxk8Gt3RLtlbVU/FMyOPU5BU1oV3QPqoThY23L?= =?Windows-1252?Q?nQ8+/E33LQ2oYO6gaWmTQ+Je/nb2ha3edf5Mh3IsgsBWGYCUD0tsoypx?= =?Windows-1252?Q?Jl+Fl8dIcnuJQFOjY5nFYLnV0UP6lGGSGqkwh1KKo/5+GCE3MeVu2kds?= =?Windows-1252?Q?3QpqRTFtP9G955C9+Ynalym/JH93l7I6fs/TMJHCI9DMrzluW69Z66cX?= =?Windows-1252?Q?f7IXM4fecCud6I1tgy0MBDt53n/78WcC+vLX+fzs+9JCsat5/PcKdXfz?= =?Windows-1252?Q?JUce+7mBNZ6Ycue7ETwyshOsLQe0rMZzrMT25tBLjyWwN0LDAxmiuD9P?= =?Windows-1252?Q?BveMr4vM+Zd4nqrTEWY/xVDookrc+lHbHvmeaa87FxNkxlYodtGnfsco?= =?Windows-1252?Q?fWUuc5Ru21WpucD2AcwO46YH78Yp9nDra6/MobWT7mbK1uvsdYC0MGm7?= =?Windows-1252?Q?vrBnJqALl5wJadSbGwHnKs5qpuX8kUBJX7h83ehfc5DSsUXFHSKSn3eK?= =?Windows-1252?Q?G+iaS728zf/u5eLFp+WvfIyKM+J1GknJ5EMqUREi9YnKkz6IwN6y8P5v?= =?Windows-1252?Q?hzwHKMMzjMICvQQFuITELo/JgsFQPiGjt731RTT3uys+17xZyNc8uHvA?= =?Windows-1252?Q?1JFBwBqqYmlfzgX4v57u5tuPkr2JEhg+0yPY2VEARStEomAhjtdHoFdl?= =?Windows-1252?Q?jSoUFHQMyKYLe4T9dH75oi1LjDoTBfS2hHnYpvb7CwpzM2exeMB+dmdX?= =?Windows-1252?Q?DwqpPqTww1wYqUXBnse1q2/DqIZmKCZikeKENSISfstUF6F4jqQSvPeq?= =?Windows-1252?Q?PHG5dGkum4HSN9rqUt39Lw5+f9g4DsaGnCIKiJNrIq/09wnATkeqhMeG?= =?Windows-1252?Q?rRnzTzHoGKPuGvT0tmOP73foTaijOmw3tQqskTLKOvDsi3zbaNteV9JN?= =?Windows-1252?Q?Hjc+LDJ+?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: dc8ad12d-9766-4a0f-d76c-08d9786b9539 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2021 17:09:31.1844 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KBVeGPDBkcChxXWcJy/AIGyNmX2eMe0UBmSWn6VzFyhpyf4aF0rlCYd8VaY86V7v9wpJ8QswJTFR8bIbucU2iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR04MB5620 X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Sep 2021 17:09:34 -0000 --------------E302494C5C92BFB02707465A Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit On 9/15/2021 12:22 PM, Ken Brown wrote: > One other small detail: > > diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc > index 566cf66d6..cdb213a42 100644 > --- a/winsup/cygwin/select.cc > +++ b/winsup/cygwin/select.cc > @@ -645,7 +645,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, > bool writing) >             return 1; /* We cannot know actual write pipe space. */ >           DWORD nbytes_in_pipe; >           if (!PeekNamedPipe (query_hdl, NULL, 0, NULL, &nbytes_in_pipe, NULL)) > -           return 1; > +           return -1; >           fpli.WriteQuotaAvailable = fpli.InboundQuota - nbytes_in_pipe; >         } >        if (fpli.WriteQuotaAvailable > 0) > > Having noticed that, I checked the callers of pipe_data_available with writing > == true, and they don't check for a return of -1.  So I think I need to fix that > too. Could one of you (Corinna or Takashi) please check that I haven't done anything stupid in the attached patches? If they look OK, I'll push them, and then maybe we're ready for a test release. Ken --------------E302494C5C92BFB02707465A Content-Type: text/plain; charset=UTF-8; name="0001-Cygwin-pipes-fix-a-return-value.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Cygwin-pipes-fix-a-return-value.patch" >From fc8d2b2ccaf3b519e6b606fd95217f94b4a6fcbc Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Wed, 15 Sep 2021 11:24:25 -0400 Subject: [PATCH 1/2] Cygwin: pipes: fix a return value If PeekNamedPipe fails in select.cc:pipe_data_available, return -1 rather than 1. --- winsup/cygwin/select.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index 566cf66d6..cdb213a42 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -645,7 +645,7 @@ pipe_data_available (int fd, fhandler_base *fh, HANDLE h, bool writing) return 1; /* We cannot know actual write pipe space. */ DWORD nbytes_in_pipe; if (!PeekNamedPipe (query_hdl, NULL, 0, NULL, &nbytes_in_pipe, NULL)) - return 1; + return -1; fpli.WriteQuotaAvailable = fpli.InboundQuota - nbytes_in_pipe; } if (fpli.WriteQuotaAvailable > 0) -- 2.33.0 --------------E302494C5C92BFB02707465A Content-Type: text/plain; charset=UTF-8; name="0002-Cygwin-select-check-for-negative-return-from-pipe_da.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0002-Cygwin-select-check-for-negative-return-from-pipe_da.pa"; filename*1="tch" >From 9d00b583c3d622c5ab8fcbdc3ba089eef8dd9ce5 Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Wed, 15 Sep 2021 12:56:34 -0400 Subject: [PATCH 2/2] Cygwin: select: check for negative return from pipe_data_available Make sure except_ready is set (if except_selected) on a negative return from pipe_data_available. --- winsup/cygwin/select.cc | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index cdb213a42..cf9fbbbd3 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -753,8 +753,11 @@ out: gotone += s->except_ready = true; return gotone; } - gotone += s->write_ready = pipe_data_available (s->fd, fh, h, true); - select_printf ("write: %s, gotone %d", fh->get_name (), gotone); + int n = pipe_data_available (s->fd, fh, h, true); + select_printf ("write: %s, n %d", fh->get_name (), n); + gotone += s->write_ready = n; + if (n < 0 && s->except_selected) + gotone += s->except_ready = true; } return gotone; } @@ -953,9 +956,11 @@ peek_fifo (select_record *s, bool from_select) out: if (s->write_selected) { - gotone += s->write_ready - = pipe_data_available (s->fd, fh, fh->get_handle (), true); - select_printf ("write: %s, gotone %d", fh->get_name (), gotone); + int n = pipe_data_available (s->fd, fh, fh->get_handle (), true); + select_printf ("write: %s, n %d", fh->get_name (), n); + gotone += s->write_ready = n; + if (n < 0 && s->except_selected) + gotone += s->except_ready = true; } return gotone; } @@ -1394,8 +1399,11 @@ out: HANDLE h = ptys->get_output_handle (); if (s->write_selected) { - gotone += s->write_ready = pipe_data_available (s->fd, fh, h, true); - select_printf ("write: %s, gotone %d", fh->get_name (), gotone); + int n = pipe_data_available (s->fd, fh, h, true); + select_printf ("write: %s, n %d", fh->get_name (), n); + gotone += s->write_ready = n; + if (n < 0 && s->except_selected) + gotone += s->except_ready = true; } return gotone; } -- 2.33.0 --------------E302494C5C92BFB02707465A--