git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: James Pickens <jepicken@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] Add support for multi threaded checkout
Date: Thu, 18 Dec 2008 16:13:13 -0800 (PST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0812181606250.14014@localhost.localdomain> (raw)
In-Reply-To: <885649360812181535h36d24b0gb31acddded452a0@mail.gmail.com>



On Thu, 18 Dec 2008, James Pickens wrote:

> On Thu, Dec 18, 2008, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > So instead of doing all the unpacking etc in parallel (with locking around
> > it to serialize it), I'd suggest doing ll the unpacking serially since
> > that isn't the problem anyway (and since you have to protect it with a
> > lock anyway), and just have a "write out and free the buffer" phase that
> > is done in the threads.
> 
> That's certainly a more elegant way to do it, but unless I'm missing
> something, it requires rewriting a good bit of code.  The main reason I
> went with the locking was to keep the patch as simple and non-intrusive
> as possible.

Yeah, I looked a bit more at it, and one problem is that we don't just 
write out the file, we also refresh the cache with the stat information 
after writing it out. If we just write the thing out, it would be simpler: 
we'd just make the thread locklessly write things out and free the data 
from a simple set of lockless threads - no need for any access to git data 
structures.

Ho humm. I'll think about it a bit more.

		Linus

  reply	other threads:[~2008-12-19  0:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-18 20:51 [RFC PATCH 0/2] Add support for multi threaded checkout Pickens, James E
2008-12-18 20:56 ` [PATCH 1/2] " James Pickens
2008-12-18 20:56   ` [PATCH 2/2] Add core.threadedcheckout config option James Pickens
2008-12-18 21:41   ` [PATCH 1/2] Add support for multi threaded checkout Linus Torvalds
2008-12-18 23:35     ` James Pickens
2008-12-19  0:13       ` Linus Torvalds [this message]
2008-12-18 21:02 ` [RFC PATCH 0/2] " Nicolas Pitre
2008-12-18 21:13   ` James Pickens
2008-12-18 21:16 ` Nicolas Morey-Chaisemartin
2008-12-18 21:42   ` James Pickens
2008-12-19  1:04   ` James Pickens

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=alpine.LFD.2.00.0812181606250.14014@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=git@vger.kernel.org \
    --cc=jepicken@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).