delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/07/24/00:16:42

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Mon, 24 Jul 2000 00:15:46 -0400
From: Chris Faylor <cgf AT cygnus DOT com>
To: cygwin AT sourceware DOT cygnus DOT com
Subject: Extending cygwin's process table (progress report)
Message-ID: <20000724001546.A24454@cygnus.com>
Reply-To: cygwin AT sources DOT redhat DOT com
Mail-Followup-To: cygwin AT sourceware DOT cygnus DOT com
References: <20000718234319 DOT A16333 AT cygnus DOT com>
Mime-Version: 1.0
User-Agent: Mutt/1.2i
In-Reply-To: <20000718234319.A16333@cygnus.com>; from cgf on Tue, Jul 18, 2000 at 11:43:19PM -0400

On Tue, Jul 18, 2000 at 11:43:19PM -0400, cgf wrote:
>I am planning on revamping cygwin's process table for version 1.1.4.
>I hope to make process creation a little faster and to also allow many
>more cygwin processes.
>
>I'm also toying with trying to more closely tie cygwin pids to windows
>pids.
>
>Is anyone going to be bothered if pid creation is not monotonic?  By
>that I mean, parent pid 1000 may not create child pid 1001.  It may
>create child pid 27.
>
>It may still not be feasible to use cygwin pids as windows pids
>(possibly because I don't believe that pid 1 is special to windows) but
>I thought I'd give this a try anyway unless there is something that I'm
>missing.

Ok.  I have pulled apart cygwin's process table creation and
reimplemented everything using windows pids.  The result is pretty
incredible.

Cygwin is noticeably faster.  I use zsh on cygwin and it usually takes
2.5 seconds to start up (I've timed it quite a bit).  With my changes,
startup time is under a second.

I do use windows pids wherever possible but execed processes still have
their normal split personality.  If a process is execed, as far as
cygwin is concerned, it maintains the same "Windows PID" throughout its
lifetime.  As far as Windows is concerned, there are, unfortunately,
still multiple pids to contend with.

The 'ps' output of an execed process shows the original pid, while
'ps -l' will show the current windows pid, just as always.

It's unfortunate that there is nothing like an exec for Windows (unless
I wanted to be NT specific) but I think that the performance gains
are worth the potential user confusion.

I still have some issues to work out but this is looking pretty good.

FYI, these changes will not be in cygwin 1.1.3.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019