Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
On Tuesday 19 April 2005 05:38 pm, Linus Torvalds wrote:
> 
> On Tue, 19 Apr 2005, Steven Cole wrote:
> > 
> > I wasn't complaining about the 4 minutes, just the lack of feedback
> > during the majority of that time.  And most of it was after the last
> > patching file message.
> 
> That should be exactly the thing that the new "read-tree -m" fixes.
> 
> Before, when you read in a new tree (which is what you do when you update
> to somebody elses version), git would throw all the cached information
> away, and so you'd end up doing a "checkout-cache -f -a" that re-wrote
> every single checked-out file, followed by "update-cache --refresh" that
> then re-created the cache for every single file.
> 
> With the new read-tree, the same sequence (assuming you have the "-m"  
> flag to tell read-tree to merge the cache information) will now only write
> out and re-check the files that actually changed due to the update or
> merge.
> 
> So that last phase should go from minutes to seconds - instead of checking
> 17,000+ files, you'd end up checking maybe a few hundred for most "normal"
> updates.
> 
> For example, updating all the way from the git root (ie plain 2.6.12-rc2)  
> to the current head, only 577 files have changed, and the rest (16,740)
> should never be touched at all.
> 
> You can see why doing just the 577 instead of the full 17,317 might speed
> things up a bit ;)
> 
>   Linus

Cool.  Petr, I hope this works like this with your tools tomorrow.

> 
> PS. Of course, right now it probably does make sense to waste some time
> occasionally, and run "fsck-cache $(cat .git/HEAD)" every once in a while.
> Just in case..
> 
> 
Sounds like a good thing to schedule for $WEEHOUR.

Steven
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Steven Cole wrote:
> 
> I wasn't complaining about the 4 minutes, just the lack of feedback
> during the majority of that time.  And most of it was after the last
> patching file message.

That should be exactly the thing that the new "read-tree -m" fixes.

Before, when you read in a new tree (which is what you do when you update
to somebody elses version), git would throw all the cached information
away, and so you'd end up doing a "checkout-cache -f -a" that re-wrote
every single checked-out file, followed by "update-cache --refresh" that
then re-created the cache for every single file.

With the new read-tree, the same sequence (assuming you have the "-m"  
flag to tell read-tree to merge the cache information) will now only write
out and re-check the files that actually changed due to the update or
merge.

So that last phase should go from minutes to seconds - instead of checking
17,000+ files, you'd end up checking maybe a few hundred for most "normal"
updates.

For example, updating all the way from the git root (ie plain 2.6.12-rc2)  
to the current head, only 577 files have changed, and the rest (16,740)
should never be touched at all.

You can see why doing just the 577 instead of the full 17,317 might speed
things up a bit ;)

Linus

PS. Of course, right now it probably does make sense to waste some time
occasionally, and run "fsck-cache $(cat .git/HEAD)" every once in a while.
Just in case..
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 01:04:48AM CEST, I got a letter
where Steven Cole <[EMAIL PROTECTED]> told me that...
> Then, the flurry of patching file blah messages, followed by a rather 
> pregnant pause after the last patching message.
> 
> I wasn't complaining about the 4 minutes, just the lack of feedback
> during the majority of that time.  And most of it was after the last
> patching file message.

That must've been the update-cache.

Well, you can listen to your strained disk crepitating direly.

-- 
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
On Tuesday 19 April 2005 04:38 pm, Linus Torvalds wrote:
> 
> On Tue, 19 Apr 2005, Steven Cole wrote:
> >
> > But perhaps a progress bar right about here might be
> > a good thing for the terminally impatient.
> > 
> > real3m54.909s
> > user0m14.835s
> > sys 0m10.587s
> > 
> > 4 minutes might be long enough to cause some folks to lose hope.
> 
> Well, the real operations took only 15 seconds. What kind of horribe 
> person are you, that you don't have all of the kernel in your disk cache 
> already? Shame on you.
> 
> Or was the 4 minutes for downloading all the objest too?

Yes, I was using a very recent version of the pasky tools,
I had created the repo this morning with git init YOUR_RSYC_URL_FOR_LINUX-2.6.
I did time git pull origin and watched the fur fly.

Then, the flurry of patching file blah messages, followed by a rather 
pregnant pause after the last patching message.

I wasn't complaining about the 4 minutes, just the lack of feedback
during the majority of that time.  And most of it was after the last
patching file message.

> 
> Anyway, it looks like you are using pasky's scripts, and the old 
> "patch-based" upgrade at that. You certainly will _not_ see the
> 
>   [many files patched]
>   patching file mm/mmap.c
>   ..
> 
> if you use a real git merge. That's probable be the real problem here.
> 
> Real merges have no patches taking place _anywhere_. And they take about 
> half a second. Doing an "update" of your tree should _literally_ boil down 
> to
> 
>   #
>   # "repo" needs to point to the repo we update from
>   #
>   rsync -avz --ignore-existing $repo/objects/. .git/objects/.
>   rsync -L $repo/HEAD .git/NEW_HEAD || exit 1
>   read-tree -m $(cat .git/NEW_HEAD) || exit 1
>   checkout-cache -f -a
>   update-cache --refresh
>   mv .git/NEW_HEAD .git/HEAD
> 
> and if it does anything else, it's literally broken. Btw, the above does
> need my "read-tree -m" thing which I committed today.
> 
> (CAREFUL: the above is not a good script, because it _will_ just overwrite 
> all your old contents with the stuff you updated to. You should thus not 
> actually use something like this, but a "git update" should literally end 
> up doing the above operations in the end, and just add proper checking).
> 
> And if that takes 4 minutes, you've got problems.
> 
> Just say no to patches. 
> 
>   Linus
> 
> PS: If you want a clean tree without any old files or anything else, for
> that matter, you can then do a "show-files -z --others | xargs -0 rm", but
> be careful: that will blow away _anything_ that wasn't revision controlled
> with git. So don't blame me if your pr0n collection is gone afterwards.
> 

OK.  I may try some of this tomorrow from work, where I have a fat pipe.

I'm on dialup from home, and I suspect not very many folks want to hear
the sad tale of how long it takes to get the kernel over 56k dialup.

Steven
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:38:17AM CEST, I got a letter
where Linus Torvalds <[EMAIL PROTECTED]> told me that...
> Just say no to patches. 

FYI, I've - per Junio's suggestion - made git merge's fast-forward to
apply show-diff output as a patch instead. This is roughly equal to
doing the sanity check against local changes, except that it handles
them, while at it. (Tree merge refuses to work when there are local
changes.)

-- 
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:45:02AM CEST, I got a letter
where Junio C Hamano <[EMAIL PROTECTED]> told me that...
> > "PB" == Petr Baudis <[EMAIL PROTECTED]> writes:
> 
> PB> I'm wondering if doing
> 
> PB> if [ "$(show-diff)" ]; then
> PB>   git diff | git apply
> PB> else
> PB>   checkout-cache -f -a
> PB> fi
> 
> PB> would actually buy us some time; or, how common is it for people to have
> PB> no local changes whatsoever, and whether relative slowdown of additional
> PB> show-diff to git diff would actually matter.
> 
> "show-diff -s" perhaps.  Also wouldn't it be faster to pipe
> show-diff output (not git diff output) to patch (not git apply)?

Excellent idea, thanks. Changed git merge to do this.

