9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] go under plan9 on the radpberry pi?
@ 2019-09-19 21:41 Steve Simon
  2019-09-19 22:46 ` Bakul Shah
  0 siblings, 1 reply; 14+ messages in thread
From: Steve Simon @ 2019-09-19 21:41 UTC (permalink / raw)
  To: 9fans

hi all,

does go run under plan9 on the radpberry pi or only on x86?

thanks,

-Steve




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-19 21:41 [9fans] go under plan9 on the radpberry pi? Steve Simon
@ 2019-09-19 22:46 ` Bakul Shah
  2019-09-19 23:15   ` Michael Misch
  2019-09-20  8:43   ` Richard Miller
  0 siblings, 2 replies; 14+ messages in thread
From: Bakul Shah @ 2019-09-19 22:46 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Thu, 19 Sep 2019 22:41:48 +0100 Steve Simon <steve@quintile.net> wrote:
>
> does go run under plan9 on the radpberry pi or only on x86?

I haven't tried a native build but cross-compiling with

    cd `go env GOROOT`/src
    GOOS=plan9 GOARCH=arm ./bootstrap.bash

seems to work. bunzip2 the resulting .tbz file in $home & then
bind -a $home/go-plan9-arm-bootstrap/bin /bin

Only lightly tested.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-19 22:46 ` Bakul Shah
@ 2019-09-19 23:15   ` Michael Misch
  2019-09-20  3:26     ` Matthew Veety
  2019-09-20  8:43   ` Richard Miller
  1 sibling, 1 reply; 14+ messages in thread
From: Michael Misch @ 2019-09-19 23:15 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I’ve used it, it works fine. Building on a raspberry pi, on the other hand is a chore when using Go.

> On Sep 19, 2019, at 3:46 PM, Bakul Shah <bakul@bitblocks.com> wrote:
> 
> On Thu, 19 Sep 2019 22:41:48 +0100 Steve Simon <steve@quintile.net> wrote:
>> 
>> does go run under plan9 on the radpberry pi or only on x86?
> 
> I haven't tried a native build but cross-compiling with
> 
>    cd `go env GOROOT`/src
>    GOOS=plan9 GOARCH=arm ./bootstrap.bash
> 
> seems to work. bunzip2 the resulting .tbz file in $home & then
> bind -a $home/go-plan9-arm-bootstrap/bin /bin
> 
> Only lightly tested.
> 




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-19 23:15   ` Michael Misch
@ 2019-09-20  3:26     ` Matthew Veety
  2019-09-20  4:37       ` Lyndon Nerenberg
  0 siblings, 1 reply; 14+ messages in thread
From: Matthew Veety @ 2019-09-20  3:26 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 946 bytes --]


Building anything on a raspberry pi is a bit of a chore. I highly 
recommend running go on your cpu server and/or local to your filesystem. 
The generated binaries seem to work fine. I haven't found any bugs, but I 
haven't run anything serious on on my pis.

On Thu, 19 Sep 2019, Michael Misch wrote:

> I’ve used it, it works fine. Building on a raspberry pi, on the other hand is a chore when using Go.
>
>> On Sep 19, 2019, at 3:46 PM, Bakul Shah <bakul@bitblocks.com> wrote:
>>
>> On Thu, 19 Sep 2019 22:41:48 +0100 Steve Simon <steve@quintile.net> wrote:
>>>
>>> does go run under plan9 on the radpberry pi or only on x86?
>>
>> I haven't tried a native build but cross-compiling with
>>
>>    cd `go env GOROOT`/src
>>    GOOS=plan9 GOARCH=arm ./bootstrap.bash
>>
>> seems to work. bunzip2 the resulting .tbz file in $home & then
>> bind -a $home/go-plan9-arm-bootstrap/bin /bin
>>
>> Only lightly tested.
>>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  3:26     ` Matthew Veety
@ 2019-09-20  4:37       ` Lyndon Nerenberg
  2019-09-20  5:29         ` Steve Simon
  0 siblings, 1 reply; 14+ messages in thread
From: Lyndon Nerenberg @ 2019-09-20  4:37 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: Lyndon Nerenberg

Matthew Veety writes:

> Building anything on a raspberry pi is a bit of a chore. I highly=20
> recommend running go on your cpu server and/or local to your filesystem.=20
> The generated binaries seem to work fine.

