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.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.sixt@telecom.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.