-- 
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Wed, 20 Apr 2005, Petr Baudis wrote:
> 
> I will probably not buy git-export, though. (That is, it is merged, but
> I won't make git frontend for it.) My "git export" already does
> something different, but more importantly, "git patch" of mine already
> does effectively the same thing as you do, just for a single patch; so I
> will probably just extend it to do it for an (a,b] range of patches.

That's fine. It was a quick hack, just to show that if somebody wants to, 
the data is trivially exportable.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Junio C Hamano
> "PB" == Petr Baudis <[EMAIL PROTECTED]> writes:

PB> I'm wondering if doing

PB> if [ "$(show-diff)" ]; then
PB> git diff | git apply
PB> else
PB> checkout-cache -f -a
PB> fi

PB> would actually buy us some time; or, how common is it for people to have
PB> no local changes whatsoever, and whether relative slowdown of additional
PB> show-diff to git diff would actually matter.

"show-diff -s" perhaps.  Also wouldn't it be faster to pipe
show-diff output (not git diff output) to patch (not git apply)?


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Tue, Apr 19, 2005 at 10:20:47PM CEST, I got a letter
where Linus Torvalds <[EMAIL PROTECTED]> told me that...
> Pasky? Can you check my latest git stuff, notably read-tree.c and the 
> changes to git-pull-script?

I've made git merge to use read-tree -m, HTH.

I will probably not buy git-export, though. (That is, it is merged, but
I won't make git frontend for it.) My "git export" already does
something different, but more importantly, "git patch" of mine already
does effectively the same thing as you do, just for a single patch; so I
will probably just extend it to do it for an (a,b] range of patches.

-- 
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Steven Cole wrote:
>
> But perhaps a progress bar right about here might be
> a good thing for the terminally impatient.
> 
> real3m54.909s
> user0m14.835s
> sys 0m10.587s
> 
> 4 minutes might be long enough to cause some folks to lose hope.

Well, the real operations took only 15 seconds. What kind of horribe 
person are you, that you don't have all of the kernel in your disk cache 
already? Shame on you.

Or was the 4 minutes for downloading all the objest too?

Anyway, it looks like you are using pasky's scripts, and the old 
"patch-based" upgrade at that. You certainly will _not_ see the

[many files patched]
patching file mm/mmap.c
..

if you use a real git merge. That's probable be the real problem here.

Real merges have no patches taking place _anywhere_. And they take about 
half a second. Doing an "update" of your tree should _literally_ boil down 
to

#
# "repo" needs to point to the repo we update from
#
rsync -avz --ignore-existing $repo/objects/. .git/objects/.
rsync -L $repo/HEAD .git/NEW_HEAD || exit 1
read-tree -m $(cat .git/NEW_HEAD) || exit 1
checkout-cache -f -a
update-cache --refresh
mv .git/NEW_HEAD .git/HEAD

and if it does anything else, it's literally broken. Btw, the above does
need my "read-tree -m" thing which I committed today.

(CAREFUL: the above is not a good script, because it _will_ just overwrite 
all your old contents with the stuff you updated to. You should thus not 
actually use something like this, but a "git update" should literally end 
up doing the above operations in the end, and just add proper checking).

And if that takes 4 minutes, you've got problems.

Just say no to patches. 

Linus

PS: If you want a clean tree without any old files or anything else, for
that matter, you can then do a "show-files -z --others | xargs -0 rm", but
be careful: that will blow away _anything_ that wasn't revision controlled
with git. So don't blame me if your pr0n collection is gone afterwards.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:19:01AM CEST, I got a letter
where Steven Cole <[EMAIL PROTECTED]> told me that...
> Linus Torvalds wrote:
> >
> >On Tue, 19 Apr 2005, Greg KH wrote:
> >
> >>Nice, it looks like the merge of this tree, and my usb tree worked just
> >>fine.
> >
> >
> >Yup, it all seems to work out.
> 
> [many files patched]
> patching file mm/mmap.c
> patching file net/bridge/br_sysfs_if.c
> patching file scripts/ver_linux
> --^
> Hey, that's my patch!  Last...and least.
> But perhaps a progress bar right about here might be
> a good thing for the terminally impatient.
> 
> real3m54.909s
> user0m14.835s
> sys 0m10.587s
> 
> 4 minutes might be long enough to cause some folks to lose hope.

I'm wondering if doing

if [ "$(show-diff)" ]; then
git diff | git apply
else
checkout-cache -f -a
fi

would actually buy us some time; or, how common is it for people to have
no local changes whatsoever, and whether relative slowdown of additional
show-diff to git diff would actually matter.

-- 
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
Linus Torvalds wrote:
On Tue, 19 Apr 2005, Greg KH wrote:
Nice, it looks like the merge of this tree, and my usb tree worked just
fine.

Yup, it all seems to work out.
[many files patched]
patching file mm/mmap.c
patching file net/bridge/br_sysfs_if.c
patching file scripts/ver_linux
--^
Hey, that's my patch!  Last...and least.
But perhaps a progress bar right about here might be
a good thing for the terminally impatient.
real3m54.909s
user0m14.835s
sys 0m10.587s
4 minutes might be long enough to cause some folks to lose hope.
Steven
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Tue, Apr 19, 2005 at 01:20:47PM -0700, Linus Torvalds wrote:
> 
> 
> On Tue, 19 Apr 2005, Greg KH wrote:
> > 
> > Ok, if you want some practice with "real" merges, feel free to merge from
> > the following two trees whenever you are ready:
> > kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
> > for 11 aoe bugfix patches, and:
> > kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
> > for 13 driver core, sysfs, and debugfs fixes.
> 
> Done, pushed out. Can you verify that the end result looks sane to you? I 
> just cheched that the diffstat looks similar (mine claims just 108 lines 
> changed in aoecmd.c - possibly due to different diff formats).

Looks good to me (the diffstat difference is probably because the
patches were consecutive, and the sum of them are smaller (modifying
same parts of the files, etc.))

The git-changes-script shows that you picked up everything from my trees
successfully (assuming we trust that so far) and a raw diff looks good
too.

Two "odd" things in the changelog:

commit cebc2380426b64aaa60a169834a7aefc956c
tree 484292d57c19acbf04cf5c783e7d26181b95e96e
parent 334a4e1b19f7f471594f7abd3bfead3720c1bd61
author Hugh Dickins <[EMAIL PROTECTED]> Wed, 20 Apr 2005 03:29:23 -0700
committer Linus Torvalds <[EMAIL PROTECTED](none)> Wed, 20 Apr 2005 03:29:23 
-0700

It looks like your domain name isn't set up properly for your box (which
is why it worked for you, but not me before, causing that patch).

Also the date is in the future with the -0700, yet the time is in UTC.
Oh wait, that's a 'git log' thing, the raw changeset is correct, I guess
I'll wait for Pasky to fix that :)

> And yes, my new merge thing seems to have kept the index-cache much better 
> up-to-date, allowing an optimized checkout-cache -f -a to work and only 
> get the new files.

Very nice.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Greg KH wrote:
> 
> Ok, if you want some practice with "real" merges, feel free to merge from
> the following two trees whenever you are ready:
>   kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
> for 11 aoe bugfix patches, and:
>   kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
> for 13 driver core, sysfs, and debugfs fixes.

Done, pushed out. Can you verify that the end result looks sane to you? I 
just cheched that the diffstat looks similar (mine claims just 108 lines 
changed in aoecmd.c - possibly due to different diff formats).

And yes, my new merge thing seems to have kept the index-cache much better 
up-to-date, allowing an optimized checkout-cache -f -a to work and only 
get the new files.

Pasky? Can you check my latest git stuff, notably read-tree.c and the 
changes to git-pull-script?

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Tue, Apr 19, 2005 at 12:40:44PM -0700, Linus Torvalds wrote:
> I'm still working out some performance issues with merges (the actual
> "merge" operation itself is very fast, but I've been trying to make the
> subsequent "update the working directory tree to the right thing" be much
> better).

Ok, if you want some practice with "real" merges, feel free to merge from
the following two trees whenever you are ready:
kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
for 11 aoe bugfix patches, and:
kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
for 13 driver core, sysfs, and debugfs fixes.

The diffstats are:

aoe:
 Documentation/aoe/mkdevs.sh   |1 
 Documentation/aoe/mkshelf.sh  |1 
 Documentation/aoe/todo.txt|   14 
 Documentation/aoe/udev-install.sh |6 +-
 drivers/block/aoe/aoe.h   |   23 +--
 drivers/block/aoe/aoeblk.c|5 +
 drivers/block/aoe/aoecmd.c|  110 ++
 drivers/block/aoe/aoedev.c|8 +-
 drivers/block/aoe/aoenet.c|8 +-
 9 files changed, 111 insertions(+), 65 deletions(-)

driver:
 Documentation/kref.txt|  221 +-
 drivers/base/class.c  |2 
 drivers/base/core.c   |3 
 drivers/base/firmware_class.c |3 
 drivers/base/platform.c   |1 
 drivers/usb/host/hc_crisv10.c |1 
 fs/partitions/check.c |2 
 fs/sysfs/file.c   |   35 ++
 include/linux/debugfs.h   |   14 +-
 include/linux/sysfs.h |7 +
 lib/kobject.c |7 -
 net/bridge/br_sysfs_if.c  |2 
 scripts/ver_linux |2 
 13 files changed, 290 insertions(+), 10 deletions(-)

No rush, but they should be good test for your merge speeds, as they are
based off of an older HEAD than your current one :)

> In other words, I want it to be at the point where people can do
> 
>   git pull 
> 
> and it will "just work", at least for people who don't have any local
> changes in their tree. None of this "check out all the files again" crap.

That would be very nice to have.

> But how about a plan that we go "live" tomorrow - assuming nobody finds
> any problems before that, of course.

That's fine with me.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Greg KH wrote:
> 
> Nice, it looks like the merge of this tree, and my usb tree worked just
> fine.

Yup, it all seems to work out.

> So, what does this now mean?  Is your kernel.org git tree now going to
> be the "real" kernel tree that you will be working off of now?  Should
> we crank up the nightly snapshots and emails to the -commits list?

I'm not quite ready to consider it "real", but I'm getting there.

I'm still working out some performance issues with merges (the actual
"merge" operation itself is very fast, but I've been trying to make the
subsequent "update the working directory tree to the right thing" be much
better).

> Can I rely on the fact that these patches are now in your tree and I can
> forget about them? :)
> 
> Just wondering how comfortable you feel with your git tree so far.

Hold off for one more day. I'm very comfortable with how well git has 
worked out so far, and yes, mentally I consider this "the tree", but the 
fact is, git isn't exactly easy on "normal users".

I think my merge stuff and Pasky's scripts are getting there, but I want
to make sure that we have a version of Pasky's scripts that use the new
"read-tree -m" optimizations to make tracking a tree faster, and I'd like
to have them _tested_ a bit first.

In other words, I want it to be at the point where people can do

git pull 

and it will "just work", at least for people who don't have any local
changes in their tree. None of this "check out all the files again" crap.

But how about a plan that we go "live" tomorrow - assuming nobody finds
any problems before that, of course.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Mon, Apr 18, 2005 at 09:39:38PM -0700, Greg KH wrote:
> Alright, let's try some small i2c and w1 patches...
> 
> Could you merge with:
>   kernel.org/pub/scm/linux/kernel/git/gregkh/i2c-2.6.git/

Nice, it looks like the merge of this tree, and my usb tree worked just
fine.

So, what does this now mean?  Is your kernel.org git tree now going to
be the "real" kernel tree that you will be working off of now?  Should
we crank up the nightly snapshots and emails to the -commits list?

Can I rely on the fact that these patches are now in your tree and I can
forget about them? :)

Just wondering how comfortable you feel with your git tree so far.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Mon, Apr 18, 2005 at 09:39:38PM -0700, Greg KH wrote:
 Alright, let's try some small i2c and w1 patches...
 
 Could you merge with:
   kernel.org/pub/scm/linux/kernel/git/gregkh/i2c-2.6.git/

Nice, it looks like the merge of this tree, and my usb tree worked just
fine.

So, what does this now mean?  Is your kernel.org git tree now going to
be the real kernel tree that you will be working off of now?  Should
we crank up the nightly snapshots and emails to the -commits list?

Can I rely on the fact that these patches are now in your tree and I can
forget about them? :)

Just wondering how comfortable you feel with your git tree so far.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Greg KH wrote:
 
 Nice, it looks like the merge of this tree, and my usb tree worked just
 fine.

Yup, it all seems to work out.

 So, what does this now mean?  Is your kernel.org git tree now going to
 be the real kernel tree that you will be working off of now?  Should
 we crank up the nightly snapshots and emails to the -commits list?

I'm not quite ready to consider it real, but I'm getting there.

I'm still working out some performance issues with merges (the actual
merge operation itself is very fast, but I've been trying to make the
subsequent update the working directory tree to the right thing be much
better).

 Can I rely on the fact that these patches are now in your tree and I can
 forget about them? :)
 
 Just wondering how comfortable you feel with your git tree so far.

Hold off for one more day. I'm very comfortable with how well git has 
worked out so far, and yes, mentally I consider this the tree, but the 
fact is, git isn't exactly easy on normal users.

I think my merge stuff and Pasky's scripts are getting there, but I want
to make sure that we have a version of Pasky's scripts that use the new
read-tree -m optimizations to make tracking a tree faster, and I'd like
to have them _tested_ a bit first.

In other words, I want it to be at the point where people can do

git pull repo-address

and it will just work, at least for people who don't have any local
changes in their tree. None of this check out all the files again crap.

But how about a plan that we go live tomorrow - assuming nobody finds
any problems before that, of course.

Linus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Tue, Apr 19, 2005 at 12:40:44PM -0700, Linus Torvalds wrote:
 I'm still working out some performance issues with merges (the actual
 merge operation itself is very fast, but I've been trying to make the
 subsequent update the working directory tree to the right thing be much
 better).

Ok, if you want some practice with real merges, feel free to merge from
the following two trees whenever you are ready:
kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
for 11 aoe bugfix patches, and:
kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
for 13 driver core, sysfs, and debugfs fixes.

The diffstats are:

aoe:
 Documentation/aoe/mkdevs.sh   |1 
 Documentation/aoe/mkshelf.sh  |1 
 Documentation/aoe/todo.txt|   14 
 Documentation/aoe/udev-install.sh |6 +-
 drivers/block/aoe/aoe.h   |   23 +--
 drivers/block/aoe/aoeblk.c|5 +
 drivers/block/aoe/aoecmd.c|  110 ++
 drivers/block/aoe/aoedev.c|8 +-
 drivers/block/aoe/aoenet.c|8 +-
 9 files changed, 111 insertions(+), 65 deletions(-)

driver:
 Documentation/kref.txt|  221 +-
 drivers/base/class.c  |2 
 drivers/base/core.c   |3 
 drivers/base/firmware_class.c |3 
 drivers/base/platform.c   |1 
 drivers/usb/host/hc_crisv10.c |1 
 fs/partitions/check.c |2 
 fs/sysfs/file.c   |   35 ++
 include/linux/debugfs.h   |   14 +-
 include/linux/sysfs.h |7 +
 lib/kobject.c |7 -
 net/bridge/br_sysfs_if.c  |2 
 scripts/ver_linux |2 
 13 files changed, 290 insertions(+), 10 deletions(-)

No rush, but they should be good test for your merge speeds, as they are
based off of an older HEAD than your current one :)

 In other words, I want it to be at the point where people can do
 
   git pull repo-address
 
 and it will just work, at least for people who don't have any local
 changes in their tree. None of this check out all the files again crap.

That would be very nice to have.

 But how about a plan that we go live tomorrow - assuming nobody finds
 any problems before that, of course.

That's fine with me.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Greg KH wrote:
 
 Ok, if you want some practice with real merges, feel free to merge from
 the following two trees whenever you are ready:
   kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
 for 11 aoe bugfix patches, and:
   kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
 for 13 driver core, sysfs, and debugfs fixes.

Done, pushed out. Can you verify that the end result looks sane to you? I 
just cheched that the diffstat looks similar (mine claims just 108 lines 
changed in aoecmd.c - possibly due to different diff formats).

And yes, my new merge thing seems to have kept the index-cache much better 
up-to-date, allowing an optimized checkout-cache -f -a to work and only 
get the new files.

Pasky? Can you check my latest git stuff, notably read-tree.c and the 
changes to git-pull-script?

Linus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Greg KH
On Tue, Apr 19, 2005 at 01:20:47PM -0700, Linus Torvalds wrote:
 
 
 On Tue, 19 Apr 2005, Greg KH wrote:
  
  Ok, if you want some practice with real merges, feel free to merge from
  the following two trees whenever you are ready:
  kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
  for 11 aoe bugfix patches, and:
  kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
  for 13 driver core, sysfs, and debugfs fixes.
 
 Done, pushed out. Can you verify that the end result looks sane to you? I 
 just cheched that the diffstat looks similar (mine claims just 108 lines 
 changed in aoecmd.c - possibly due to different diff formats).

Looks good to me (the diffstat difference is probably because the
patches were consecutive, and the sum of them are smaller (modifying
same parts of the files, etc.))

The git-changes-script shows that you picked up everything from my trees
successfully (assuming we trust that so far) and a raw diff looks good
too.

Two odd things in the changelog:

commit cebc2380426b64aaa60a169834a7aefc956c
tree 484292d57c19acbf04cf5c783e7d26181b95e96e
parent 334a4e1b19f7f471594f7abd3bfead3720c1bd61
author Hugh Dickins [EMAIL PROTECTED] Wed, 20 Apr 2005 03:29:23 -0700
committer Linus Torvalds [EMAIL PROTECTED](none) Wed, 20 Apr 2005 03:29:23 
-0700

It looks like your domain name isn't set up properly for your box (which
is why it worked for you, but not me before, causing that patch).

Also the date is in the future with the -0700, yet the time is in UTC.
Oh wait, that's a 'git log' thing, the raw changeset is correct, I guess
I'll wait for Pasky to fix that :)

 And yes, my new merge thing seems to have kept the index-cache much better 
 up-to-date, allowing an optimized checkout-cache -f -a to work and only 
 get the new files.

Very nice.

thanks,

greg k-h
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
Linus Torvalds wrote:
On Tue, 19 Apr 2005, Greg KH wrote:
Nice, it looks like the merge of this tree, and my usb tree worked just
fine.

Yup, it all seems to work out.
[many files patched]
patching file mm/mmap.c
patching file net/bridge/br_sysfs_if.c
patching file scripts/ver_linux
--^
Hey, that's my patch!  Last...and least.
But perhaps a progress bar right about here might be
a good thing for the terminally impatient.
real3m54.909s
user0m14.835s
sys 0m10.587s
4 minutes might be long enough to cause some folks to lose hope.
Steven
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:19:01AM CEST, I got a letter
where Steven Cole [EMAIL PROTECTED] told me that...
 Linus Torvalds wrote:
 
 On Tue, 19 Apr 2005, Greg KH wrote:
 
 Nice, it looks like the merge of this tree, and my usb tree worked just
 fine.
 
 
 Yup, it all seems to work out.
 
 [many files patched]
 patching file mm/mmap.c
 patching file net/bridge/br_sysfs_if.c
 patching file scripts/ver_linux
 --^
 Hey, that's my patch!  Last...and least.
 But perhaps a progress bar right about here might be
 a good thing for the terminally impatient.
 
 real3m54.909s
 user0m14.835s
 sys 0m10.587s
 
 4 minutes might be long enough to cause some folks to lose hope.

I'm wondering if doing

if [ $(show-diff) ]; then
git diff | git apply
else
checkout-cache -f -a
fi

would actually buy us some time; or, how common is it for people to have
no local changes whatsoever, and whether relative slowdown of additional
show-diff to git diff would actually matter.

-- 
Petr Pasky Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Steven Cole wrote:

 But perhaps a progress bar right about here might be
 a good thing for the terminally impatient.
 
 real3m54.909s
 user0m14.835s
 sys 0m10.587s
 
 4 minutes might be long enough to cause some folks to lose hope.

Well, the real operations took only 15 seconds. What kind of horribe 
person are you, that you don't have all of the kernel in your disk cache 
already? Shame on you.

Or was the 4 minutes for downloading all the objest too?

Anyway, it looks like you are using pasky's scripts, and the old 
patch-based upgrade at that. You certainly will _not_ see the

[many files patched]
patching file mm/mmap.c
..

if you use a real git merge. That's probable be the real problem here.

Real merges have no patches taking place _anywhere_. And they take about 
half a second. Doing an update of your tree should _literally_ boil down 
to

#
# repo needs to point to the repo we update from
#
rsync -avz --ignore-existing $repo/objects/. .git/objects/.
rsync -L $repo/HEAD .git/NEW_HEAD || exit 1
read-tree -m $(cat .git/NEW_HEAD) || exit 1
checkout-cache -f -a
update-cache --refresh
mv .git/NEW_HEAD .git/HEAD