Go does wonderfully when it comes to generating binaries for
non-native architectures.  I have a few Go-based tools I use at
work that I build on any number of archictures (macos, freebsd,
openbsd, linux / armX, i386, amd64)) that I need to run on one or
many of the above.  They all just work.  Makes debugging a breeze.

But now that they are succumbing to the shared lib/obj doctrine, I'm sure
I will soon go back to writing C code, since the advantage of those
static go binaries is about to be lost :-(



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  4:37       ` Lyndon Nerenberg
@ 2019-09-20  5:29         ` Steve Simon
  2019-09-20  5:32           ` Michael Misch
  2019-09-20  6:07           ` Bakul Shah
  0 siblings, 2 replies; 14+ messages in thread
From: Steve Simon @ 2019-09-20  5:29 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: Lyndon Nerenberg

hi,

my plan was to build and run/debug go on a raspberry pi 4 running plan9, not to cross compile.

i am confident in the linux cross compile environment i was just concerned about the plan9 os/runtime support for the pi.

i guess it comes down to plan9 os interface for the arm.

people said it is painful, you mean the pi is slow?

thanks for the help.

-Steve

> On 20 Sep 2019, at 5:37 am, Lyndon Nerenberg <lyndon@orthanc.ca> wrote:
> 
> Matthew Veety writes:
> 
>> Building anything on a raspberry pi is a bit of a chore. I highly=20
>> recommend running go on your cpu server and/or local to your filesystem.=20
>> The generated binaries seem to work fine.
> 
> Go does wonderfully when it comes to generating binaries for
> non-native architectures.  I have a few Go-based tools I use at
> work that I build on any number of archictures (macos, freebsd,
> openbsd, linux / armX, i386, amd64)) that I need to run on one or
> many of the above.  They all just work.  Makes debugging a breeze.
> 
> But now that they are succumbing to the shared lib/obj doctrine, I'm sure
> I will soon go back to writing C code, since the advantage of those
> static go binaries is about to be lost :-(




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  5:29         ` Steve Simon
@ 2019-09-20  5:32           ` Michael Misch
  2019-09-20  6:07           ` Bakul Shah
  1 sibling, 0 replies; 14+ messages in thread
From: Michael Misch @ 2019-09-20  5:32 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Go builds on Plan9 suffer from the post-1.9 performance regression.

> On Sep 19, 2019, at 10:29 PM, Steve Simon <steve@quintile.net> wrote:
> 
> hi,
> 
> my plan was to build and run/debug go on a raspberry pi 4 running plan9, not to cross compile.
> 
> i am confident in the linux cross compile environment i was just concerned about the plan9 os/runtime support for the pi.
> 
> i guess it comes down to plan9 os interface for the arm.
> 
> people said it is painful, you mean the pi is slow?
> 
> thanks for the help.
> 
> -Steve
> 
>> On 20 Sep 2019, at 5:37 am, Lyndon Nerenberg <lyndon@orthanc.ca> wrote:
>> 
>> Matthew Veety writes:
>> 
>>> Building anything on a raspberry pi is a bit of a chore. I highly=20
>>> recommend running go on your cpu server and/or local to your filesystem.=20
>>> The generated binaries seem to work fine.
>> 
>> Go does wonderfully when it comes to generating binaries for
>> non-native architectures.  I have a few Go-based tools I use at
>> work that I build on any number of archictures (macos, freebsd,
>> openbsd, linux / armX, i386, amd64)) that I need to run on one or
>> many of the above.  They all just work.  Makes debugging a breeze.
>> 
>> But now that they are succumbing to the shared lib/obj doctrine, I'm sure
>> I will soon go back to writing C code, since the advantage of those
>> static go binaries is about to be lost :-(
> 
> 




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  5:29         ` Steve Simon
  2019-09-20  5:32           ` Michael Misch
@ 2019-09-20  6:07           ` Bakul Shah
  2019-09-20  8:53             ` Richard Miller
  1 sibling, 1 reply; 14+ messages in thread
From: Bakul Shah @ 2019-09-20  6:07 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, 20 Sep 2019 06:29:31 +0100 Steve Simon <steve@quintile.net> wrote:
>
> my plan was to build and run/debug go on a raspberry pi 4 running plan9, not
>  to cross compile.

If you mean go programs, the compile speed is tolerable
provided you are not building very large programs.

If you mean the go compiler itself, hopefully the 2GB VM you
get on 9p/pi4 is enough to compile the compiler using a
cross-compiled bootstrap compiler.  If the build does work, it
will be slow because sdcards are slow. Root mounted from a
decent fileserver may help. Another option worth exploring may
be AOE as pi4 has a GbE (I haven't tried this yet).



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-19 22:46 ` Bakul Shah
  2019-09-19 23:15   ` Michael Misch
@ 2019-09-20  8:43   ` Richard Miller
  2019-09-20 17:10     ` Steve Simon
  1 sibling, 1 reply; 14+ messages in thread
From: Richard Miller @ 2019-09-20  8:43 UTC (permalink / raw)
  To: 9fans

> Only lightly tested.

In a sense, plan9/arm go is tested as well as any other platform:
under the go continuous development process, every time a change
is made to the compiler or runtime library, a complete test suite
is run on builder machines for every supported architecture and
operating system.  If you look at https://build.golang.org and
scroll wayyyyyyyy over to the right, the plan9/arm column refers
to a set of Raspberry Pi machines run by David du Columbier and me.

In another sense, it's probably not very well tested at all:
I'm not aware of any production application being run on go in
Plan 9, on any machine architecture.  I haven't used go seriously
myself, but I find the test suite gives the OS such a brutal workout
(especially with small physical memory) that it's a good way
to flush out underlying Plan 9 bugs.

The tests show some intermittent hard-to-reproduce failures ("flakes")
on all the Plan 9 builders.  Many are timing issues because the tests
make assumptions about absolute speed of builder machines; but there
are some "can't happen" panics during garbage collection which smell
like a cache or memory barrier problem.  Please don't use plan9/arm
go to run your nuclear power plant just yet ...




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  6:07           ` Bakul Shah
@ 2019-09-20  8:53             ` Richard Miller
  2019-09-21  1:23               ` Bakul Shah
  0 siblings, 1 reply; 14+ messages in thread
From: Richard Miller @ 2019-09-20  8:53 UTC (permalink / raw)
  To: 9fans

> If you mean the go compiler itself, hopefully the 2GB VM you
> get on 9p/pi4 is enough to compile the compiler using a
> cross-compiled bootstrap compiler.

The compiler can compile itself natively on a pi2 or pi3.
No need to activate swap space, unless you want to run the
full test suite.

> Another option worth exploring may
> be AOE as pi4 has a GbE (I haven't tried this yet).

My go test builders are running with "local" fossil on a slice
of disk provided over AoE from an atom server.  I tried various
configurations and this gave me the best performance.  This is
with 3B+ machines on "gigabit" ethernet throttled by rubbish usb.

Pi4 has proper GbE, but also has usb3 so a local ssd drive might
be a practical alternative.  More experiments to do.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  8:43   ` Richard Miller
@ 2019-09-20 17:10     ` Steve Simon
  0 siblings, 0 replies; 14+ messages in thread
From: Steve Simon @ 2019-09-20 17:10 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs


hi,

thanks richard, this is perfect

i could not have asked for more.

-Steve


On 20 Sep 2019, at 9:43 am, Richard Miller <9fans@hamnavoe.com> wrote:

>> Only lightly tested.
> 
> In a sense, plan9/arm go is tested as well as any other platform:
> under the go continuous development process, every time a change
> is made to the compiler or runtime library, a complete test suite
> is run on builder machines for every supported architecture and
> operating system.  If you look at https://build.golang.org and
> scroll wayyyyyyyy over to the right, the plan9/arm column refers
> to a set of Raspberry Pi machines run by David du Columbier and me.
> 
> In another sense, it's probably not very well tested at all:
> I'm not aware of any production application being run on go in
> Plan 9, on any machine architecture.  I haven't used go seriously
> myself, but I find the test suite gives the OS such a brutal workout
> (especially with small physical memory) that it's a good way
> to flush out underlying Plan 9 bugs.
> 
> The tests show some intermittent hard-to-reproduce failures ("flakes")
> on all the Plan 9 builders.  Many are timing issues because the tests
> make assumptions about absolute speed of builder machines; but there
> are some "can't happen" panics during garbage collection which smell
> like a cache or memory barrier problem.  Please don't use plan9/arm
> go to run your nuclear power plant just yet ...
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-20  8:53             ` Richard Miller
@ 2019-09-21  1:23               ` Bakul Shah
  2019-09-21 12:31                 ` hiro
  0 siblings, 1 reply; 14+ messages in thread
From: Bakul Shah @ 2019-09-21  1:23 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Fri, 20 Sep 2019 09:53:07 +0100 Richard Miller <9fans@hamnavoe.com> wrote:
>
> > Another option worth exploring may
> > be AOE as pi4 has a GbE (I haven't tried this yet).
>
> My go test builders are running with "local" fossil on a slice
> of disk provided over AoE from an atom server.  I tried various
> configurations and this gave me the best performance.  This is
> with 3B+ machines on "gigabit" ethernet throttled by rubbish usb.
>
> Pi4 has proper GbE, but also has usb3 so a local ssd drive might
> be a practical alternative.  More experiments to do.

On linux/pi4 I get about 230MB/s for seq. read on a $10 USB3.1
Samsung flash drive. Time to get a new SSD!



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-21  1:23               ` Bakul Shah
@ 2019-09-21 12:31                 ` hiro
  2019-09-21 23:55                   ` Bakul Shah
  0 siblings, 1 reply; 14+ messages in thread
From: hiro @ 2019-09-21 12:31 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

yeah, but check small blocksize random read/write vs. AoE or 9p over
ethernet. I'm not sure how efficient usb3 in terms of latency :)

On 9/21/19, Bakul Shah <bakul@bitblocks.com> wrote:
> On Fri, 20 Sep 2019 09:53:07 +0100 Richard Miller <9fans@hamnavoe.com>
> wrote:
>>
>> > Another option worth exploring may
>> > be AOE as pi4 has a GbE (I haven't tried this yet).
>>
>> My go test builders are running with "local" fossil on a slice
>> of disk provided over AoE from an atom server.  I tried various
>> configurations and this gave me the best performance.  This is
>> with 3B+ machines on "gigabit" ethernet throttled by rubbish usb.
>>
>> Pi4 has proper GbE, but also has usb3 so a local ssd drive might
>> be a practical alternative.  More experiments to do.
>
> On linux/pi4 I get about 230MB/s for seq. read on a $10 USB3.1
> Samsung flash drive. Time to get a new SSD!
>
>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [9fans] go under plan9 on the radpberry pi?
  2019-09-21 12:31                 ` hiro
@ 2019-09-21 23:55                   ` Bakul Shah
  0 siblings, 0 replies; 14+ messages in thread
From: Bakul Shah @ 2019-09-21 23:55 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

See https://www.flexense.com/usb3_vs_sata_disk_performance_comparison.html
Here local SATA3 vs USB3 comparison is done. While not directly comparable,
the only case where throughput is below what you can push through GbE is
single threaded small file copying. For every other case tested, GbE will
be the bottleneck.

> On Sep 21, 2019, at 5:32 AM, hiro <23hiro@gmail.com> wrote:
> 
> yeah, but check small blocksize random read/write vs. AoE or 9p over
> ethernet. I'm not sure how efficient usb3 in terms of latency :)
> 
> On 9/21/19, Bakul Shah <bakul@bitblocks.com> wrote:
>> On Fri, 20 Sep 2019 09:53:07 +0100 Richard Miller <9fans@hamnavoe.com>
>> wrote:
>>> 
>>>> Another option worth exploring may
>>>> be AOE as pi4 has a GbE (I haven't tried this yet).
>>> 
>>> My go test builders are running with "local" fossil on a slice
>>> of disk provided over AoE from an atom server.  I tried various
>>> configurations and this gave me the best performance.  This is
>>> with 3B+ machines on "gigabit" ethernet throttled by rubbish usb.
>>> 
>>> Pi4 has proper GbE, but also has usb3 so a local ssd drive might
>>> be a practical alternative.  More experiments to do.
>> 
>> On linux/pi4 I get about 230MB/s for seq. read on a $10 USB3.1
>> Samsung flash drive. Time to get a new SSD!
>> 
>> 
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-09-21 23:55 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-19 21:41 [9fans] go under plan9 on the radpberry pi? Steve Simon
2019-09-19 22:46 ` Bakul Shah
2019-09-19 23:15   ` Michael Misch
2019-09-20  3:26     ` Matthew Veety
2019-09-20  4:37       ` Lyndon Nerenberg
2019-09-20  5:29         ` Steve Simon
2019-09-20  5:32           ` Michael Misch
2019-09-20  6:07           ` Bakul Shah
2019-09-20  8:53             ` Richard Miller
2019-09-21  1:23               ` Bakul Shah
2019-09-21 12:31                 ` hiro
2019-09-21 23:55                   ` Bakul Shah
2019-09-20  8:43   ` Richard Miller
2019-09-20 17:10     ` Steve Simon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).