Re: [m5-dev] Test Repository

2008-06-07 Thread Steve Reinhardt
 My biggest worry about 3-6 months is that we often have fixes that are
 important and more recent than 3-6 months.  Beta 5 is barely three
 months old and has at least two important patches, right?

I was just going to use that same evidence to argue the opposite...
the fact that beta5 is 3 months old and we're still finding
significant bugs (including the assertion violation that Sujay posted
about yesterday, which coincidentally Brad had just run into as well)
says to me that we don't want to consider anything as stable until
it's been through at least 3 months of availability.

 There are also in-tree
 branches that can be maintained which are essentially special uses of
 tags.  Perhaps we should learn how those work, but I don't want to
 maintain a separate stable version.

Seems like the big thing is that we want to separate bug fixes to the
stable rev from new features/enhancements that haven't been widely
tested.  One solution is along the lines of what you suggested...
maybe we maintain the bleeding edge version as a public mq patch
list, and the stable version is just what's fully committed to the
repo.  Bug fix patches can then bypass new-feature patches to get into
the stable version more quickly.

One thing we'd have to emphasize internally is that pushing to the
public patch list should still be done only when you have the same
level of confidence that you currently should have before pushing to
the central repo.

Another concern I have is that I haven't used multiple mq patchsets
much... if I have this public patchset because I'm on the bleeding
edge, plus maybe some internal company shared patchset for the stuff
I'm working on with colleagues, plus my own patches for what I'm
currently working on, how cumbersome does that get?


 Maybe we should open this part of discussion to m5-users.  Explain
 that we don't have tons of time to maintain old versions, and find out
 how many people would track the current revs.

If we narrow it down to a couple of concrete options and can't decide
among them, then asking m5-users sounds fine.  I'd rather not move a
very general discussion over there though.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-07 Thread Ali Saidi

On Jun 7, 2008, at 2:09 PM, Steve Reinhardt wrote:

 My biggest worry about 3-6 months is that we often have fixes that  
 are
 important and more recent than 3-6 months.  Beta 5 is barely three
 months old and has at least two important patches, right?

 I was just going to use that same evidence to argue the opposite...
 the fact that beta5 is 3 months old and we're still finding
 significant bugs (including the assertion violation that Sujay posted
 about yesterday, which coincidentally Brad had just run into as well)
 says to me that we don't want to consider anything as stable until
 it's been through at least 3 months of availability.

To jump in here, the thing is we're not finding these bugs. Saying  
there needs to be 3 months of testing before we release something  
marked stable only works if its likely that the people running the  
bleeding edge are will find and fix bugs before they end up in changes  
encompassed by the stable tag. Other users found all these cache bugs,  
we didn't. I personally use the most basic memory hierarchy, it takes  
someone coming around and deciding that they want to look at configure  
Z that no one has ever tried before that exposes the problem. If that  
only happens to revisions that are marked stable its not clear that  
waiting 3 months helps at all.

 There are also in-tree
 branches that can be maintained which are essentially special uses of
 tags.  Perhaps we should learn how those work, but I don't want to
 maintain a separate stable version.

 Seems like the big thing is that we want to separate bug fixes to the
 stable rev from new features/enhancements that haven't been widely
 tested.  One solution is along the lines of what you suggested...
 maybe we maintain the bleeding edge version as a public mq patch
 list, and the stable version is just what's fully committed to the
 repo.  Bug fix patches can then bypass new-feature patches to get into
 the stable version more quickly.
That's ok, but the issue here is that merging patches really is an  
ugly business.

 One thing we'd have to emphasize internally is that pushing to the
 public patch list should still be done only when you have the same
 level of confidence that you currently should have before pushing to
 the central repo.

 Another concern I have is that I haven't used multiple mq patchsets
 much... if I have this public patchset because I'm on the bleeding
 edge, plus maybe some internal company shared patchset for the stuff
 I'm working on with colleagues, plus my own patches for what I'm
 currently working on, how cumbersome does that get?
It's not bad, patch sets can just be directories under .hg/patches. So  
you can have stable, internal, and mine.



 Maybe we should open this part of discussion to m5-users.  Explain
 that we don't have tons of time to maintain old versions, and find  
 out
 how many people would track the current revs.

 If we narrow it down to a couple of concrete options and can't decide
 among them, then asking m5-users sounds fine.  I'd rather not move a
 very general discussion over there though.

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-07 Thread Steve Reinhardt
Sort of a multi-reply here...

On Sat, Jun 7, 2008 at 11:36 AM, Ali Saidi [EMAIL PROTECTED] wrote:

 To jump in here, the thing is we're not finding these bugs. Saying
 there needs to be 3 months of testing before we release something
 marked stable only works if its likely that the people running the
 bleeding edge are will find and fix bugs before they end up in changes
 encompassed by the stable tag. Other users found all these cache bugs,
 we didn't. I personally use the most basic memory hierarchy, it takes
 someone coming around and deciding that they want to look at configure
 Z that no one has ever tried before that exposes the problem. If that
 only happens to revisions that are marked stable its not clear that
 waiting 3 months helps at all.

That's a reasonable argument... it's not clear how many people would
use bleeding edge vs. stable.

 Seems like the big thing is that we want to separate bug fixes to the
 stable rev from new features/enhancements that haven't been widely
 tested.  One solution is along the lines of what you suggested...
 maybe we maintain the bleeding edge version as a public mq patch
 list, and the stable version is just what's fully committed to the
 repo.  Bug fix patches can then bypass new-feature patches to get into
 the stable version more quickly.
 That's ok, but the issue here is that merging patches really is an
 ugly business.
[...]
 It's not bad, patch sets can just be directories under .hg/patches. So
 you can have stable, internal, and mine.

Aren't these statements contradictory?  If you have the patch sets
under separate subdirs, can they come from different repos?  Would you
still have to manually merge the series file?  I don't totally blame
Gabe for having the willies about this.

On Sat, Jun 7, 2008 at 11:58 AM, Ali Saidi [EMAIL PROTECTED] wrote:
 The problem I have with as set of patches is that someone then has to
 go an get M5 and get this set of patches and apply them. It just
 raises the barrier to entry even more.

If you're not using the bleeding edge version then you wouldn't
need/want the patches, so I don't think it raises the barrier to
novices.  It would make transitioning to the bleeding edge a little
more complicated, but nothing we can't overcome with a good FAQ.
(Not to say I'm wedded to this idea... I still think your other
objections are valid.)

On Sat, Jun 7, 2008 at 12:26 PM, nathan binkert [EMAIL PROTECTED] wrote:
 So, do you want to maintain a separate branch of all of those fixes
 for several months?  I don't.

Me neither... that's why I brought up the idea of using a patch queue.

 Many of those bugs would also not be found if
 it weren't for people other than us, because as you say we don't do
 enough testing on our own since we don't use it in a wide enough range
 of circumstances.

That's basically the same argument Ali made... I guess the key thing
with Linux is that there are enough random people who use the release
candidates to make them valid testing vehicles.

My main fear is that if all we offer as a default download is the tip,
then if something broken gets in there and someone downloads m5 for
the first time and it doesn't work, that's not good.  Maybe Nate's
idea of automatically advancing the stable pointer once we've run the
fullest possible set of regressions is the right way to go, and we can
try harder to make sure that when we see some configuration break we
create a regression test for it.  That would go along with making the
test framework a little more flexible, so we can have regressions that
depend on files we can't export (like SPEC) that only run when
appropriate, and maybe some staging mechanism that lets us run 1/N of
the really long regressions every  day instead of trying to do them
all once every N days.

Steve
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-07 Thread nathan binkert
 Aren't these statements contradictory?  If you have the patch sets
 under separate subdirs, can they come from different repos?  Would you
 still have to manually merge the series file?  I don't totally blame
 Gabe for having the willies about this.
Yeah, it sorta gives me the willies too.  Maybe what I suggest below
could be better.

 My main fear is that if all we offer as a default download is the tip,
 then if something broken gets in there and someone downloads m5 for
 the first time and it doesn't work, that's not good.  Maybe Nate's
 idea of automatically advancing the stable pointer once we've run the
 fullest possible set of regressions is the right way to go, and we can
 try harder to make sure that when we see some configuration break we
 create a regression test for it.
I think this, combined with something like a testing repository which
has regular regressions run as well and is maybe similar to the
mercurial crew repository.  Basically, people are allowed to push more
speculative things to the testing repository, and they'll get
regressions run on that repository.  (If we do some sort of automatic
bisect, that would be awesome)  If the testing repository gets totally
whacked, it's easy to blow it away and just ask people to re-add
stuff.  Maybe this should be done with a mq repository instead of a
normal repository.  (Is this what you had in mind steve?)  This way,
when people commit stuff, they can remove it from the queue and not
figure out how to merge it.  We could also alternatively come up with
some way to just have a directory of mq trees that can be individually
maintained by people, and have the regression framework automatically
do a separate regression on all of the mq trees that are there.

 That would go along with making the
 test framework a little more flexible, so we can have regressions that
 depend on files we can't export (like SPEC) that only run when
 appropriate, and maybe some staging mechanism that lets us run 1/N of
 the really long regressions every  day instead of trying to do them
 all once every N days.
I am willing to work on improving the testing framework to make adding
tests easier.  I'd like to base it more on SConscript stuff than just
the existence of directories.  That way you could do something like
Test('quick', mytestdir).  The result would be that it would work
with extras where we could keep the spec regressions and private
regressions.  I'd love it if someone volunteered to do the bisect part
though.

 Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-07 Thread Ali Saidi

On Jun 7, 2008, at 5:52 PM, Ali Saidi wrote:


 On Jun 7, 2008, at 5:44 PM, nathan binkert wrote:

 Aren't these statements contradictory?  If you have the patch sets
 under separate subdirs, can they come from different repos?  Would
 you
 still have to manually merge the series file?  I don't totally blame
 Gabe for having the willies about this.
 Yeah, it sorta gives me the willies too.  Maybe what I suggest below
 could be better.
 They aren't. Merging patches in an ugly business that I think we
 should avoid. MQ is pretty flexible about patches and subdirectoires
 so you can have various directories under .hg/patches each of which is
 a hg repository, however hg qcommit and the like won't work. Yes you
 would have to manually update the series file with all the patches
 from each directory. In reality if we went down this path --- which
 I'm not endorsing at all ---  I would be tempted to hack MQ so that
 the root series file could just be pointers to other series files.



 My main fear is that if all we offer as a default download is the
 tip,
 then if something broken gets in there and someone downloads m5 for
 the first time and it doesn't work, that's not good.  Maybe Nate's
 idea of automatically advancing the stable pointer once we've run  
 the
 fullest possible set of regressions is the right way to go, and we
 can
 try harder to make sure that when we see some configuration break we
 create a regression test for it.
 I think this, combined with something like a testing repository which
 has regular regressions run as well and is maybe similar to the
 mercurial crew repository.  Basically, people are allowed to push  
 more
 speculative things to the testing repository, and they'll get
 regressions run on that repository.  (If we do some sort of automatic
 bisect, that would be awesome)  If the testing repository gets  
 totally
 whacked, it's easy to blow it away and just ask people to re-add
 stuff.  Maybe this should be done with a mq repository instead of a
 normal repository.  (Is this what you had in mind steve?)  This way,
 when people commit stuff, they can remove it from the queue and not
 figure out how to merge it.  We could also alternatively come up with
 some way to just have a directory of mq trees that can be  
 individually
 maintained by people, and have the regression framework automatically
 do a separate regression on all of the mq trees that are there.
 I just look a quick look at the hg webserver code. There isn't a
 direct way to download a revision. We could add one, or we could go
 back to my original suggestion that we have m5-stable and m5-dev and
 just pull to m5-stable at whatever interval. I even wrote a script to
 spam m5-dev if more than XXX days had gone by without an update to m5-
 stable. Just like Nate says we can then whack m5-dev if something goes
 awry and reclone from m5-stable.
Another reason to have separate repos instead of just tagging if we're  
going to do stuff at this rate is that each retagging generates a new  
changeset. Pulling from a repo named x to a repo named y doesn't.

Ali



___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-02 Thread Ali Saidi

What if it's supposed to be UM and MIPS?

[(UM, [2006], ['Blah']), (MIPS, [2007], ['Foo'])] ??

Ali

On Jun 1, 2008, at 4:34 PM, nathan binkert wrote:

Looking through the mips directory for files that are just  
copyright MIPS

