From: "Shawn O. Pearce" <spearce@spearce•org>
To: Johannes Schindelin <Johannes.Schindelin@gmx•de>
Cc: Johannes Sixt <johannes.sixt@telecom•at>,
gitster@pobox•com, git@vger•kernel.org
Subject: Re: [PATCH 0/14] fork/exec removal series
Date: Sat, 13 Oct 2007 22:58:57 -0400 [thread overview]
Message-ID: <20071014025857.GQ27899@spearce.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0710140348550.25221@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx•de> wrote:
> On Sat, 13 Oct 2007, Shawn O. Pearce wrote:
>
> > Since builtin-pack-objects now accepts (limited) pthread support,
> > perhaps this should be implemented in terms of pthread support when
> > pthreads are available?
>
> Falling back to fork() when no pthreads are available? Yes, that makes
> sense.
>
> It might also (marginally) speed up operations, since the switches between
> threads are cheaper than those between processes, right?
Usually. If we have a large virtual address space (say due to
opening a bunch of packfiles and reading commits out of them into
struct commit* thingies) and the OS does a giant copy of the page
tables during fork() then the pthread creation should be a heck of
a lot cheaper.
But we most definately *must* continue to support fork() for the
async functions. Its the most common interface available on one
of our biggest platforms (UNIX).
--
Shawn.
next prev parent reply other threads:[~2007-10-14 3:07 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-13 20:06 [PATCH 0/14] fork/exec removal series Johannes Sixt
2007-10-13 20:06 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Sixt
2007-10-13 20:06 ` [PATCH 02/14] Use start_command() in git_connect() instead of explicit fork/exec Johannes Sixt
2007-10-13 20:06 ` [PATCH 03/14] Use start_command() to run content filters " Johannes Sixt
2007-10-13 20:06 ` [PATCH 04/14] Use run_command() to spawn external diff programs instead of fork/exec Johannes Sixt
2007-10-13 20:06 ` [PATCH 05/14] Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec Johannes Sixt
2007-10-13 20:06 ` [PATCH 06/14] Have start_command() create a pipe to read the stderr of the child Johannes Sixt
2007-10-13 20:06 ` [PATCH 07/14] upload-pack: Use start_command() to run pack-objects in create_pack_file() Johannes Sixt
2007-10-13 20:06 ` [PATCH 08/14] Add infrastructure to run a function asynchronously Johannes Sixt
2007-10-13 20:06 ` [PATCH 09/14] Use the asyncronous function infrastructure in builtin-fetch-pack.c Johannes Sixt
2007-10-13 20:06 ` [PATCH 10/14] upload-pack: Move the revision walker into a separate function Johannes Sixt
2007-10-13 20:06 ` [PATCH 11/14] upload-pack: Run rev-list in an asynchronous function Johannes Sixt
2007-10-13 20:06 ` [PATCH 12/14] t0021-conversion.sh: Test that the clean filter really cleans content Johannes Sixt
2007-10-13 20:06 ` [PATCH 13/14] Avoid a dup2(2) in apply_filter() - start_command() can do it for us Johannes Sixt
2007-10-13 20:06 ` [PATCH 14/14] Use the asyncronous function infrastructure to run the content filter Johannes Sixt
2007-10-14 3:07 ` Johannes Schindelin
2007-10-14 9:39 ` Johannes Sixt
2007-10-14 17:14 ` [PATCH amend " Johannes Sixt
2007-10-14 17:08 ` [PATCH amend 08/14] Add infrastructure to run a function asynchronously Johannes Sixt
2007-10-14 0:57 ` [PATCH 01/14] Change git_connect() to return a struct child_process instead of a pid_t Johannes Schindelin
2007-10-14 9:40 ` Johannes Sixt
2007-10-14 17:10 ` Johannes Schindelin
2007-10-14 2:11 ` [PATCH 0/14] fork/exec removal series Shawn O. Pearce
2007-10-14 2:50 ` Johannes Schindelin
2007-10-14 2:58 ` Shawn O. Pearce [this message]
2007-10-14 7:12 ` Pierre Habouzit
2007-10-14 7:17 ` Pierre Habouzit
2007-10-14 7:28 ` Pierre Habouzit
2007-10-14 9:10 ` Andreas Ericsson
2007-10-14 17:09 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071014025857.GQ27899@spearce.org \
--to=spearce@spearce$(echo .)org \
--cc=Johannes.Schindelin@gmx$(echo .)de \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=johannes.sixt@telecom$(echo .)at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox