Re: [9fans] syscall 53

2014-05-22 Thread Aram Hăvărneanu
 I submit not having a proper DVCS is part of the problem for
 this.  The reason github is so successful is because it is so
 easy to upload code and then to collaborate, get bug fixes
 etc.  While some incomplete code in one's own src tree may not
 get looked at for a long time and ultimately may never see the
 light of the day. Github should use the slogan it doesn't
 /have/ to be ready for the world to see!.

You are mistaken, nobody prevents people from putting stuff on
sources, and nobody forces people to git push. In every case people
have to decide whether to share something or not.

-- 
Aram Hăvărneanu



Re: [9fans] syscall 53

2014-05-22 Thread erik quanstrom
 With all respect due to you and Mr Coraid (don't make mne look his

Coile.

- erik



Re: [9fans] syscall 53

2014-05-22 Thread erik quanstrom
   Is this the right place to discuss the actual procedure to include
   apatch in one's private Bell Labs' distribution?
 
   Is it preferable to use apatch within 9atom, or is it reasonably
   portable to the legacy (I presume that is what David intends
   with that moniker) distribution?

apatch is as specialized as patch in that it creates patches against the current
9atom tree.  patch is still there, and i often generate parallel patches for 
both
9atom and sources.  as long as your source hasn't drifted wrt the atom tree,
you can send an apatch from a 9atom, hybride or standard tree.

   Is there a willing participant who is prepared to offer backing
   storage for the target distribution(s) even when he or she
   disagrees with the outcome?  (And be vociferous both about
   disagreeing and accepting the outcome?) David, you've been good
   that way, are there others?  I'd like to think that we can
   leverage Plan 9's distributable properties to have more than one?
   I'd like to offer this myself, but I live at the bottom of an
   Internet gravity well, anyone with sufficient patience is welcome
   to approach me.

you are aware that you can mount the 9atom sources directly these days?

  nflag=-n srv $nflag -q tcp!atom.9atom.org atom /n/atom atom   # add to 9fs

- erik



Re: [9fans] syscall 53

2014-05-22 Thread lucio
 you are aware that you can mount the 9atom sources directly these days?

Sure, but then I'd have to commit harakiri as self-immolation is the
only avenue left to appease the Internet gods in the tip of Africa :-)

Still, I'll keep that in mind for occasional experimentation.

More seriously, we do need to start with a benchmark distribution that
everybody can buy into.  Maybe the right idea is to compute the
intersection of common sources for BL, 9atom, 9front, NmX et al.  and
try to shoehorn more into that framework.

Or maybe start with nothing and build from there, one patch at the
time?  What makes sense here?  There has to be some starting point.

Maybe the non-existent unreleased source?

L.





Re: [9fans] syscall 53

2014-05-22 Thread Kurt H Maier

Quoting lu...@proxima.alt.za:


Obvious, good grounds for a conspiracy theory.  Such code simply does
not exist, no matter how much you harp on it.  Next thing, you'll
insist I need to prove that it does not exist, putting you squarely in
the Creationists camp.


I don't need anyone to prove anything; I just need them to stop pretending
anyone gives a crap about e.g. 9front except 9front users.  9front is not
some kind of 'mission'; it's there because it serves our needs well.

For the record, hgfs does not depend on python.  It's currently read-only
but can be extended easily, in C.  It works within existing plan 9
paradigms and is one project I'm very excited to watch.

git offers nothing hg does not offer.  hg is already present and working on
my systems.  I do not now have, and do not foresee ever having, any desire
or need to use git on plan 9.  The only real reason people keep braying about
it is their habits on other operating systems.


(BTW: do not believe everything South African expatriates have to say.)


How about I pretend you didn't just call my wife a liar (a priori and for
absolutely no reason, to boot), and you stop pretending you have any insight
into her motivations and decision-making processes?  Thanks in advance.

khm





Re: [9fans] syscall 53

2014-05-21 Thread hiro
On 5/20/14, ron minnich rminn...@gmail.com wrote:
 Ah well, back to 'm' for this thread, and I now accept that this
 community is unwilling to solve this simple problem, as so many others
 have.  Bummer.

 ron



This is wrong.
I've already solved the problem in my local tree by accident.

Basically I've integrated a modified vc (I use an experimental 64bit
MIPS here - provided by the chinese government during my internship)
into systemd, which I ported to plan9 kernel space.
When I boot the system and a syscall is found missing, the kernel
simply recompiles itself (there is some heavy trickery involving
clusters of neural networks in a fiber network to make that work)

So even though this results from my other project as a byproduct, I'm
happy to share it.



Re: [9fans] syscall 53

2014-05-21 Thread lucio
 my Plan 9 environment is the only one that i feel i know and have control
 over; i don't feel the same about my (Canonical's) ubuntu desktop, my
 (Google's) chromebook, my (Apple's) macbook, my (T-Mobile/Google's) android
 phone, etc, etc, precisely because of auto-update.  i appreciate that they
 want to be my sysadm, but it means that i'm no longer an informed consumer.

It may not be a coincidence, but I'm going through the same phase.
I'm not yet paranoid, but I have been seriously contemplating moving
my (other) workstation to NetBSD because I am more comofortable that
there are no mysterious daemons lurking in its innards that I ought to
know about.

Like you, I am perfectly comfortable with my Plan 9 network and
continue to wish I did not have to supplement it with any of the
paranoia-inducing offering out there.

+L

PS: I have resurrected an old Nokia (5110, but I'm not sure) phone,
but it's been borrowed and I have my doubts that I will be seeing it
again any time soon.  Maybe this forum can help me decide what GSM
equipment is safe from interference by the networks and their
information masters?  My current hate-object is my Galaxy S4.





Re: [9fans] syscall 53

2014-05-21 Thread lucio
 but with codereview extensions now available, it might make sense to
 create/switch to a repository hosted on an hg site so that all the change
 requests, discussions and reviews are available to everyone

I think such a beast would provide the foundations for a serious
effort to bring the distributions back together.  I know many resist
such efforts because of Python (a pet hate of mine, even though I
don't know it from Adam), HG and codereview and I resist accusing them
of reactionary behaviour; I do wish we could get past that problem,
though.

++L





Re: [9fans] syscall 53

2014-05-21 Thread erik quanstrom
 PS: I have resurrected an old Nokia (5110, but I'm not sure) phone,
 but it's been borrowed and I have my doubts that I will be seeing it
 again any time soon.  Maybe this forum can help me decide what GSM
 equipment is safe from interference by the networks and their
 information masters?  My current hate-object is my Galaxy S4.

purchasing a phone directly from google allows one to cut
out the network operator. (to some extent.)  in theory the
cyanogenmod phone is less tied to google.  sadly, it doesn't
bluetooth-le, and i need that.

all options appear to me to boil down to walled gardens.
unless you build it yourself.

- erik



Re: [9fans] syscall 53

2014-05-21 Thread erik quanstrom
 I think such a beast would provide the foundations for a serious
 effort to bring the distributions back together.  I know many resist
 such efforts because of Python (a pet hate of mine, even though I
 don't know it from Adam), HG and codereview and I resist accusing them
 of reactionary behaviour; I do wish we could get past that problem,
 though.

fwiw...

i use a derivative of nemo's patch system.  all changes are applied through
patches.  anyone can comment on a patch, and comments, and patch
dispositions are mailed to everyone on the list.  the list is open to
general discussion.  the patch system allows folks to pull (not executables)
or apply patches themselves, so in spirit it's closer to git than hg.

i'm open to any sort of gateway to hg/codereview/git that folks find useful.
i just don't want hg to be a requirement.  one of the things i value about
plan 9 is the fact that it's a self-contained system.  requiring hg and websites
runs counter this.  i haven't carved out the time to do anything about it,
but patches are welcome.

i think a key bit to collaboration is going to be setting some ground rules.
and the most important one imho is having a clear goal.

off the top of my head, how about having the best plan 9 we can afford,
which runs on as much hardware, and as many vms as possible.  right out
of the box.

what do yall think?

- erik



Re: [9fans] syscall 53

2014-05-21 Thread Kurt H Maier

Quoting lu...@proxima.alt.za:


PS: I have resurrected an old Nokia (5110, but I'm not sure) phone,
but it's been borrowed and I have my doubts that I will be seeing it
again any time soon.  Maybe this forum can help me decide what GSM
equipment is safe from interference by the networks and their
information masters?  My current hate-object is my Galaxy S4.


I recommend the nokia 6700 classic, as it's one of the best s40 phones
that still supports real gps (including offline maps and routing).  The
only caveat to s40 is the nokia xpress browser, which does pre-rendering
on nokia (now microsoft) servers, even for https traffic.

khm





Re: [9fans] syscall 53

2014-05-21 Thread Skip Tavakkolian
i like git.  as it is a kind of archival file system, one should be able to
build a plan9 file system interface for it.



On Wed, May 21, 2014 at 9:25 AM, erik quanstrom quans...@quanstro.netwrote:

  I think such a beast would provide the foundations for a serious
  effort to bring the distributions back together.  I know many resist
  such efforts because of Python (a pet hate of mine, even though I
  don't know it from Adam), HG and codereview and I resist accusing them
  of reactionary behaviour; I do wish we could get past that problem,
  though.

 fwiw...

 i use a derivative of nemo's patch system.  all changes are applied through
 patches.  anyone can comment on a patch, and comments, and patch
 dispositions are mailed to everyone on the list.  the list is open to
 general discussion.  the patch system allows folks to pull (not
 executables)
 or apply patches themselves, so in spirit it's closer to git than hg.

 i'm open to any sort of gateway to hg/codereview/git that folks find
 useful.
 i just don't want hg to be a requirement.  one of the things i value about
 plan 9 is the fact that it's a self-contained system.  requiring hg and
 websites
 runs counter this.  i haven't carved out the time to do anything about it,
 but patches are welcome.

 i think a key bit to collaboration is going to be setting some ground
 rules.
 and the most important one imho is having a clear goal.

 off the top of my head, how about having the best plan 9 we can afford,
 which runs on as much hardware, and as many vms as possible.  right out
 of the box.

 what do yall think?

 - erik




Re: [9fans] syscall 53

2014-05-21 Thread lucio
 i think a key bit to collaboration is going to be setting some ground rules.
 and the most important one imho is having a clear goal.

To keep the ball rolling, let me suggest that we drop the requirement
that Plan 9 be self-contained as a measure to make some progress with
existing expertise.  I wish we could keep Plan 9 as the sole
foundation, but I think that's just not viable, I feel treasonous
suggesting otherwise, but I'm merely stating my sentiments, not
imposing a rule here.

At the same time, the danger that Pyhton-HG-Codeview and web access
all somehow become unviable for the Plan 9 community (who knows,
there's a lot of ugliness out there and, in my opinion, it is
growing), I would like to propose a backup plan to ensure that
developments are tracked outside of the HG.

I used CVS with some success in the past in parallel with HG while Go
for Plan 9 was still in its infancy, but it was a bit of a mission and
I could not sustain it when the transition from make to go-tool
took place: the changes were coming too thick and fast.  Maybe hiro's
fibre-optic based neural network will make the next efforts succeed (I
restarted the CVS project in an effort to get the ARM developments of
Go for Plan 9 in sync, but three months down the line I'm still
precisely nowhere with that plan).

Something to provide a similar, this time successful, safeguard would
be great, some (including me) would no doubt say essential.  I'd love
to add a new-thought (new-age?) version control system based on venti
and proto to Plan 9 and be the envy of the competition, but it would
be a big project and more pressing issues in Plan 9 have much higher
priority and more likelihood of success, in my opinion.

I think we can all benefit from taking this discussion further, if only
to explore how others are addressing the shortcomings of Plan 9
development and evolution and possibly discover new ways to deal with
our own problems.  No need to get political about it, what we need is
some facts, some good or bad advice, some humour and, because this is
9fans, after all, some conflict.

++L





Re: [9fans] syscall 53

2014-05-21 Thread lucio
 all options appear to me to boil down to walled gardens.
 unless you build it yourself.

I do wish the news was better, but at least I don't have to feel
alone.  Thanks, Erik.

++L





Re: [9fans] syscall 53

2014-05-21 Thread erik quanstrom
 To keep the ball rolling, let me suggest that we drop the requirement
 that Plan 9 be self-contained as a measure to make some progress with
 existing expertise.  I wish we could keep Plan 9 as the sole
 foundation, but I think that's just not viable, I feel treasonous
 suggesting otherwise, but I'm merely stating my sentiments, not
 imposing a rule here.

can you explain why is this not viable?  what essential bits would be
missing if hg/git/whatever is not tightly integrated into the process?

- erik



Re: [9fans] syscall 53

2014-05-21 Thread sl
 i use a derivative of nemo's patch system.

Where is this in the 9atom tree? Did you replace the old
patch(1) entirely?

sl



Re: [9fans] syscall 53

2014-05-21 Thread erik quanstrom
On Wed May 21 14:28:51 EDT 2014, s...@9front.org wrote:
  i use a derivative of nemo's patch system.
 
 Where is this in the 9atom tree? Did you replace the old
 patch(1) entirely?

good question.  the commands are all apatch/create, apatch/note, etc.
patch(1) is not replaced, and the patch commands are intact.  i need
them as i try to send as many patches in to sources as possible.

9diff(1) is a nifty little hack.

- erik



Re: [9fans] syscall 53

2014-05-21 Thread lucio
 can you explain why is this not viable?  what essential bits would be
 missing if hg/git/whatever is not tightly integrated into the process?

Maybe I didn't explain well: self-contained Plan 9 does not provide
code review tools.  Whereas I can follow (I have learnt to) the
conventions of codereview (as used in Go, by whatever name), I do not
expect less disciplined approaches to be as appealing and successful
as codereview, maybe that's just me, but I am speaking for myself and
measuring the 9fans community by the same metric.

Ergo: Plan 9 does not (yet?) contain sufficient tools to be
self-sustaining.  We're human and we're subjective individuals.  We
have a very weak bond holding this community together, consisting, at
least in my case, more of what other OSes are missing than of any
loyalty to what we have.  Whatever we deploy to provide a platform for
progress needs to be stronger than the criticism that will be levelled
at it; it needs firm buy-in by the community.  I, for one, would need
some hard sell to consider patch and its offspring as sufficient and
much more to convince me that it would be technically superior to
codereview, others may well be even more hard-assed than I am, and
their skills and contributions are too important to sacrifice.

Strong words?  Definitely, 9fans has survived past worse and will
again, so they need not be taken to heart.  But we do risk falling too
far behind to ever be of any significance and that would be our loss
as well as a loss for the entire IT community.

Again, I'm being subjective, by all means keep throwing your stones.
A thin skin here is not going to help.

++L





Re: [9fans] syscall 53

2014-05-21 Thread Steffen Nurpmeso
Skip Tavakkolian skip.tavakkol...@gmail.com wrote:
 |i like git.  as it is a kind of archival file system, one should be able to
 |build a plan9 file system interface for it.

Funky idea.
After reading through some Plan9 papers i had the impression that
the backing store of git(1) was designed with Venti in mind
(except that garbage collection is possible), so that would be
some kind of coming home.

--steffen



Re: [9fans] syscall 53

2014-05-21 Thread erik quanstrom
 Ergo: Plan 9 does not (yet?) contain sufficient tools to be
 self-sustaining.  

we've managed for years

 at it; it needs firm buy-in by the community.  I, for one, would need
 some hard sell to consider patch and its offspring as sufficient and
 much more to convince me that it would be technically superior to
 codereview, others may well be even more hard-assed than I am, and
 their skills and contributions are too important to sacrifice.

i'd encourage you to try participating with apatch, and the mailing
list.

i would find specific issues easier to reason about than
technically superior.

- erik



Re: [9fans] syscall 53

2014-05-21 Thread Bakul Shah
On Wed, 21 May 2014 09:56:26 PDT Skip Tavakkolian skip.tavakkol...@gmail.com 
wrote:
 
 i like git.  as it is a kind of archival file system, one should be able to
 build a plan9 file system interface for it.

Have you looked at porting git to plan9? 178K lines of *.[ch].
20K lines of shell scripts (+ 100K+ lines of test scripts).
Also python and perl scripts.

All SCM are in some sense archival systems but the actual
storage scheme used is just one tiny part of the system.
There are a few more requirements which a simple filesystem
model won't satisfy by itself.  Consider:

This is the most fundamental operation of a SCM is to manage
source code updates sanely.  Suppose you had to change files
f1..fn to implement a feature/bugfix.  Now you want to check
them in and share these changes with others. But the checkin
should succeed *only if* the latest versions of f1..fn in the
underlying filesystems are the *same* as the ones you started
from. If this is not true, the entire checkin must be aborted.
It is upto the developer to merge his changes with the latest
versions and try again. [Essentially you are doing a
compare-and-swap operation on a set of files]

You can single thread this through a human but the problem
remains the same and a human (without additional tools) will
not be able to check all this reliably.  For a collaborative,
distributed project where different people may work on
different parts, a human in the middle is not a scalable
solution.  The only reason for a manual SCM is to *slow down*
the rate of change.

Then there other operations like maintaining separate
branches, merging/cherry picking changes from another branch,
reverting from local changes, rolling back a bad checkin,
pushing changes to a shared repo, pulling from it, access
control, etc. etc.

You can certainly build something on top of venti to build a
nice SCM but that would be a researchy project.

Given all this I think hg makes a good compromise if you want
to move forward from the status-quo.



Re: [9fans] syscall 53

2014-05-21 Thread Kurt H Maier

Quoting Skip Tavakkolian skip.tavakkol...@gmail.com:


i like git.  as it is a kind of archival file system, one should be able to
build a plan9 file system interface for it.



This should be possible for any reasonably sane scm; c.f. cinap's hgfs.

But all the DVCS in the world doesn't let us see code that is never uploaded
in the first place.  I can't even count the number of programs that are only
even known by oral tradition, mentioned only in passing, then never to be
heard of again. Oh, I'll upload it when it's ready.  Years go past: nobody
has even defined 'ready.'  Nowadays when someone says it's not ready for
the world to see I just read I am a liar and I have nothing.

Plan 9 is fully self-sufficient;  code review tools don't review code.
People review code.  They just have to see the code first.

khm




Re: [9fans] syscall 53

2014-05-21 Thread lucio
 i'd encourage you to try participating with apatch, and the mailing
 list.
 
Conceded.  I never meant to suggest that one shouldn't, merely that it
could be asking for a leap of faith.  I have something waiting
specifically for this opportunity.

So let me ask a few questions.

Is this the right place to discuss the actual procedure to include
apatch in one's private Bell Labs' distribution?

Is it preferable to use apatch within 9atom, or is it reasonably
portable to the legacy (I presume that is what David intends
with that moniker) distribution?

Is there a willing participant who is prepared to offer backing
storage for the target distribution(s) even when he or she
disagrees with the outcome?  (And be vociferous both about
disagreeing and accepting the outcome?) David, you've been good
that way, are there others?  I'd like to think that we can
leverage Plan 9's distributable properties to have more than one?
I'd like to offer this myself, but I live at the bottom of an
Internet gravity well, anyone with sufficient patience is welcome
to approach me.

Is it worth it to get going immediately, or should further
discussion take place?  Whose opinions ought we to be canvassing,
are there parties that ought to be reached outside of 9fans?  Any
deities we need to burn offerings to?

Do we need additional discussion forums (fora, for the pedants)
for the more thin-skinned contributors (or for any other need to
keep community members from falling out with each other)?

Are there any other questions I'm missing from my somewhat limited
and remote perspective?

 i would find specific issues easier to reason about than
 technically superior.

Touché.  Although it's kind of obvious I wouldn't be welcome to say
subjectively superior instead, right?

++L





Re: [9fans] syscall 53

2014-05-21 Thread lucio
 Ergo: Plan 9 does not (yet?) contain sufficient tools to be
 self-sustaining.  
 
 we've managed for years

With all respect due to you and Mr Coraid (don't make mne look his
name up, he's so conspicuosly absent on this list, even his hallowed
name has faded - bless him :-) for all you have contributed, Coraid
is as exceptional as Cuba (and more successful, to our relief, no
doubt).

But that was a formidable battle (nay, a full-out war) you waged
against all odds and at some stage it must have felt as if the USSR
stood a greater chance against Reagan and Thatcher combined.

I doff my hat, but I'm not going to start believing in miracles any
time soon, much as this is one miracle I would like to see and I
think, at minimum, you've overcome the five-year survival barrier.

++L





Re: [9fans] syscall 53

2014-05-21 Thread lucio
 But all the DVCS in the world doesn't let us see code that is never uploaded
 in the first place.

Obvious, good grounds for a conspiracy theory.  Such code simply does
not exist, no matter how much you harp on it.  Next thing, you'll
insist I need to prove that it does not exist, putting you squarely in
the Creationists camp.

(BTW: do not believe everything South African expatriates have to say.)

++L





Re: [9fans] syscall 53

2014-05-21 Thread Bakul Shah
On Thu, 22 May 2014 03:43:15 - Kurt H Maier k...@sciops.net wrote:
 
 But all the DVCS in the world doesn't let us see code that is never uploaded
 in the first place.  I can't even count the number of programs that are only
 even known by oral tradition, mentioned only in passing, then never to be
 heard of again. Oh, I'll upload it when it's ready.  Years go past: nobody
 has even defined 'ready.'  Nowadays when someone says it's not ready for
 the world to see I just read I am a liar and I have nothing.

I submit not having a proper DVCS is part of the problem for
this.  The reason github is so successful is because it is so
easy to upload code and then to collaborate, get bug fixes
etc.  While some incomplete code in one's own src tree may not
get looked at for a long time and ultimately may never see the
light of the day. Github should use the slogan it doesn't
/have/ to be ready for the world to see!.



Re: [9fans] syscall 53

2014-05-20 Thread Anthony Sorace
Ron wrote:

 That said, the problems were due (IMHO) to a limitation in the
 update mechanism, not to the inclusion of a new system call.

This is true depending on how you define update mechanism.
A simple note from whoever made the decision to push the
change out to the effect of hey, we're going to add a new
syscall, update your kernels before pulling new binaries a
while before the push would have been sufficient.

 I think it's a good time to review how the update path works
 and fix it.

Again, I agree, provided that definition's broad enough to
include the communication channel. We've gotten notices of
potentially disruptive changes here in the past, and that's been
fine (even if the disruption is inconvenient for some). Without
that sort of communication, doing actual pulls from sources
(regardless of the technical mechanism used) seems dangerous.

Anthony



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [9fans] syscall 53

2014-05-20 Thread erik quanstrom
  That said, the problems were due (IMHO) to a limitation in the
  update mechanism, not to the inclusion of a new system call.
 
 This is true depending on how you define update mechanism.
 A simple note from whoever made the decision to push the
 change out to the effect of hey, we're going to add a new
 syscall, update your kernels before pulling new binaries a
 while before the push would have been sufficient.

technology doesn't solve human communiction problems.

here's the Official Meme.  simply s/spam/update issues/g
and you're good:

https://craphound.com/spamsolutions.txt

- erik



Re: [9fans] syscall 53

2014-05-20 Thread ron minnich
I have a different perspective. There are millions of chromebooks out
there updating all the time, from the firmware to the kernel to the
root file system to everything. It all works.

If you are telling me that the upgrade technology of Plan 9 can not
handle an automatic upgrade, fine; we have the proof.

If you are telling me Plan 9 should not or never will be able to
handle an automatic upgrade, and is going to require a heads up email
for each kernel change, I have a hard time taking that seriously.

This is not a human communication problem. It's a technology problem,
trivially solved for many years now by many systems.

ron



Re: [9fans] syscall 53

2014-05-20 Thread Bakul Shah
On Mon, 19 May 2014 17:34:24 EDT Anthony Sorace a...@9srv.net wrote:
 
 Ron wrote:
 
  That said, the problems were due (IMHO) to a limitation in the
  update mechanism, not to the inclusion of a new system call.
 
 This is true depending on how you define update mechanism.
 A simple note from whoever made the decision to push the
 change out to the effect of hey, we're going to add a new
 syscall, update your kernels before pulling new binaries a
 while before the push would have been sufficient.

I never understood why binaries are pulled. Even on a lowly
RPi it takes 4 minutes to build everything (half if you cut
out gs). And the 386 binaries are useless on non-386
platforms!

Why not just separate binary and source distributions?  Then
include a file in the source distribution to warn people about
changes such as this one (or the one about 21bit unicode) and
how to avoid painting yourself in a corner. The binary distr.
should have a provision for *only* updating the kernel and
insisting the user boots off of it before further updates can
proceed.

This is a solved problem; not exactly rocket science.  The
harder problem is the social one.



Re: [9fans] syscall 53

2014-05-20 Thread erik quanstrom
On Tue May 20 12:42:35 EDT 2014, rminn...@gmail.com wrote:
 I have a different perspective. There are millions of chromebooks out
 there updating all the time, from the firmware to the kernel to the
 root file system to everything. It all works.
 
 If you are telling me that the upgrade technology of Plan 9 can not
 handle an automatic upgrade, fine; we have the proof.
 
 If you are telling me Plan 9 should not or never will be able to
 handle an automatic upgrade, and is going to require a heads up email
 for each kernel change, I have a hard time taking that seriously.
 
 This is not a human communication problem. It's a technology problem,
 trivially solved for many years now by many systems.

leaving aside the fact that plan 9 is software that installs everywhere and
users can be expected to modify any and all system components, and that
android is a hardware appliance running essentially a binary blob

if we had a perfect update mechanism that did ota updates seamlessly,
it would not address the issue i'm trying to raise.  

since people modify the system, and there's a community built around
this, it would be extremely helpful if big system changes where communicated.

- erik



Re: [9fans] syscall 53

2014-05-20 Thread erik quanstrom
 I never understood why binaries are pulled. Even on a lowly
 RPi it takes 4 minutes to build everything (half if you cut
 out gs). And the 386 binaries are useless on non-386
 platforms!
 
 Why not just separate binary and source distributions?  Then
 include a file in the source distribution to warn people about
 changes such as this one (or the one about 21bit unicode) and
 how to avoid painting yourself in a corner. The binary distr.
 should have a provision for *only* updating the kernel and
 insisting the user boots off of it before further updates can
 proceed.

i think this is a good idea.  the 9atom usb installer builds the
full set of executables for the arches you want as part of the
install.  it reduces the size of the install image by at least 20MB
per installed architecture.  given the sad state of broadband
in many places, i'm hoping this is a good tradeoff.

- erik



Re: [9fans] syscall 53

2014-05-20 Thread Kurt H Maier

Quoting ron minnich rminn...@gmail.com:


I have a different perspective. There are millions of chromebooks out
there updating all the time, from the firmware to the kernel to the
root file system to everything. It all works.


Millions of carefully-crafted machines updating all the time, from the  
firmware

to the kernel, *as long as the user doesn't actually do anything with the
computer*.  Pushing updates to your pet web browser is a very different task
than supporting a general-purpose operating system.

I can only assume you know that, so is this irrelevant tangent deliberate
misdirection or a symptom of an honest misunderstanding of the situation?

khm




Re: [9fans] syscall 53

2014-05-20 Thread ron minnich
Ah well, back to 'm' for this thread, and I now accept that this
community is unwilling to solve this simple problem, as so many others
have.  Bummer.

ron



Re: [9fans] syscall 53

2014-05-20 Thread erik quanstrom
On Tue May 20 15:50:56 EDT 2014, rminn...@gmail.com wrote:
 Ah well, back to 'm' for this thread, and I now accept that this
 community is unwilling to solve this simple problem, as so many others
 have.  Bummer.

nobody said that.  there's a difference between noting a strawman
argument, and pointing out that one feels that there is a different
issue that's more important to solve, and being unwilling to address
an issue.

- erik



Re: [9fans] syscall 53

2014-05-20 Thread Kurt H Maier

Quoting ron minnich rminn...@gmail.com:


Ah well, back to 'm' for this thread, and I now accept that this
community is unwilling to solve this simple problem, as so many others
have.  Bummer.

ron


Deliberate misdirection then; got it.

I'm sorry you're sad, but comparing plan freaking 9 to an operating system
backed by a megacorp with a blue-sky rd budget is silly and in no way
productive.  Your magic update process completely ignores the question of
whether clients even *want* any given patch installed on their system,
which is the actual issue under discussion here.

khm




Re: [9fans] syscall 53

2014-05-20 Thread Jeff Sickel

On May 20, 2014, at 11:41 AM, ron minnich rminn...@gmail.com wrote:

 This is not a human communication problem. It's a technology problem,
 trivially solved for many years now by many systems.

This event was a communication problem.

The technology, replica, works as advertised.  In general it does
a very good job at maintaining server-client updates and allows
you to work around differences in a way some may prefer over other
options that are out there.

The technology, Plan 9 (and forks), have rather clean mechanisms
already in place to go through the classic development operation
cycle of

think — edit — make — test ...

The feedback loop, like all, requires communication protocols
to complete the iteration and move the cycle to the next step.

How many of those chromebooks have customized kernels to support
drivers undergoing new development?  And of those that do run custom
kernels, are they getting automatic updates w/o a bill of materials
or other list defining what will be updated?  And are the developers
working on those custom versions working in a vacuum or do they have
communication protocols in place to facilitate their working environment?

For all practical purposes, 9fans is the last remaining forum for people
interested in using Plan 9 related systems.  Please advise if you have
recommendations for other communications outlets that allow people to
develop, test, and maybe improve on ideas brought about by this system
many of us find enough interest in to actually use.

-jas




Re: [9fans] syscall 53

2014-05-20 Thread Skip Tavakkolian
my Plan 9 environment is the only one that i feel i know and have control
over; i don't feel the same about my (Canonical's) ubuntu desktop, my
(Google's) chromebook, my (Apple's) macbook, my (T-Mobile/Google's) android
phone, etc, etc, precisely because of auto-update.  i appreciate that they
want to be my sysadm, but it means that i'm no longer an informed consumer.


On Tue, May 20, 2014 at 9:41 AM, ron minnich rminn...@gmail.com wrote:

 I have a different perspective. There are millions of chromebooks out
 there updating all the time, from the firmware to the kernel to the
 root file system to everything. It all works.

 If you are telling me that the upgrade technology of Plan 9 can not
 handle an automatic upgrade, fine; we have the proof.

 If you are telling me Plan 9 should not or never will be able to
 handle an automatic upgrade, and is going to require a heads up email
 for each kernel change, I have a hard time taking that seriously.

 This is not a human communication problem. It's a technology problem,
 trivially solved for many years now by many systems.

 ron




Re: [9fans] syscall 53

2014-05-20 Thread Skip Tavakkolian
yes, it was a lack of *any* notice; i occasionally check /n/sources/patch
for incoming patches and i don't believe the NSEC patch went through that
channel. in the past, changes that had a system-wide or kernel effect were
announce, and instructions for upgrading were given. certainly, it's not
required; but it is appreciated.

i believe any successful Plan 9 distro will need to provide some
transparency in the change review process. the sources patch process can
work, but with codereview extensions now available, it might make sense to
create/switch to a repository hosted on an hg site so that all the change
requests, discussions and reviews are available to everyone;  perhaps this
is what Charles had in mind for http://code.google.com/p/plan9, but i'm not
sure.

-Skip

On Tue, May 20, 2014 at 1:33 PM, Jeff Sickel j...@corpus-callosum.comwrote:


 On May 20, 2014, at 11:41 AM, ron minnich rminn...@gmail.com wrote:

  This is not a human communication problem. It's a technology problem,
  trivially solved for many years now by many systems.

 This event was a communication problem.

 The technology, replica, works as advertised.  In general it does
 a very good job at maintaining server-client updates and allows
 you to work around differences in a way some may prefer over other
 options that are out there.

 The technology, Plan 9 (and forks), have rather clean mechanisms
 already in place to go through the classic development operation
 cycle of

 think — edit — make — test ...

 The feedback loop, like all, requires communication protocols
 to complete the iteration and move the cycle to the next step.

 How many of those chromebooks have customized kernels to support
 drivers undergoing new development?  And of those that do run custom
 kernels, are they getting automatic updates w/o a bill of materials
 or other list defining what will be updated?  And are the developers
 working on those custom versions working in a vacuum or do they have
 communication protocols in place to facilitate their working environment?

 For all practical purposes, 9fans is the last remaining forum for people
 interested in using Plan 9 related systems.  Please advise if you have
 recommendations for other communications outlets that allow people to
 develop, test, and maybe improve on ideas brought about by this system
 many of us find enough interest in to actually use.

 -jas





Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
 Which raises another question: are 9atom and 9front in synch with the
 BL distribution (itself in question) regarding syscall 53?

9atom is not.  i didn't know that it was added, nor do i 
know why nsec was added as a syscall.

i indirectly heard go needs it, but that is not really a reason
i can understand technically.  why must it be a system call?

getting ahead of myself, if the problem is shared memory vs
shared fds, then the solution is easy: fix nsec in the c library.
don't save a copy of the fd.  that leads to trouble.  (the new
call takes ~6µs on my e3 v2)

if the problem is getting very low-latency timing, or relative
timing, then the solution is still easy: use the timestamp counter.
no version of nsec works for relative timing due to timesync
adjustments!

i'm sure there are other possibilities, i don't think i see them without
an explination.  so if anyone has anything else, that would be
interesting.

- erik

---
; cat /sys/src/libc/9sys/nsec.c
#include u.h
#include libc.h

vlong
nsec(void)
{
uchar b[8];
int fd;

fd = open(/dev/bintime, OREAD);
if(fd != -1)
if(pread(fd, b, sizeof b, 0) == sizeof b){
close(fd);
return getbe(b, sizeof b);
}
close(fd);
return 0;
}



Re: [9fans] syscall 53

2014-05-19 Thread lucio
 i indirectly heard go needs it, but that is not really a reason
 i can understand technically.  why must it be a system call?

Actually, Go raised an important alert, quite indirectly: when using
high resolution timers, the issue of opening a device, reading it and
converting the input value to a binary value can and in this case is
very expensive.

Curiously, the actual symptom - I cannot remember how it came about -
was that using the timer leaked file descriptors, or, more likely,
gave the impression of leaking file descriptors.  But the reality is
that nanosecond accuracy cannot be achieved from reading a device by
conventional means.

++L





Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
On Mon May 19 10:04:28 EDT 2014, lu...@proxima.alt.za wrote:
  i indirectly heard go needs it, but that is not really a reason
  i can understand technically.  why must it be a system call?
 
 Actually, Go raised an important alert, quite indirectly: when using
 high resolution timers, the issue of opening a device, reading it and
 converting the input value to a binary value can and in this case is
 very expensive.

 Curiously, the actual symptom - I cannot remember how it came about -
 was that using the timer leaked file descriptors, or, more likely,
 gave the impression of leaking file descriptors.  But the reality is
 that nanosecond accuracy cannot be achieved from reading a device by
 conventional means.

i think my original question still stands.  what is the purpose of timing,
what is the desired accuracy and precision, and is a relative or absolute
time wanted?  

a relative time (say a time adjusted with timesync, including leap seconds, etc)
is not what you want if you want relative timing.  something like the
timestamp counter makes a lot more sense.

i took a quick look at the runtime·nanotime, and it looks like it's being
used for gettimeofday, which shouldn't be super performance sensitive.

- erik



Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
On Mon May 19 12:26:00 EDT 2014, quans...@quanstro.net wrote:
 On Mon May 19 10:04:28 EDT 2014, lu...@proxima.alt.za wrote:
   i indirectly heard go needs it, but that is not really a reason
   i can understand technically.  why must it be a system call?
  
  Actually, Go raised an important alert, quite indirectly: when using
  high resolution timers, the issue of opening a device, reading it and
  converting the input value to a binary value can and in this case is
  very expensive.
 
  Curiously, the actual symptom - I cannot remember how it came about -
  was that using the timer leaked file descriptors, or, more likely,
  gave the impression of leaking file descriptors.  But the reality is
  that nanosecond accuracy cannot be achieved from reading a device by
  conventional means.
 
 i think my original question still stands.  what is the purpose of timing,
 what is the desired accuracy and precision, and is a relative or absolute
 time wanted?  

also, one cannot get close to 1ns precision with a system call.  a system call
takes a bare minimum of 400-500ns on 386/amd64.

- erik



Re: [9fans] syscall 53

2014-05-19 Thread lucio
 i took a quick look at the runtime·nanotime, and it looks like it's being
 used for gettimeofday, which shouldn't be super performance sensitive.

I'm on thin ice here, but I seem to remember that the crucial issue
was the resolution (nanosecond) and the expectation that Plan 9 would
have to match (for portability purposes) the quality available on
other operating system.

Curiously, I'm pretty certain that it was the issue of an fd that
remained open (something to do with caching the /dev/time fd, if I
remember right) that caused some tests to fall apart, probably because
a test for leaking fds actually needed to cache the time of day for
time out purposes.

Two birds with one stone?  On the one hand you gain accuracy and on
the other you actually successfully complete the tests.

++L





Re: [9fans] syscall 53

2014-05-19 Thread lucio
 also, one cannot get close to 1ns precision with a system call.  a system call
 takes a bare minimum of 400-500ns on 386/amd64.

Sure, but accessing /dev/time is, if I guess right, orders of
magnitude slower, specially if you have to open the device first.

As far as I know, that was the only choice, to start with.

++L





Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
On Mon May 19 13:17:59 EDT 2014, lu...@proxima.alt.za wrote:
  also, one cannot get close to 1ns precision with a system call.  a system 
  call
  takes a bare minimum of 400-500ns on 386/amd64.
 
 Sure, but accessing /dev/time is, if I guess right, orders of
 magnitude slower, specially if you have to open the device first.

the full operation open/read/close/convert takes 6µs on my machine,
and a system call takes about 750ns.

getting the kitchen time should not need better than 6µs.  if this
were relative timing, i would understand, but it's not.

- erik



Re: [9fans] syscall 53

2014-05-19 Thread Charles Forsyth
On 19 May 2014 18:13, lu...@proxima.alt.za wrote:

 Curiously, I'm pretty certain that it was the issue of an fd that
 remained open (something to do with caching the /dev/time fd, if I
 remember right) that caused some tests to fall apart, probably because
 a test for leaking fds actually needed to cache the time of day for
 time out purposes.


That was entirely the result of a botched attempt to optimise something.
Remove that botched optimisation, and that problem goes away.


Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
 On 19 May 2014 18:13, lu...@proxima.alt.za wrote:
 
  Curiously, I'm pretty certain that it was the issue of an fd that
  remained open (something to do with caching the /dev/time fd, if I
  remember right) that caused some tests to fall apart, probably because
  a test for leaking fds actually needed to cache the time of day for
  time out purposes.
 
 
 That was entirely the result of a botched attempt to optimise something.
 Remove that botched optimisation, and that problem goes away.

+1, or rather, exactly.

- erik



Re: [9fans] syscall 53

2014-05-19 Thread Aram Hăvărneanu
There are two separate issues here. First, there's the issue of
whether 9front and 9atom should incorporate the change.

For purely egoistic reasons, I'd like that, regardless of the
technical merits of the change. I regulary test labs software on
9front. It would be a pity if I couldn't do that anymore. I have
scripts that set up binds such as to create an environment that
matches both 9atom and the labs distribution. I use these scripts
to collaborate with other people on various projects where my
collaborators and myself use different distributions. This is not
just a thought experiment; this is happening right now, so it affects
me personally.

Simply put, this change is creating (significant) more work for me.
Now, this is not a good enough reason to import this change, but
perhaps if other people are affected in the same way it might be.

Second, there's the issue of the merit of this new system call.
Without more context I believe it's a mistake.

I know that Ron Minnich added a nanotime system call to NxM (or was
it nix?). I don't know why he did that. I heard rumors about
/dev/bintime adding too much jitter, or being too imprecise. The
context of these complains was the Go port to plan9/amd64.

I don't know how much jitter /dev/bintime adds, but I don't think
it matters anyway. If you are latency-sensitive you probably also
want a monotonic clock with relative timing, so /dev/bintime is not
the right tool.

In any case, Go doesn't require an ultra-precise clock and right
now doesn't require so many time calls compared to when the port
was started. The context of the complaints were in some Go *tests*.
The *tests* were written with Linux in mind where gettimeofday is
a fake system call that uses the vdso(7) mappings. The *tests* were
wrong, at least for non-Linux systems.

There was another complaint about /dev/bintime. Some people claimed
that using it leaked file descriptors in multithreaded programs. I
don't understand why this problem can't be solved by opening it
close-on-exec. In fact, this problem doesn't exist in the port of
Go to Plan 9 anymore (although the fix was different)...

In short, I can't justify this new system call. I'm happy to be
educated, however.

-- 
Aram Hăvărneanu



Re: [9fans] syscall 53

2014-05-19 Thread Charles Forsyth
On 19 May 2014 20:15, Aram Hăvărneanu ara...@mgk.ro wrote:

 Some people claimed
 that using it leaked file descriptors in multithreaded programs. I
 don't understand why this problem can't be solved by opening it
 close-on-exec.


The optimisation was a static int file descriptor.
That was troublesome in the context of
processes that shared memory but not file descriptor groups,
or somehow rearranged descriptors and then called time/nsec again.
A fork and syslog might be enough.
The improved version cached file descriptors per-process,
but using a table with an entry per-process (but only up to 64,
when it reverted to earlier behaviour) and using a process ID in _tos.
Since a library function has no idea what's happening in rfork(), or
In case file descriptors had been closed meanwhile, it would retry once(!).
In some cases, that might lead it to read from a file descriptor that was
open,
but not on the time, causing much confusion.
Further elaboration of the mechanism had been proposed to deal with that.
I prefer one or other Gordian Knot technique, myself.


Re: [9fans] syscall 53

2014-05-19 Thread Bakul Shah
On Mon, 19 May 2014 13:25:42 EDT erik quanstrom quans...@quanstro.net wrote:
 
 i would be very surprised if there were any gain in accuracy.  the
 accuracy is going to be dominated by the most inaccurate term, and
 that's likely going to be timesync, and on the order of milliseconds.

Speaking of time and accuracy

I am adding some logic to synchronize with the PPS signal from
the GPS device that I hooked up to a RaspberryPi.  With this
change the TOD clock should be accurate to within 10 to 20 µs.
So I for one welcome the new syscall! [Though its introduction
could've been better managed]

But using a TOD clock for measuring performance seems wrong
since it will also have to account for leapseconds (at the
moment timesync happily ignores leapseconds).



Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
 I am adding some logic to synchronize with the PPS signal from
 the GPS device that I hooked up to a RaspberryPi.  With this
 change the TOD clock should be accurate to within 10 to 20 µs.
 So I for one welcome the new syscall! [Though its introduction
 could've been better managed]

even a syscall on a rpi is going to cost you at least 5-10µs
and clock drift will make this, and your second point very hard.

 But using a TOD clock for measuring performance seems wrong
 since it will also have to account for leapseconds (at the
 moment timesync happily ignores leapseconds).

- erik



Re: [9fans] syscall 53

2014-05-19 Thread erik quanstrom
 There was another complaint about /dev/bintime. Some people claimed
 that using it leaked file descriptors in multithreaded programs. I
 don't understand why this problem can't be solved by opening it
 close-on-exec. In fact, this problem doesn't exist in the port of
 Go to Plan 9 anymore (although the fix was different)...

close-on-exec doesn't solve any interesting issues.  close on fork might,
but we don't have that.

if two threads share memory, but do not share file descriptor tables, or
if you overflow the file descriptor array, you're really cooked.  things go
seriously wrong in a hurry.

there are other cases that are really terrible, but this is the most glaring 
one.

- erik



Re: [9fans] syscall 53

2014-05-19 Thread ron minnich
I've been watching the discussion but was hesitant to jump in. But
somebody asked me to say a thing or two.

We put the nsec() system call into NxM because, any way you cut it, it
provides better accuracy than the open/read/close path, particularly
when there's lots of stuff running, and the apps we care about need
that improved precision. Yes, this is measured. Just saying 'use tsc'
ignores the lack of portability of that mechanism, as well as the
other issues that have been found over the years with time registers
(core tsc synchronization, effects from power management, interaction
with virtualization, and so on). You don't have to look very long to
see that the work the kernel does for the three-system-call version is
far higher than the simple nsec system call -- yep, looks simple in
the library, and, nope, lots more going on in the kernel, more than 3x
as much. There are a few uses that break the 'it should look like a
file' model and I think this is one of them. Getting accurate,
jitter-free time is essential to making good decisions in many cases.

Nevertheless, I had not intended to push on the system call idea very
hard. As long as people were happy, there did not seem to be much
reason. So I stopped worrying about it over a year ago.

A recent discussion on golang-dev provided the final impetus: it was
recommended that if the nsec call were available on Plan 9, the Go
ports should use it. That was enough for me to put in a request for
one more review of the patch (which patch I did not put in, BTW), and
the good folks at BL felt the idea was OK, so in it went.

So it's in. It's an architecture neutral kernel interface get time in
nanoseconds in a which-core-are-you-on independent manner. It can be
made faster: on NxM the plan was to put a very fast path in the system
call assembly and return the nsec in %rax, and do the memmove in user
mode, so as to avoid any validaddr or address alignment overhead. A
true system call allows optimizations that the open/read/close
interface can not.

I'm sorry to hear that it caused trouble. That said, the problems were
due (IMHO) to a limitation in the update mechanism, not to the
inclusion of a new system call. The limitation is rarely encountered
because the situation is rarely encountered. The right way to update
the system when the kernel adds a new system call is pretty clear:
kernel first. Updating binaries before kernels is clearly wrong and
shows something could be done better. I think it's a good time to
review how the update path works and fix it.

So, it's good for Go and anything else which wants reasonable accuracy
on time without having to muck with architecture-dependent registers.
It's trivial to add. We found it helped a lot on NxM. The quality of
the results you get are hard if not impossible to equal with the
current interface. The old path still works. I think we're all going
to be ok.

ron



Re: [9fans] syscall 53

2014-05-19 Thread Charles Forsyth
On 19 May 2014 21:54, ron minnich rminn...@gmail.com wrote:

 jitter-free time


Jitter says something about (in)consistency of time periods or intervals.
It will be a function of scheduling decisions, not the overhead of a single
call.
In Nix, on an AP core, sure, because there isn't any scheduling. When there
is scheduling of any sort,
it's the scheduling that results in the jitter, not either of these two
time implementations, surely.
You could clearly say faster, but I'm not convinced about jitter-free.
For instance, you can still be pre-empted for variable
time between the invocation of nsec, its arrival in the kernel, and on
return from the kernel before and after return from nsec.
Preventing that is a scheduling matter, with both implementations.


Re: [9fans] syscall 53

2014-05-19 Thread ron minnich
On Mon, May 19, 2014 at 2:30 PM, Charles Forsyth
charles.fors...@gmail.com wrote:

 Jitter says something about (in)consistency of time periods or intervals. It
 will be a function of scheduling decisions, not the overhead of a single
 call.
 In Nix, on an AP core, sure, because there isn't any scheduling. When there
 is scheduling of any sort,
 it's the scheduling that results in the jitter, not either of these two time
 implementations, surely.
 You could clearly say faster, but I'm not convinced about jitter-free.
 For instance, you can still be pre-empted for variable
 time between the invocation of nsec, its arrival in the kernel, and on
 return from the kernel before and after return from nsec.
 Preventing that is a scheduling matter, with both implementations.

I did not want to make this too long, but, sure, everything you say is
quite correct. It's why we considered taking the implementation even
further on NxM, but we stopped that project before we got to that
point. There are way more opportunities for the introduction of jitter
with the old system as opposed to the new, because there are far more
places that you might get to where scheduling can occur. In other
words, again, you're right as rain in what you're saying.

What can I say? We measured it on NxM, were disappointed with the
results from the old way, and happy(er) with the new way.

And, again, I was not inclined to act on any of this until the
discussion on the golang-dev list, which boiled down to:
if you can do it with a single system call, you should with a
response of we put in a patch, was not accepted yet.. I just renewed
the request to reexamine the patch.

ron



Re: [9fans] syscall 53

2014-05-19 Thread Kurt H Maier

Quoting ron minnich rminn...@gmail.com:


And, again, I was not inclined to act on any of this until the
discussion on the golang-dev list, which boiled down to:
if you can do it with a single system call, you should with a
response of we put in a patch, was not accepted yet.. I just renewed
the request to reexamine the patch.


Does anyone know how we can get golang-dev to endorse all of the
ethernet drivers that the labs refuses to merge?  I can send them
some ad money or some web software or whatever motivates them

khm




Re: [9fans] syscall 53

2014-05-19 Thread andrey mirtchovski
golang-dev has more clout than 9fans nowadays, at least as it pertains to plan9.

On Mon, May 19, 2014 at 5:02 PM, Kurt H Maier k...@sciops.net wrote:
 Quoting ron minnich rminn...@gmail.com:

 And, again, I was not inclined to act on any of this until the
 discussion on the golang-dev list, which boiled down to:
 if you can do it with a single system call, you should with a
 response of we put in a patch, was not accepted yet.. I just renewed
 the request to reexamine the patch.


 Does anyone know how we can get golang-dev to endorse all of the
 ethernet drivers that the labs refuses to merge?  I can send them
 some ad money or some web software or whatever motivates them

 khm





Re: [9fans] syscall 53

2014-05-19 Thread Kurt H Maier

Quoting andrey mirtchovski mirtchov...@gmail.com:

golang-dev has more clout than 9fans nowadays, at least as it  
pertains to plan9.




That's why I'm asking.  We now have three go-related new syscalls, while
lots of actual hardware support gets flushed down the toilet for
unspecified reasons.  I'm not complaining; I'm just wondering how to
adapt to the new system.  Sending code to the labs directly doesn't work;
fine.  How do we lobby golang-dev?

khm




Re: [9fans] syscall 53

2014-05-19 Thread andrey mirtchovski
I suggest personal notes, flowers, and some hard liquor.

On Mon, May 19, 2014 at 5:12 PM, Kurt H Maier k...@sciops.net wrote:
 Quoting andrey mirtchovski mirtchov...@gmail.com:

 golang-dev has more clout than 9fans nowadays, at least as it pertains to
 plan9.


 That's why I'm asking.  We now have three go-related new syscalls, while
 lots of actual hardware support gets flushed down the toilet for
 unspecified reasons.  I'm not complaining; I'm just wondering how to
 adapt to the new system.  Sending code to the labs directly doesn't work;
 fine.  How do we lobby golang-dev?

 khm





Re: [9fans] syscall 53

2014-05-19 Thread Jeff Sickel

On May 19, 2014, at 6:17 PM, andrey mirtchovski mirtchov...@gmail.com wrote:

 I suggest personal notes, flowers, and some hard liquor.
 

/me could use all three after a weekend of sysadmin frustration.

All hope is not lost… this exercise, by not being able to use
my usual cpu servers, gave me time to cut over to a new fossil
raid (the old disk needed to go anyway) while doing an unanticipated
code review.

-jas




Re: [9fans] syscall 53

2014-05-19 Thread cinap_lenrek
added the syscall for binary compatibility with sources to 9front kernel.
nsec() remains a library function that reads /dev/bintime. removed the
filedescriptor caching from nsec() like in the 9atom version.

--
cianp



Re: [9fans] syscall 53

2014-05-18 Thread goo

I will use pull -n from now on. But it will still not help if one needs to 
recompile kernel with new syscalls or similar. Erics procedure helps to recover 
to old state, but i never tried it, it may be that some commands needed new 
syscall too, i tried to copy to 9fat with same error, maybe it was the same 
with copying to /sys/src or /386/bin, cause fs, faces, webfs and many others 
were all in a broken state. So I just booted puppy linux from usb stick and 
copied kernels from
http://9legacy.org/download/kernel.tar.bz2
to 9fat partition, then booted plan9, recompiled custom kernel. Thanks.



Re: [9fans] syscall 53

2014-05-18 Thread David du Colombier
The safe way to upgrade your file server is simply to update the kernel
binaries (for example, with the ones I'm providing) on your 9fat and reboot.

Then, you can pull the updated program binaries from /n/sources.

There is no need to wait, because you have to be running the new kernel
before pulling the new binaires anyway.

In the case you need a custom kernel to boot your file server, you will
have to grab the changes manually (like
http://9fans.eu/pegasus/sources/plan9/plan9-2014-05-15.diff), and
recompile/reinstall/reboot your kernel.

-- 
David du Colombier


Re: [9fans] syscall 53

2014-05-18 Thread Jeff Sickel

note to self:  add /dev/sdE?/9fat to vac
streamline getting 9LOAD in place w/o corruption




Re: [9fans] syscall 53

2014-05-18 Thread Skip Tavakkolian
i got the impression that sources were in some inconsistent state.

if the only change is the new system call, isn't it sufficient to:

* pull only /sys/src/9
* build the kernels you need and install on boot medium
* reboot
* pull again and rebuild all the binaries

since existing binaries would work on the new kernel?



On Sun, May 18, 2014 at 1:29 AM, David du Colombier 0in...@gmail.comwrote:

 The safe way to upgrade your file server is simply to update the kernel
 binaries (for example, with the ones I'm providing) on your 9fat and reboot.

 Then, you can pull the updated program binaries from /n/sources.

 There is no need to wait, because you have to be running the new kernel
 before pulling the new binaires anyway.

 In the case you need a custom kernel to boot your file server, you will
 have to grab the changes manually (like
 http://9fans.eu/pegasus/sources/plan9/plan9-2014-05-15.diff), and
 recompile/reinstall/reboot your kernel.

 --
 David du Colombier



Re: [9fans] syscall 53

2014-05-18 Thread Skip Tavakkolian
0intro's last paragraph says the same thing.


On Sun, May 18, 2014 at 8:32 AM, Skip Tavakkolian 
skip.tavakkol...@gmail.com wrote:

 i got the impression that sources were in some inconsistent state.

 if the only change is the new system call, isn't it sufficient to:

 * pull only /sys/src/9
 * build the kernels you need and install on boot medium
 * reboot
 * pull again and rebuild all the binaries

 since existing binaries would work on the new kernel?



 On Sun, May 18, 2014 at 1:29 AM, David du Colombier 0in...@gmail.comwrote:

 The safe way to upgrade your file server is simply to update the kernel
 binaries (for example, with the ones I'm providing) on your 9fat and reboot.

 Then, you can pull the updated program binaries from /n/sources.

 There is no need to wait, because you have to be running the new kernel
 before pulling the new binaires anyway.

 In the case you need a custom kernel to boot your file server, you will
 have to grab the changes manually (like
 http://9fans.eu/pegasus/sources/plan9/plan9-2014-05-15.diff), and
 recompile/reinstall/reboot your kernel.

 --
 David du Colombier





Re: [9fans] syscall 53

2014-05-18 Thread Jeff Sickel

 * pull only /sys/src/9

 * pull -s sys/src/libc

 * build the kernels you need and install on boot medium
 * reboot


I recovered by using 9fs snap so I could get an earlier state
of /386.  9fs dump triggered the syscall error.





Re: [9fans] syscall 53

2014-05-18 Thread Skip Tavakkolian
rebuilding/installing the binaries from local sources takes very little
time and guarantees that pull will not overwrite them (unless forced).



On Sun, May 18, 2014 at 8:38 AM, Jeff Sickel j...@corpus-callosum.comwrote:


  * pull only /sys/src/9

  * pull -s sys/src/libc

  * build the kernels you need and install on boot medium
  * reboot


 I recovered by using 9fs snap so I could get an earlier state
 of /386.  9fs dump triggered the syscall error.






Re: [9fans] syscall 53

2014-05-18 Thread Skip Tavakkolian
fyi, pulling/merging (e.g. adding IL back), building the kernels, booting
and building the binaries works as expected for all cpu types in my
environment (pc, bcm, rb and kw).



On Sun, May 18, 2014 at 9:03 AM, Skip Tavakkolian 
skip.tavakkol...@gmail.com wrote:

 rebuilding/installing the binaries from local sources takes very little
 time and guarantees that pull will not overwrite them (unless forced).



 On Sun, May 18, 2014 at 8:38 AM, Jeff Sickel j...@corpus-callosum.comwrote:


  * pull only /sys/src/9

  * pull -s sys/src/libc

  * build the kernels you need and install on boot medium
  * reboot


 I recovered by using 9fs snap so I could get an earlier state
 of /386.  9fs dump triggered the syscall error.







Re: [9fans] syscall 53

2014-05-18 Thread erik quanstrom
On Sun May 18 18:56:49 EDT 2014, skip.tavakkol...@gmail.com wrote:

 fyi, pulling/merging (e.g. adding IL back), building the kernels, booting
 and building the binaries works as expected for all cpu types in my
 environment (pc, bcm, rb and kw).

i'd put a vote into restoring il to the standard kernels.  there's no
downside.

- erik



Re: [9fans] syscall 53

2014-05-18 Thread Jeff Sickel

On May 18, 2014, at 8:54 PM, erik quanstrom quans...@quanstro.net wrote:

 On Sun May 18 18:56:49 EDT 2014, skip.tavakkol...@gmail.com wrote:
 
 fyi, pulling/merging (e.g. adding IL back), building the kernels, booting
 and building the binaries works as expected for all cpu types in my
 environment (pc, bcm, rb and kw).
 
 i'd put a vote into restoring il to the standard kernels.  there's no
 downside.


I vote getting ether82563.c updated.  I’m merging, but not done yet.

The big fail was my auth server sitting on a Soekris net6501.  Great
machine, on 9atom.  Plan 9 faults if you try to boot it w/o *nomp=1.
And when you do boot it w/ *nomp=1, Plan 9 doesn’t recognize the mSATA
device in it, which kind of ruins the whole idea of using it as an
auth server.

-jas





Re: [9fans] syscall 53

2014-05-18 Thread lucio
 i'd put a vote into restoring il to the standard kernels.  there's no
 downside.

My vote, too.

++L





Re: [9fans] syscall 53

2014-05-18 Thread lucio
 Great
 machine, on 9atom.

Which raises another question: are 9atom and 9front in synch with the
BL distribution (itself in question) regarding syscall 53?

++L





[9fans] syscall 53

2014-05-17 Thread goo
Hello, help please, after recent (15 May) pull:

mntgen 31: bad sys call number 53 pc 813f
ipconfig, keyfs, webfs webcookies, faces = the same.
ls -l for example shows
ls 222: bad sys call number 53 pc bb8f
ls 222: suicide: sys: bad sys call pc=0xbb8f
acid leads to /sys/src/libc/386/main9.s:16

Re: [9fans] syscall 53

2014-05-17 Thread erik quanstrom
On Sat May 17 06:28:02 EDT 2014, puta2001-...@yahoo.com wrote:

 Hello, help please, after recent (15 May) pull:
 
 mntgen 31: bad sys call number 53 pc 813f
 ipconfig, keyfs, webfs webcookies, faces = the same.
 ls -l for example shows
 ls 222: bad sys call number 53 pc bb8f
 ls 222: suicide: sys: bad sys call pc=0xbb8f
 acid leads to /sys/src/libc/386/main9.s:16

looks like nsec() in the c library was replaced with a syscall, and
this was put into libc, and many things were recompiled.  unfortunately
pull does not update your kernel, and your kernel doesn't support nsec.

if you have a dump file system, i would recommend copying /386/bin
executables back from before the may 15 update.

if you don't, the next best option is to copy mk from my contrib, then

r=/n/sources/contrib/quanstro/rescue
9fs sources 
cp $r/mk /386/bin/mk
cd /sys/src/libc/9sys
cp $r/mkfile $r/nsec.c .
mk

now you can rebuild /sys/src/cmd as needed to build a kernel with nsec.

by the way, i'm currenttly using this version of nsec and i prefer it, though
it requires 3 syscalls and not two, and takes about 2x as long.  it's still
just around 1µs on most of my machines.  if nsec() is causing issues, i would
think that cycles(2) would be a good option, and much faster than a syscall.

; cat nsec.c
#include u.h
#include libc.h

vlong
nsec(void)
{
uchar b[8];
int fd;

fd = open(/dev/bintime, OREAD);
if(fd != -1)
if(pread(fd, b, sizeof b, 0) == sizeof b){
close(fd);
return getbe(b, sizeof b);
}
close(fd);
return 0;
}



Re: [9fans] syscall 53

2014-05-17 Thread erik quanstrom
 it requires 3 syscalls and not two, and takes about 2x as long.  it's still

good grief.  s/two/one/.  

- erik



Re: [9fans] syscall 53

2014-05-17 Thread David du Colombier
Since the kernels on /n/sources haven't been recompiled yet,
I've uploaded an archive with the 9pcf and 9pccpuf kernel
binaries.

In case you pulled the updated binaries and aren't able
to use you system anymore, you can just replace the 9fat
kernels with them.

http://9legacy.org/download/kernel.tar.bz2

-- 
David du Colombier



[9fans] syscall 53

2014-05-17 Thread goo


Thanks, tried to compile kernel with no luck cause of the same syscall 53. Was 
postponing some kind of dump file system until it finally got me :) webfs needs 
53,  so no internet. Will load some linux and copy kernels into 9fat. thanks. 


Re: [9fans] syscall 53

2014-05-17 Thread erik quanstrom
On Sat May 17 09:55:16 EDT 2014, puta2001-...@yahoo.com wrote:

 
 
 Thanks, tried to compile kernel with no luck cause of the same syscall 53. 
 Was postponing some kind of dump file system until it finally got me :) webfs 
 needs 53,  so no internet. Will load some linux and copy kernels into 9fat. 
 thanks

if you follow the directions i sent, i think you should be able to rejuvinate 
all your binaries.
then it will not be necessary to update the kernel immediately.  essentially 
you will be boostrapping
a downgrade.

you will need to update /sys/src/libc/9syscall/sys.h to build a new kernel:

/n/sources/plan9/sys/src/libc/9syscall/sys.h:49,52 - 
/sys/src/libc/9syscall/sys.h:49,51
  #define   PREAD   50
  #define   PWRITE  51
  #define   TSEMACQUIRE 52
- #define NSEC  53

- erik



[9fans] syscall 53

2014-05-17 Thread goo

Already copied kernels to 9fat, all is working fine, seems plan9 got a bit 
faster generaly.



Re: [9fans] syscall 53

2014-05-17 Thread goo

p.s. Caps lock is not working. Also copying in 9fat directory shifts file time 
current time+3 hours, even +6 hours if renaming (mv). My timezone is +3 GMT. 
Its native plan9 on ibm t42. 




Re: [9fans] syscall 53

2014-05-17 Thread Jeff Sickel
A lot more than Caps lock is not working….
This has been some of the worst 36+ hours I’ve had w/ Plan 9,
and no end in site to get everything running again.

I sure hope the NSEC change is worth it in the long run.
I did want to write some Go code yesterday, but this rebuild
has eaten up most of my hours.

Might be time to see if the old ThinkPad will boot… need
something with a trusty ol’ floppy to get a fresh install going.


On May 17, 2014, at 2:11 PM, goo puta2001-...@yahoo.com wrote:

 
 p.s. Caps lock is not working. Also copying in 9fat directory shifts file 
 time current time+3 hours, even +6 hours if renaming (mv). My timezone is +3 
 GMT. Its native plan9 on ibm t42. 





Re: [9fans] syscall 53

2014-05-17 Thread Jeff Sickel
s/site/sight/

Might not be so bad… one day, but it does mean that handling the
stand-alone file server needs to have a few more controls in
place to prevent a pull.

-jas

On May 17, 2014, at 4:17 PM, Jeff Sickel j...@corpus-callosum.com wrote:

 A lot more than Caps lock is not working….
 This has been some of the worst 36+ hours I’ve had w/ Plan 9,
 and no end in site to get everything running again.
 
 I sure hope the NSEC change is worth it in the long run.
 I did want to write some Go code yesterday, but this rebuild
 has eaten up most of my hours.
 
 Might be time to see if the old ThinkPad will boot… need
 something with a trusty ol’ floppy to get a fresh install going.
 
 
 On May 17, 2014, at 2:11 PM, goo puta2001-...@yahoo.com wrote:
 
 
 p.s. Caps lock is not working. Also copying in 9fat directory shifts file 
 time current time+3 hours, even +6 hours if renaming (mv). My timezone is +3 
 GMT. Its native plan9 on ibm t42. 
 
 
 




Re: [9fans] syscall 53

2014-05-17 Thread Skip Tavakkolian
thanks for the heads-up. i'll wait pulling from sources for now.



On Sat, May 17, 2014 at 2:17 PM, Jeff Sickel j...@corpus-callosum.comwrote:

 A lot more than Caps lock is not working….
 This has been some of the worst 36+ hours I’ve had w/ Plan 9,
 and no end in site to get everything running again.

 I sure hope the NSEC change is worth it in the long run.
 I did want to write some Go code yesterday, but this rebuild
 has eaten up most of my hours.

 Might be time to see if the old ThinkPad will boot… need
 something with a trusty ol’ floppy to get a fresh install going.


 On May 17, 2014, at 2:11 PM, goo puta2001-...@yahoo.com wrote:

 
  p.s. Caps lock is not working. Also copying in 9fat directory shifts
 file time current time+3 hours, even +6 hours if renaming (mv). My timezone
 is +3 GMT. Its native plan9 on ibm t42.






Re: [9fans] syscall 53

2014-05-17 Thread erik quanstrom
On Sat May 17 15:16:03 EDT 2014, puta2001-...@yahoo.com wrote:
 
 p.s.  Caps lock is not working.  Also copying in 9fat directory shifts
 file time current time+3 hours, even +6 hours if renaming (mv).  My
 timezone is +3 GMT.  Its native plan9 on ibm t42.

the standard plan 9 key map maps caps lock - ctl.  you can change
the mapping with this script

#!/bin/rc
kval=0xf862
if(~ $1 on)
kval=0xf864
/dev/kbmap echo 0 0x3a $kval

if you have a caps lock led, it won't work with sources.  i added support
to 9atom though for both usb and ps/2 keyboards.

the other bit is all fat's fault by keeping times relative to local time not 
gmt.

- erik



Re: [9fans] syscall 53

2014-05-17 Thread lucio
 thanks for the heads-up. i'll wait pulling from sources for now.

I guess we need one of two alternatives at this point: either somebody
documents how to recover from a pull by first reconstructing (or
binding from the dump) the critical commands or we are given some
indication by Bell Labs so that we can wait to do a pull until sources
is consistent and pulling becomes safe again.

Erik kindly offered a recovery procedure, but my impression is that it
compounds effort for only a temporary gain; waiting for Bell Labs, on
the other hand, has the drawback that custom kernels will not be taken
care of automatically.

I seem to remember that there was one header change offered (Erik,
again?) that would help with this last issue, would that allow safe
building of custom kernels without first pulling?

++L