and if it does anything else, it's literally broken. Btw, the above does
need my read-tree -m thing which I committed today.

(CAREFUL: the above is not a good script, because it _will_ just overwrite 
all your old contents with the stuff you updated to. You should thus not 
actually use something like this, but a git update should literally end 
up doing the above operations in the end, and just add proper checking).

And if that takes 4 minutes, you've got problems.

Just say no to patches. 

Linus

PS: If you want a clean tree without any old files or anything else, for
that matter, you can then do a show-files -z --others | xargs -0 rm, but
be careful: that will blow away _anything_ that wasn't revision controlled
with git. So don't blame me if your pr0n collection is gone afterwards.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Tue, Apr 19, 2005 at 10:20:47PM CEST, I got a letter
where Linus Torvalds [EMAIL PROTECTED] told me that...
 Pasky? Can you check my latest git stuff, notably read-tree.c and the 
 changes to git-pull-script?

I've made git merge to use read-tree -m, HTH.

I will probably not buy git-export, though. (That is, it is merged, but
I won't make git frontend for it.) My git export already does
something different, but more importantly, git patch of mine already
does effectively the same thing as you do, just for a single patch; so I
will probably just extend it to do it for an (a,b] range of patches.

-- 
Petr Pasky Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Junio C Hamano
 PB == Petr Baudis [EMAIL PROTECTED] writes:

PB I'm wondering if doing

PB if [ $(show-diff) ]; then
PB git diff | git apply
PB else
PB checkout-cache -f -a
PB fi

PB would actually buy us some time; or, how common is it for people to have
PB no local changes whatsoever, and whether relative slowdown of additional
PB show-diff to git diff would actually matter.

show-diff -s perhaps.  Also wouldn't it be faster to pipe
show-diff output (not git diff output) to patch (not git apply)?


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Wed, 20 Apr 2005, Petr Baudis wrote:
 
 I will probably not buy git-export, though. (That is, it is merged, but
 I won't make git frontend for it.) My git export already does
 something different, but more importantly, git patch of mine already
 does effectively the same thing as you do, just for a single patch; so I
 will probably just extend it to do it for an (a,b] range of patches.

That's fine. It was a quick hack, just to show that if somebody wants to, 
the data is trivially exportable.

Linus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:45:02AM CEST, I got a letter
where Junio C Hamano [EMAIL PROTECTED] told me that...
  PB == Petr Baudis [EMAIL PROTECTED] writes:
 
 PB I'm wondering if doing
 
 PB if [ $(show-diff) ]; then
 PB   git diff | git apply
 PB else
 PB   checkout-cache -f -a
 PB fi
 
 PB would actually buy us some time; or, how common is it for people to have
 PB no local changes whatsoever, and whether relative slowdown of additional
 PB show-diff to git diff would actually matter.
 
 show-diff -s perhaps.  Also wouldn't it be faster to pipe
 show-diff output (not git diff output) to patch (not git apply)?

Excellent idea, thanks. Changed git merge to do this.

-- 
Petr Pasky Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 12:38:17AM CEST, I got a letter
where Linus Torvalds [EMAIL PROTECTED] told me that...
 Just say no to patches. 

FYI, I've - per Junio's suggestion - made git merge's fast-forward to
apply show-diff output as a patch instead. This is roughly equal to
doing the sanity check against local changes, except that it handles
them, while at it. (Tree merge refuses to work when there are local
changes.)

-- 
Petr Pasky Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
On Tuesday 19 April 2005 04:38 pm, Linus Torvalds wrote:
 
 On Tue, 19 Apr 2005, Steven Cole wrote:
 
  But perhaps a progress bar right about here might be
  a good thing for the terminally impatient.
  
  real3m54.909s
  user0m14.835s
  sys 0m10.587s
  
  4 minutes might be long enough to cause some folks to lose hope.
 
 Well, the real operations took only 15 seconds. What kind of horribe 
 person are you, that you don't have all of the kernel in your disk cache 
 already? Shame on you.
 
 Or was the 4 minutes for downloading all the objest too?

Yes, I was using a very recent version of the pasky tools,
I had created the repo this morning with git init YOUR_RSYC_URL_FOR_LINUX-2.6.
I did time git pull origin and watched the fur fly.

Then, the flurry of patching file blah messages, followed by a rather 
pregnant pause after the last patching message.

I wasn't complaining about the 4 minutes, just the lack of feedback
during the majority of that time.  And most of it was after the last
patching file message.

 
 Anyway, it looks like you are using pasky's scripts, and the old 
 patch-based upgrade at that. You certainly will _not_ see the
 
   [many files patched]
   patching file mm/mmap.c
   ..
 
 if you use a real git merge. That's probable be the real problem here.
 
 Real merges have no patches taking place _anywhere_. And they take about 
 half a second. Doing an update of your tree should _literally_ boil down 
 to
 
   #
   # repo needs to point to the repo we update from
   #
   rsync -avz --ignore-existing $repo/objects/. .git/objects/.
   rsync -L $repo/HEAD .git/NEW_HEAD || exit 1
   read-tree -m $(cat .git/NEW_HEAD) || exit 1
   checkout-cache -f -a
   update-cache --refresh
   mv .git/NEW_HEAD .git/HEAD
 
 and if it does anything else, it's literally broken. Btw, the above does
 need my read-tree -m thing which I committed today.
 
 (CAREFUL: the above is not a good script, because it _will_ just overwrite 
 all your old contents with the stuff you updated to. You should thus not 
 actually use something like this, but a git update should literally end 
 up doing the above operations in the end, and just add proper checking).
 
 And if that takes 4 minutes, you've got problems.
 
 Just say no to patches. 
 
   Linus
 
 PS: If you want a clean tree without any old files or anything else, for
 that matter, you can then do a show-files -z --others | xargs -0 rm, but
 be careful: that will blow away _anything_ that wasn't revision controlled
 with git. So don't blame me if your pr0n collection is gone afterwards.
 

OK.  I may try some of this tomorrow from work, where I have a fat pipe.

I'm on dialup from home, and I suspect not very many folks want to hear
the sad tale of how long it takes to get the kernel over 56k dialup.

Steven
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Petr Baudis
Dear diary, on Wed, Apr 20, 2005 at 01:04:48AM CEST, I got a letter
where Steven Cole [EMAIL PROTECTED] told me that...
 Then, the flurry of patching file blah messages, followed by a rather 
 pregnant pause after the last patching message.
 
 I wasn't complaining about the 4 minutes, just the lack of feedback
 during the majority of that time.  And most of it was after the last
 patching file message.

That must've been the update-cache.

Well, you can listen to your strained disk crepitating direly.

-- 
Petr Pasky Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Linus Torvalds


On Tue, 19 Apr 2005, Steven Cole wrote:
 
 I wasn't complaining about the 4 minutes, just the lack of feedback
 during the majority of that time.  And most of it was after the last
 patching file message.

That should be exactly the thing that the new read-tree -m fixes.

Before, when you read in a new tree (which is what you do when you update
to somebody elses version), git would throw all the cached information
away, and so you'd end up doing a checkout-cache -f -a that re-wrote
every single checked-out file, followed by update-cache --refresh that
then re-created the cache for every single file.

With the new read-tree, the same sequence (assuming you have the -m  
flag to tell read-tree to merge the cache information) will now only write
out and re-check the files that actually changed due to the update or
merge.

So that last phase should go from minutes to seconds - instead of checking
17,000+ files, you'd end up checking maybe a few hundred for most normal
updates.

For example, updating all the way from the git root (ie plain 2.6.12-rc2)  
to the current head, only 577 files have changed, and the rest (16,740)
should never be touched at all.

You can see why doing just the 577 instead of the full 17,317 might speed
things up a bit ;)

Linus

PS. Of course, right now it probably does make sense to waste some time
occasionally, and run fsck-cache $(cat .git/HEAD) every once in a while.
Just in case..
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PATCH] I2C and W1 bugfixes for 2.6.12-rc2