and not UM

interrupts.cc seems to be derived from alpha/interrupts.hh
linux/linux.hh is exactly the same as alpha/linux/linux.hh with some
constants changed
linux/linux.cc is s/AlphaLinux/MipsLinux/g of alpha/linux/linux.cc
mips_core_specific.cc is ev5.cc with most of the code commented out
utility.cc has 25 lines verbatim from alpha/utility.cc
regfile.cc is very similar to sparc/regfile.cc


For those files, are you willing to give me code that has what the
copyrights should be?  It should look like this:  (There are constants
called UM and MIPS that you can use instead of the full institution
name)

   'src/dev/mips/MipsConsole.py' :
   [(UM, [2007], ['Korey Sewell'])],

   'src/dev/sparc/T1000.py' :
   [(UM, [2006,2007], ['Gabe Black'])],

Thanks,
 Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev



___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-02 Thread nathan binkert
exactly.

On Mon, Jun 2, 2008 at 7:26 AM, Ali Saidi [EMAIL PROTECTED] wrote:
 What if it's supposed to be UM and MIPS?

 [(UM, [2006], ['Blah']), (MIPS, [2007], ['Foo'])] ??

 Ali

 On Jun 1, 2008, at 4:34 PM, nathan binkert wrote:

 Looking through the mips directory for files that are just copyright MIPS
 and not UM

 interrupts.cc seems to be derived from alpha/interrupts.hh
 linux/linux.hh is exactly the same as alpha/linux/linux.hh with some
 constants changed
 linux/linux.cc is s/AlphaLinux/MipsLinux/g of alpha/linux/linux.cc
 mips_core_specific.cc is ev5.cc with most of the code commented out
 utility.cc has 25 lines verbatim from alpha/utility.cc
 regfile.cc is very similar to sparc/regfile.cc

 For those files, are you willing to give me code that has what the
 copyrights should be?  It should look like this:  (There are constants
 called UM and MIPS that you can use instead of the full institution
 name)

   'src/dev/mips/MipsConsole.py' :
   [(UM, [2007], ['Korey Sewell'])],

   'src/dev/sparc/T1000.py' :
   [(UM, [2006,2007], ['Gabe Black'])],

 Thanks,
  Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-02 Thread Gabe Black

I'm sending this again since apparently not everyone got it.

nathan binkert wrote:

  A few (a vast minority) of .isa files for x86 should have UM copyright on
them. There are a couple which are copied basically from Alpha/SPARC which
should be fairly obvious since I think they have other people in the
authors. There are a few which I did a little with while working over the
semester which could also have UM added.


Can you list them?  I'm not going to go through them.
  


Which? The x86 files that came from Alpha/SPARC, or the ones I worked on
my last semester? For the former in arch/x86/isa see the list below. The
rest of arch/x86 should have both except for the second list below. For
the later, I sent an email earlier where I had a command that pulled
that out of mercurial along with the list it generated. It had some junk
tagging along but it was fairly short and would be easy to get the info
from.

//
// From other ISAs
//

arch/x86/isa/formats/
   basic.isa
   unimp.isa
   unknown.isa
   The below did not. The copyright was just copied over. I may have
modified them in my last semester.
   error.isa
   multi.isa
   string.isa
   syscall.isa


arch/x86/isa/
   includes.isa
   macroop.isa
   main.isa
   operands.isa
   The below did not. The copyright was just copied over. I may have
modified them in my last semester.
   macroop.isa
   microasm.isa
   specialize.isa

Some files in arch/x86/isa/microops/ have UM copyrights but none of them
were from another ISA.

//
// arch/x86/ not needing UM copyright
//

X86System.py
X86TLB.py
emulenv.[cc|hh]
floatregs.hh
everything in insts except for insts/static_inst.[cc|hh]
intregs.hh
miscregs.hh
pagetable_walker.[cc|hh]
predecoder.[cc|hh]
predecoder_tables.cc
segmentregs.hh
smbios.[cc|hh]
x86_traits.hh

This is being somewhat liberal in what would be considered derived (aka
I erred on the side of derived).

Also, I see arch/x86/template.hh which I never intended to commit. I'm
not sure how it snuck in there but you should feel free to nuke it.

  

