X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00B1A384242C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1598464651;
	bh=x3qs9bsxld/RaLd8hm7FtOWkA0ISmsqlpIranSJnwNU=;
	h=Date:From:To:Subject:References:In-Reply-To:List-Id:
	 List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
	 Reply-To:From;
	b=NtfgNRHa/8oeDbqCKfyjuO3aZbEFfc0Fo60SGqnqiCTODspB6klSSYsPtxhAiTSfq
	 KdDlWliKzf2th9M25YbjOw+nRk+6oXe6gcIGJM8XYq/XWBKvXpZGz4plZ9iDyZ7X+n
	 N6l23o1mYS7HfMjajtaRxij9iKGYLvAXbNRNnQyE=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1FD733857C47
Authentication-Results: sourceware.org;
 dmarc=none (p=none dis=none) header.from=cygwin.com
Authentication-Results: sourceware.org;
 spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com
Date: Wed, 26 Aug 2020 19:57:24 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Limit for number of child processes
Message-ID: <20200826175724.GQ3272@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <000401d67ba0$8b1f33b0$a15d9b10$@gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <000401d67ba0$8b1f33b0$a15d9b10$@gmail.com>
X-Provags-ID: V03:K1:Hmx8ddgQEfbBCsON+40g66kAVP0cr/zpvIOb3cCJ1S0rO2SLiHf
 GJdU2Zpdh/ygZL3xi8S0w5+QYnbC9Tjheq/8kz8aOxcGpRFWfYUw10Wu9FUauzRYbVqyzg4
 FyYR9dGdzczNUupIfuahbp9K43S7YX9QgefWU34HBltl3ad1fAmE6l9xJipC0Q57yFgZglf
 jhslgq5ODsChZBo4/TJcg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:BVQVq8xZ7Y0=:L/bxITUNJksTUQT55C/oEp
 vdlhQQYDC5Qv6XfIPt7eIN/xq1BXlqfeBX13clG92e/TWgDIClnUnt5Te+to3Zw9y+dyYaJUp
 4/F6rK8eROaQsI98IFWTRPK+3VzJBX3qEMK3yQoO6Rg7zutmWd6k1gshXkyG+RmLIX31o/xzY
 UpGPV8gOQ1e2t7Xc5Q17kPn8iEAcminUKojWuJvDSwCtcOW+X74fR5sxZ7+DCb6M7izE7owl4
 DIutIg5JPhH2ezQU/QR8N1+eRiCV/khAMXrXdfvUP+XIOCHHD9HBZg4KbXlsNJmCttekYcm/U
 bcX7DPAz3HhgkYPGa+KhZxeuDq38v36mYJopwxYIkgmGFxjdL7IPP8mLqZNlC3aT5DDq3OdKs
 j93hMWzy6D8555C3tFl+v3BKR3NH8ax5R5IbKecNo5aCNHX8B3uEJtZcmQHplwq7yf5wA0GNw
 P7qGNw/Uw3eUzx15VS7rEZ8LzzcIMucJQqP3MJ5piQotrDTrDT3mUWThPnv8Ka9JzXrHpVQKM
 vAZ50XtQfUdmYANhG/eDLZ8SxIdspZolMr692HCROO8h/SPk4djQfS6uWUuGMVypX4sDD8IRq
 0ZwROPHooGpxspZvLo7vXKZcy0BgL3X+z0BlpH8Rw97AYVu8dJK9tIJWjNXexXkmEBx6MvAvE
 A/eKHOadgNai9UaQc5mKb9cZIMwAgwaoZjacJccfFX5vLUyDUDPYx/IeyT8M39oEeG6XJ4WPC
 Q5amrFFJQoWKdKNqNCspkbMwYIVtrJ07KmuDuyDY3xIwCmsXfeytTMXGUHhqwMms8QbFuVHfK
 AvPwsBr16naC+0F8E6ZswOIE9b223bmA97gkLJJ81SImH5kXBo3hP7ntYYUfUxSOrXiqGHz2G
 Fow96TB++OuMclrCgC+g==
X-Spam-Status: No, score=-99.8 required=5.0 tests=BAYES_00,
 GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS,
 RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL,
 TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
Reply-To: cygwin@cygwin.com
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

On Aug 26 14:00, Kristian Ivarsson via Cygwin wrote:
> Dear cygwin folks
> 
> It seems like there's a limit of the number of possible child processes
> defined to 256 with 'NPROCS' in //winsup/cygwin/child_info.h used in
> 'cprocs' in //winsup/cygwin/sigproc.cc
> 
> 256 is quite few possible children in an enterprise environment and perhaps
> the limit should be limited by the physical resources or possibly Windows ?

The info has to be kept available in the process itself so we need
this array of NPROCS * sizeof (pinfo).

Of course, there's no reason to use a static array, the code could just
as well use a dynamically allocated array or a linked list.  It's just
not the way it is right now and would need a patch or rewrite.

As for the static array, sizeof pinfo is 64, so the current size of
the array is just 16K.  We could easily bump it to 64K with NPROCS
raised to 1024 for the next Cygwin release, at least on 64 bit.
I don't think we should raise this limit for 32 bit Cygwin, which is
kind of EOL anyway, given the massive restrictions.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