2005-04-19 Thread Steven Cole
On Tuesday 19 April 2005 05:38 pm, Linus Torvalds wrote:
 
 On Tue, 19 Apr 2005, Steven Cole wrote:
  
  I wasn't complaining about the 4 minutes, just the lack of feedback
  during the majority of that time.  And most of it was after the last
  patching file message.
 
 That should be exactly the thing that the new read-tree -m fixes.
 
 Before, when you read in a new tree (which is what you do when you update
 to somebody elses version), git would throw all the cached information
 away, and so you'd end up doing a checkout-cache -f -a that re-wrote
 every single checked-out file, followed by update-cache --refresh that
 then re-created the cache for every single file.
 
 With the new read-tree, the same sequence (assuming you have the -m  
 flag to tell read-tree to merge the cache information) will now only write
 out and re-check the files that actually changed due to the update or
 merge.
 
 So that last phase should go from minutes to seconds - instead of checking
 17,000+ files, you'd end up checking maybe a few hundred for most normal
 updates.
 
 For example, updating all the way from the git root (ie plain 2.6.12-rc2)  
 to the current head, only 577 files have changed, and the rest (16,740)
 should never be touched at all.
 
 You can see why doing just the 577 instead of the full 17,317 might speed
 things up a bit ;)
 
   Linus

Cool.  Petr, I hope this works like this with your tools tomorrow.

 
 PS. Of course, right now it probably does make sense to waste some time
 occasionally, and run fsck-cache $(cat .git/HEAD) every once in a while.
 Just in case..
 
 
Sounds like a good thing to schedule for $WEEHOUR.

Steven
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/