There's also a temporal issue where
UM copyrights might not be applicable on changsets before a certain date,
but to be technically correct should be applied afterwards.


I don't get this.  You mean when you were at HP full time?
  


No, I'm talking about the ones I modified when I was back at UM for my
last semester. Before I came back they were HP only. When I made my
first change at UM, then they should be UM/HP. This is of course
excluding the ones that started out as both HP and UM because I copied
them from other ISAs.

  

I think the cost
of being super exact is more trouble than it's worth and over copyrighting
stuff might be the way to go. Another thing I'm thinking is that a lot of
those .isa files are fairly short, and having two copyrights on them could
make them an order of magnitude (or more) longer than they would be
otherwise. There's going to be a LOT of extra text there that might go
better in a generic license file for all that code than in every single
file. I'll leave that up to you guys.


We have to put the license on every file.  I agree that there are tons
of files.  Can you clean that up to reduce the number?  I never really
understood why you had so many.
  


It's not that it's messy, it's categorizing the instructions like they
are in the AMD manuals. They have a two level hierarchy for instruction
categories which I mimic with directories and files. Sometimes there are
only a few simple instructions in a category so the file is short. Also,
if a directory would have only one file in it, I just use the file
directly. The thing with X86 is that there are piles and piles and piles
of instructions which each have something like 4 or 5 different versions
not counting different processor modes, submodes, operand widths,
address widths, stack widths, immediate widths, addressing modes,
prefixes, blah blah blah blah blah. I compressed that substantially
using mostly the same type of templating mechanism as in the real (in
that patent) decoder, but it's still pretty enormous. They take the C in
CISC very seriously. You do end up with a lot of small files that way,
but I would argue that's a lot better than a 10,000 line long monster. I
can squish some of the smaller one together into a single file separated
by big chunky comments or something in the future to cut down on some of
the girth.

Also, not that I'm arguing, but why -do- we put the copyright on
everything directly?

  

Also, I haven't at any point in the
entire time I've been working with M5 done anything with the copyrights,
including the dates, other than change the authors line. The dates on files
I did are worked on are probably totally nonsense. Aren't copyrights good
for like a thousand years anyway?


Can you fix them up after the repository is done?  You should be
updating dates on any files that you make major revisions to.  We all
should.  Copyrights are generally between 50-100 years.
  


I'll try to 

Re: [m5-dev] Test Repository

2008-06-02 Thread nathan binkert
No because it wouldn't be clear.  I also don't want to go through the
lawyers again.  We're stuck with it the way it is.

  Nate

On Mon, Jun 2, 2008 at 6:39 PM, Gabe Black [EMAIL PROTECTED] wrote:
   Just to shorten things up a bit, would it be possible to somehow just add
 the extra clause for HP if the other copyright is already on there?
 Something like non-commercial blah blah, and then the stuff above too. It
 looks like it's basically the same text just with the extra couple of
 paragraphs at the top.

 Gabe

 We have to put the license on every file.  I agree that there are tons
 of files.  Can you clean that up to reduce the number?  I never really
 understood why you had so many.


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-01 Thread nathan binkert
 Looking through the mips directory for files that are just copyright MIPS
 and not UM

 interrupts.cc seems to be derived from alpha/interrupts.hh
 linux/linux.hh is exactly the same as alpha/linux/linux.hh with some
 constants changed
 linux/linux.cc is s/AlphaLinux/MipsLinux/g of alpha/linux/linux.cc
 mips_core_specific.cc is ev5.cc with most of the code commented out
 utility.cc has 25 lines verbatim from alpha/utility.cc
 regfile.cc is very similar to sparc/regfile.cc

For those files, are you willing to give me code that has what the
copyrights should be?  It should look like this:  (There are constants
called UM and MIPS that you can use instead of the full institution
name)

'src/dev/mips/MipsConsole.py' :
[(UM, [2007], ['Korey Sewell'])],

'src/dev/sparc/T1000.py' :
[(UM, [2006,2007], ['Gabe Black'])],

Thanks,
  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-01 Thread Gabe Black

Korey Sewell wrote:

 Is something coined as derived from a particular code because it
uses the same interface?
In some sense, any code you do within M5 has to be using that
interface in order for it to work.
Thus, isnt anything conforming to the whatever interface is defined derived?
  


   My understanding is that things using the same interface are not 
