IRC logs for #openrisc Monday, 2012-11-12

@juliusburg, this is very frustrating, I am wanting to push m y latest mor1kx changes01:22
@juliusband git is being, well, a git01:22
@juliusbI checked out the openrisc account mor1kx thingo01:24
@juliusbthen did  amerge with my local version01:24
@juliusband now it says i'm on (no branch)01:24
@juliusband i can't push01:25
@juliusbTo ! [rejected]        master -> master (non-fast-forward)01:25
@juliusberror: failed to push some refs to ''01:25
@juliusbWTF does all of this mean?!?!?01:25
@juliusbTo prevent you from losing history, non-fast-forward updates were rejected01:25
@juliusbMerge the remote changes (e.g. 'git pull') before pushing again.  See the01:25
@juliusb'Note about fast-forwards' section of 'git push --help' for details.01:25
@juliusbi swear it wasn't this difficult last time01:25
@juliusband the other annoying thing is that I've tried this a few times and now have like 4 versions of this merge sitting around in my gitk01:26
@juliusbbut... I can't actually seem to getrid of them or see them show uip in the git branch -a output01:26
@juliusbso, I'm utterly confused01:26
@juliusbfor everyone telling me git is simple I have an example like this where it's just not intuitive and I have no idea where to go01:27
@juliusbI really don't know why this is more difficult to do01:27
@juliusbhere endeth my moaning01:28
simoncookno branch means that the commit you have checked out doesn't have a branch associated with it (e.g. you checkout a few commits earlier to start a branch there), not sure how you can accidently get there01:48
simoncookthe non-fast-forward comes from the head you are trying to push doesn't have some commit in its history that the remote head does, probably due to merging with the non-head commit. fixing that would be a case of fetching that head, remerging what you want and pushing with the remote head (i.e. if your remote is called origin, git fetch origin;git checkout origin/master; git merge <localbranch>;git push origin master)01:52
@stekernjuliusb: it's simple if you do it right ;)05:18
@stekernyou should just 'git pull -i' openrisc/mor1k to get your most recent changes ontop of the changes I've done05:19
@stekernyou should not merge05:19
@stekernsorry, 'git pull -r openrisc/mor1k'05:20
@stekerni.e. rebase your work ontop of openrisc/mor1k05:20
@stekernyou 'could' (but I advise you to rebase) merge, but then you have to do it from the openrisc/mor1kx point of view, i.e. merge in _your_ changes into openrisc/mor1kx and then push those05:23
@stekernnot merging in the changes from openrisc/mor1kx to juliusbaxter/mor1kx and try to push that to openrisc/mor1kx05:23
@stekernjuliusb: with branch detection in decode stage, the largest slow down seems to be in the lsu05:39
@stekernthis would probably help on cappuccino too:
@stekernbut at least the critical paths are _very_ consistant between spartan6 and cyclone IV now06:25
@stekernit's the address calculation going through the ALU and out on the wb-bus06:27
@stekernI'm going to try merging in that commit and see what happens, I've basically hacked that in as a test and I get ~80MHz then06:29
@stekernIt's a pity, I was hoping splitting up mem and wb would be able to solve this kind of problem, but since it's the address that is the long path it's not going to help in that case06:33
@stekernsplitting it up will be good for other reasons though, instead of always stalling one cycle when reading from dcache the pipeline will just advance06:37
@stekernit could maybe be possible to only register the address going out on the bus, and letting address to dcache go straight there06:43
@stekernbut the path is already pretty long when it reaches the cache06:44
@stekernhmm, but actually, why isn't the result from the alu already registered?07:18
@stekernmaybe I have misunderstood the pipeline layout of cappuccino, is the 'memstage' actually in execute stage?08:21
@stekernI thought the original fourstage was fetch, decode, execute, wb/mem08:22
@stekernbut it's actually fetch, decode, execute/mem, wb?08:22
@stekernthat would of course make a lot more sense, now when I start thinking about it08:28
@stekernso my mumbling about splitting wb/mem stage should really be about splitting execute/mem into seperate execute and mem stages, which will definetly help breaking that long address path08:32
@stekernquick synthesis test with only change being, connecting lsu's alu_result_i to the registered alu_result from ctrl shows fmax 80MHz10:01
@juliusbsimoncook: thanks for the explanation12:15
@juliusbstekern: I got on the openrisc/mor1kx branch and then attempted to merge in the juliusbaxter/mor1kx work, I'm pretty sure I did something like this last time, but anyway12:17
@juliusbI don't get the git pull -r thing. Which branch am I on when I do that and how do I push the "combined" work back to the openrisc/mor1kx repo12:18
@juliusbstekern: I did a nice little patch for the espresso LSU which registers the address before it comes out, so breaks the path out of the ALU, also registers the err signal on the way back in, I found those as two rather large paths through the LSU12:18
@juliusbputting the address out 1 cycle later has a 1 cycle latency hit on lookups, so not sure if it should be on all the time, but registering the error signal I think should be done always to break that path (comes in from the bus, goes all the way into the SPRs because it causes an exception)12:19
@juliusbstekern: ah yes I see you've already seen that patch12:20
@juliusbstekern: yes, memstage is basically in the execute stage for cappuccino, i basically merged them all12:22
@juliusbstekern: 80MHz fmax on Spartan6?12:22
@stekerncyclone iv12:31
@stekernbut I assume similiar on spartan612:31
@stekernre git pull -r, you are on juliusbaxter/mor1kx and do git pull -r openrisc/mor1kx12:33
@stekernand then you push that to openrisc/mor1kx12:33
@juliusbHmmm, OK12:36
@juliusbI'll give it a go sometime today or tomorrow12:36
@juliusbolof was heavying me for a release of the mor1kx12:38
@juliusbI think that'd be an OK idea12:38
@juliusbif we're at a stage where we're kinda happy to but a stake in the ground we should just do it12:38
@juliusbrelease early, release often ;)12:38
@juliusbmaybe sometime this week, we could punch one out12:39
@juliusbpush a release of mor1kx and mor1kx-dev-env12:41
@juliusbthat'd be nice12:41
@stekernsounds good12:49
@stekern(latency) yeah, that's why i'd like to have a proper pipeline stage for it12:50
@juliusbreleasing on git as as easy as tagging, righT?13:14
LoneTechspartan6 is very likely to outperform cyclone iv (6luts and shift register mode)13:59
@stekernLoneTech: yes, but in terms of mor1kx (from what I've seen so far at least) I get very similiar results on spartan6 and cyclone iv15:16
@stekernjuliusb: you have a virtex5 setup in mor1kx-devenv, right?15:16
@stekern...and releasing on git is as easy as tagging15:23
@stekernif you want to make a release, I'm happy with what I have in the tree now, the pending changes I'm working on now is going to be kind of huge15:25
@stekernthe lack of icache disable was the biggest wart waiting to get fixed15:25
@stekernspartan6 lands on 81 MHz with the branch detection in decode and registered alu_result to lsu15:29
@juliusbstekern: nice one, I'm seeing just under 60 for the shorter pipelines17:44
@juliusbon spartan6 that is17:44
@juliusbOK yes, I'd like to do a release17:44
@juliusbactually, some housekeeping first17:45
@juliusbI'd like to standardise the SPR units17:45
@juliusbrather, the peripheral units17:45
@juliusbthat's a glaring issue17:45
@juliusbcan work on it this week, then once I'm happy that we've gone some way to acheiving that then I think we'll be right17:45
@juliusbjemarch: good to see you at FSCONS this weekend man18:41
jemarchit was nice18:41
@juliusbstekern: now I have rebased my local stuff on your work, how do I push this to openrisc/mor1kx?18:44
@juliusband have it go onto the master branch there?18:44
@juliusbmy the openrisc/mor1kx remote is called openriscorg/master18:45
@juliusband my rebased master is just the master branch (or origin/master)18:46
@stekerngit push openriscorg master18:47
@juliusbi just tried to push my rebased thing to my master first and got:18:47
@juliusbTo ! [rejected]        master -> master (non-fast-forward)18:47
@juliusberror: failed to push some refs to ''18:47
@juliusbhint: Updates were rejected because the tip of your current branch is behind18:47
@juliusbhint: its remote counterpart. Merge the remote changes (e.g. 'git pull')18:47
@juliusbhint: before pushing again.18:47
@juliusbbut the git pull didn't work either18:48
@juliusbI admit I didn't do a git pull I did a rebase18:48
@stekernyes, that's natural18:48
@juliusbam I like massively retarded or something?!?!18:48
@juliusbI thought this would be quick and painelss18:48
@juliusband I thought I'd done it before18:48
@juliusbmy crying aside, I don't know what I'm doing wrong18:48
@stekernyour not doing anything wrong now18:49
@stekernpush to github now18:49
@stekernto openriscorg, I meant18:49
@juliusbnow that worked....18:50
mor1kx[mor1kx] juliusbaxter pushed 9 new commits to master:
mor1kxmor1kx/master b6ff2d7 Julius Baxter: bus_if_wb32: parameterise the burst length18:50
mor1kxmor1kx/master b10f1c7 Julius Baxter: pronto espresso: rewrite fetch stage...18:50
mor1kxmor1kx/master e03ee59 Julius Baxter: pronto espresso: add "sleep" functionality...18:50
@stekernthen you have two choices for your juliusbaxter/mor1kx repo18:50
@juliusbhaha wicked18:50
@stekern1) force push what you have now to juliusbaxter/mor1kx, you will cause headaches for people basing their work ontop of your repo, but they usually shouldn't since openrisc/mor1kx is the "official" one18:51
@stekern2) reset your local repo to what's in juliusbaxter/mor1kx and then git pull openrisc/mor1kx and push that18:52
@juliusbhmm, that's probably fine18:53
@stekernyou'll end up with duplicate commits, but the repo will stay "clean"18:53
@stekernpersonally, I'd treat my personal tree as a "throw away" tree18:55
@stekerni.e. 1)18:55
@stekernat least in the mor1kx case18:55
@juliusbyeah fair enough, I kinda agree18:57
@juliusbso, how do I pull openrisc/mor1kx?18:58
@juliusbso say I have a new repo?18:58
@stekernbut both should work, 2) might generate a bit more work in the future18:58
@juliusbi guess if openrisc/mor1kx is the main one and we're both just hacking on it and have our own trees but ultimately want to push to that one, that seems fine18:59
@juliusbhow do you usually commit to the openrisc/mor1kx?18:59
@stekerngit push19:00
@juliusbso you don't have an mor1kx play repo somewhere?19:00
@stekernyes, but it's a clone of openrisc/mor1kx19:00
@stekernpull openrisc/mor1kx? do you mean how you get your local repo to the state that that is in?19:02
@juliusbyeah I guess so19:03
@juliusbhow would I then update my repo under juliusbaxter.net19:03
@juliusbI guess, to be honest19:03
@juliusbmaybe I should just be throwing things up on branches on openrisc/mor1kx right?19:04
@juliusbhaha, that sounds odd19:04
@juliusbi mean, putting experimental work19:04
@stekerngit reset --hard openriscorg/master19:04
@stekerngit push origin master19:04
@stekerndon't throw up on the moron!19:04
@juliusbhmm, nope, still getting the "Updates ere rejected because the tip of your current branch is behind its remote counterpart..."19:10
@stekernsorry, git push -f origin master19:12

Generated by 2.15.2 by Marius Gedminas - find it at!