derived. If they use or are based on the same implementation, then I 
think they're considered derived. For instance, the MIPS predecoder you 
did at UM. I changed the interface for it when I added a predecoder, but 
since I didn't change the implementation (that I remember) it would be 
copyright UM and not HP. Maybe? It is a little confusing.



- i dont remember coding that getArgument() 25 lines. Gabe?
- MIPS (c) and I guess a UM (c) for that 25 line

   If you do

hg annotate arch/mips/utility.cc

you get a bunch of stuff with

5247: getArgument(ThreadContext *tc, int number, bool fp)
5247: {
5247: #if FULL_SYSTEM
5247: if (number  NumArgumentRegs) {
5247: if (fp)
5247: return tc-readFloatRegBits(ArgumentReg[number]);
5247: else
5247: return tc-readIntReg(ArgumentReg[number]);
5247: } else {

in it, and then if you do

hg log -r 5247

you get

changeset:   5247:7bacaaffcf59
parent:  5221:7814467db7f4
user:Korey Sewell [EMAIL PROTECTED]
date:Tue Nov 13 16:58:16 2007 -0500
summary: Add in files from merge-bare-iron, get them compiling in FS 
and SE mode


Now, I think this was where things were sort of bolted together in a 
less than ideal way, so I'm not sure who actually wrote that code. I did 
modify it to make ArgumentReg look up in an array rather than do an 
addition to a base, but other than that I don't think I'm responsible. 
If I had to guess, I'd say it originally came from Alpha, or maybe 
passed through SPARC on it's way from Alpha.


Gabe
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-06-01 Thread Gabe Black
Actually, I misspoke. The small files are the .py files in 
arch/x86/isa/insts/** which have a single variable declared holding 
microcode. The .isa files process them and do a few other things and 
tend to be longer.


Gabe

Gabe Black wrote:
   A few (a vast minority) of .isa files for x86 should have UM 
copyright on them. There are a couple which are copied basically from 
Alpha/SPARC which should be fairly obvious since I think they have 
other people in the authors. There are a few which I did a little with 
while working over the semester which could also have UM added. 
There's also a temporal issue where UM copyrights might not be 
applicable on changsets before a certain date, but to be technically 
correct should be applied afterwards. I think the cost of being super 
exact is more trouble than it's worth and over copyrighting stuff 
might be the way to go. Another thing I'm thinking is that a lot of 
those .isa files are fairly short, and having two copyrights on them 
could make them an order of magnitude (or more) longer than they would 
be otherwise. There's going to be a LOT of extra text there that might 
go better in a generic license file for all that code than in every 
single file. I'll leave that up to you guys. Also, I haven't at any 
point in the entire time I've been working with M5 done anything with 
the copyrights, including the dates, other than change the authors 
line. The dates on files I did are worked on are probably totally 
nonsense. Aren't copyrights good for like a thousand years anyway? 
Also, please ignore anything in here you guys have already addressed. 
Checking email is annoyingly slow so I'm reading these one at a time.


Gabe

nathan binkert wrote:

Found a couple of bugs this morning.  New version uploaded.  We're
getting to the point where everything is correct, and the main
questions I have are:

1) Should the UM copyright even be on the x86 .isa files?  Seems like
the instruction definitions at least shouldn't have any UM.  Gabe?
2) Should any of the MIPS files have the UM copyright on them?  Ali,
Korey?  Can you look at those?
3) Are there any files that should be removed from the repo?  right
now, I've removed: 'util/setup-web99', 'util/setup-spec',
'util/setup-specweb', 'util/greprevs', 'util/chgcopyright')
4) Are there any other copyrights or dates that should be fixed?
5) Anything else need to be done?

  Nate

On Sat, May 31, 2008 at 10:53 PM, nathan binkert [EMAIL PROTECTED] 
wrote:
 

I've uploaded a new version with fixes for Ali and a few other things.
 I know of no bugs in this revision.  Please find some.

 Nate

On Sat, May 31, 2008 at 10:14 PM, Steve Reinhardt [EMAIL PROTECTED] 
wrote:
   

I don't know if they should be updated or not... I didn't mean to
imply that they should be, just that if you were updating them you
weren't getting it right.

Steve

On Sat, May 31, 2008 at 10:04 PM, nathan binkert [EMAIL PROTECTED] 
wrote:
 

The dates weren't computed.  They were taken from the original files.
I only updated the copyright text, not the dates.  I could compute
them, but it seems that little tiny changes shouldn't cause a
copyright change and it would be somewhat challenging to figure out
which changes were big and which were small.  Do you think they 
should

be computed?

I think that particular SConscript copyright for example was just
copied by me when I started working on that code, and it just took a
long ass time for me to commit it.

 Nate

   

How are the copyright dates being computed?  I'm looking through
src/mem/cache, and they don't seem right at all... most of them have
dates that end in 2005, and the SConscript has a date of 2006 even
though hg shows that it was created in 2007 and modified in 2008.

Steve

On Fri, May 30, 2008 at 10:39 PM, nathan binkert 
[EMAIL PROTECTED] wrote:
 

Alright, after a bunch of tinkering, I think I've got a working
repository ready for export.  It can be found at 
m5sim.org:/repo/new


Please, please test things out.  Look at copyrights, check out old
revisions, look at more copyrights, please make sure I didn't mess
anything up.  I really need the help here.  I don't want to release
the repo and find out that I've screwed it all up.

I haven't done any test compiles in a while, so that sort of thing
would help too.

 Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev



___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


  

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev



___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


  

___
m5-dev mailing list
m5-dev@m5sim.org

Re: [m5-dev] Test Repository

2008-06-01 Thread nathan binkert
   A few (a vast minority) of .isa files for x86 should have UM copyright on
 them. There are a couple which are copied basically from Alpha/SPARC which
 should be fairly obvious since I think they have other people in the
 authors. There are a few which I did a little with while working over the
 semester which could also have UM added.
Can you list them?  I'm not going to go through them.

 There's also a temporal issue where
 UM copyrights might not be applicable on changsets before a certain date,
 but to be technically correct should be applied afterwards.
I don't get this.  You mean when you were at HP full time?

 I think the cost
 of being super exact is more trouble than it's worth and over copyrighting
 stuff might be the way to go. Another thing I'm thinking is that a lot of
 those .isa files are fairly short, and having two copyrights on them could
 make them an order of magnitude (or more) longer than they would be
 otherwise. There's going to be a LOT of extra text there that might go
 better in a generic license file for all that code than in every single
 file. I'll leave that up to you guys.
We have to put the license on every file.  I agree that there are tons
of files.  Can you clean that up to reduce the number?  I never really
understood why you had so many.

 Also, I haven't at any point in the
 entire time I've been working with M5 done anything with the copyrights,
 including the dates, other than change the authors line. The dates on files
 I did are worked on are probably totally nonsense. Aren't copyrights good
 for like a thousand years anyway?
Can you fix them up after the repository is done?  You should be
updating dates on any files that you make major revisions to.  We all
should.  Copyrights are generally between 50-100 years.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-05-31 Thread nathan binkert
 are all the patches supposed to be committed now in some order or do
 you want everything working as is?
You should be doing all of your work in mercurial queues.  All you'll
need to do is get everything into a patch, copy .hg/patches to the new
repo's .hg directory, and delete .hg/patches/status.  You can then
start doing your queue commands again.

 what's the process for editing code later? I'm assuming stable tree
 and developmental tree? Rules for checking in/out of both?
There should be just one m5 tree.  People can feel free to have
their own development trees, and we can create something akin to the
mercurial crew if we like.  In general, you shouldn't be committing
stuff to the main tree that isn't tested anyway.

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-05-31 Thread Gabe Black
I'm going to look at this now. Should I use the original one or is there 
an updated version?


Gabe

nathan binkert wrote:

I've done my testing and I'm mostly happy. I checked that the tags were
regenerated properly and that b4, b5, and tip all compile. Looking through a
diff of the old and new repository and didn't find anything wrong and I also
then greped the diff to remove the license text and didn't find much of
anything wrong with that either.


I found one bug.  On python files that have a #! line, if I added a
new copyright (because none existed), the copyright was added before
the #! line and not after.  I think I've fixed this.

  

One little thing that I noticed is that in the license  there is a space
after the * or # between the two main paragraphs sometimes between the
paragraphs and the authors and sometimes between the first line and the main
paragraphs.


Ok, I'll try to see if I understand why.  Can you give me a concrete
example of where this happens?

Thanks,

  Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev
  


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-05-31 Thread Gabe Black
BTW, I'm back on satellite internet again so don't expect this to be 
lightning quick.


Gabe

Nathan Binkert wrote:

I keep updating the original location

On May 31, 2008, at 3:20 PM, Gabe Black [EMAIL PROTECTED] wrote:

I'm going to look at this now. Should I use the original one or is 
there an updated version?


Gabe

nathan binkert wrote:
I've done my testing and I'm mostly happy. I checked that the tags 
were
regenerated properly and that b4, b5, and tip all compile. Looking 
through a
diff of the old and new repository and didn't find anything wrong 
and I also
then greped the diff to remove the license text and didn't find 
much of

anything wrong with that either.


I found one bug.  On python files that have a #! line, if I added a
new copyright (because none existed), the copyright was added before
the #! line and not after.  I think I've fixed this.


One little thing that I noticed is that in the license  there is a 
space

after the * or # between the two main paragraphs sometimes between the
paragraphs and the authors and sometimes between the first line and 
the main

paragraphs.


Ok, I'll try to see if I understand why.  Can you give me a concrete
example of where this happens?

Thanks,

 Nate
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev



___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-05-31 Thread nathan binkert
For those files in the x86 dir, we must put the HP non commercial
license.  The UM license is standard BSD, so for those files, we have
both.

On Sat, May 31, 2008 at 11:28 PM, Gabe Black [EMAIL PROTECTED] wrote:
 There are two copyrights on src/arch/x86/process.cc. Didn't we say we
 were putting multiple names on the same copyright?

 Gabe

 Gabe Black wrote:
 BTW, I'm back on satellite internet again so don't expect this to be
 lightning quick.

 Gabe

 Nathan Binkert wrote:
 I keep updating the original location

 On May 31, 2008, at 3:20 PM, Gabe Black [EMAIL PROTECTED] wrote:

 I'm going to look at this now. Should I use the original one or is
 there an updated version?

 Gabe

 nathan binkert wrote:
 I've done my testing and I'm mostly happy. I checked that the tags
 were
 regenerated properly and that b4, b5, and tip all compile. Looking
 through a
 diff of the old and new repository and didn't find anything wrong
 and I also
 then greped the diff to remove the license text and didn't find
 much of
 anything wrong with that either.

 I found one bug.  On python files that have a #! line, if I added a
 new copyright (because none existed), the copyright was added before
 the #! line and not after.  I think I've fixed this.


 One little thing that I noticed is that in the license  there is a
 space
 after the * or # between the two main paragraphs sometimes between the
 paragraphs and the authors and sometimes between the first line and
 the main
 paragraphs.

 Ok, I'll try to see if I understand why.  Can you give me a concrete
 example of where this happens?

 Thanks,

  Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Test Repository

2008-05-31 Thread nathan binkert
The dates weren't computed.  They were taken from the original files.
I only updated the copyright text, not the dates.  I could compute
them, but it seems that little tiny changes shouldn't cause a
copyright change and it would be somewhat challenging to figure out
which changes were big and which were small.  Do you think they should
be computed?

I think that particular SConscript copyright for example was just
copied by me when I started working on that code, and it just took a
long ass time for me to commit it.

  Nate

 How are the copyright dates being computed?  I'm looking through
 src/mem/cache, and they don't seem right at all... most of them have
 dates that end in 2005, and the SConscript has a date of 2006 even
 though hg shows that it was created in 2007 and modified in 2008.

 Steve

 On Fri, May 30, 2008 at 10:39 PM, nathan binkert [EMAIL PROTECTED] wrote:
 Alright, after a bunch of tinkering, I think I've got a working
 repository ready for export.  It can be found at m5sim.org:/repo/new

 Please, please test things out.  Look at copyrights, check out old
 revisions, look at more copyrights, please make sure I didn't mess
 anything up.  I really need the help here.  I don't want to release
 the repo and find out that I've screwed it all up.

 I haven't done any test compiles in a while, so that sort of thing
 would help too.

  Nate
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev