thanks, Jacob.
I'm going to keep at it, and your rebase has now made it much easier to
keep up.

In the usual manner of such things, I think now that we figured out that we
can make it work, it's time to toss a lot of those commits away, and get to
something a lot less messy. There's where others can help.

ron

On Thu, Mar 6, 2025 at 3:38 PM Jacob Moody <mo...@posixcafe.org> wrote:

> On 3/6/25 15:07, ron minnich wrote:
> > Jacob re the rebase, thank you, it works in qemu and on my t420.
> >
> > I'm thinking to just set my 9front head to what you've done, push it to
> my fork, and proceed from there. Do you see any reason not to?
>
> Sure by all means.
>
> >
> > Where, ultimately, might we want NIX to land?
> >
> > I need to start turning the dial down on debug prints, to start.
>
> I think it depends on what the goals are here, I assume you're somewhat
> interested in having a conversation about getting
> nix in to 9front, so I'll start from there. Here's what I would suggest as
> the path forward for that and some followup questions.
>
> 1. You'll need to squash your changes in to a smaller organization of
> patches that can be reviewed, the current commit list is a bit messy
>         and does not follow our conventions for commit messages.
>
> 2. You'll need to make a case as to what the practical benefits are from
> having this capability, it seems like you've gotten somewhere with
>         the ftq benchmarks, which is great, but you'll need to put things
> in terms of practical benefit. What is a program on the system which
>         would benefit from having a core exclusive to itself? How can we
> prove that? Adding stuff to the Proc struct has a high impact and typically
>         should be accompanied by a decently useful addition.
>
> 3. Everything right now is specific to pc64, and I think if this is a
> general capability going forward, we're going to need this on the other
>         architectures that we support. At the very least arm64. I don't
> know if I would call this a requirement for getting nix merged but
>         it should be something that would be a close goal following an
> initial merge if not.
>
> 4. For now at least, I would suggest removing the debug prints. The
> question regarding on how to go forward with debug prints in general is
>         a good question, and something we can discuss but the discussion
> of nix and the discussion on debug prints are two separate discussions
>         (and ideally two separate patches). To this end I would perhaps be
> partial to having some sort of additional file (/dev/kdebug?) that
>         would serve some ring buffer that can be enabled with a write and
> would serve the results. (Think /net/log). This would be a bit more costly
>         compared to being able to #ifdef them out but I think in this case
> it may be worth it.
>
> Once you feel like you've got an organized set of diffs, the code cleaned
> up, and some sort of data to make an argument I would say post it over on
> the 9front list. Or perhaps pop your head in on irc or one of our jitsi
> calls to talk it out in real time.
>
> In general, and in particular with large impact changes like this, expect
> a lot of discussion on implementation, organization, and interface for these
> patches if you want to go forward with arguing for their inclusion in
> 9front. What I tend to do is regularly review the "big diff" against
> upstream
> and check that extra stuff hasn't snuck in.
>
> Stuff like:
>
> https://github.com/majiru/9front/compare/front...nix#diff-3530d7439c30d8e9125572d4c7eb0f42ca56b6adb8b069c7ce08c023c6067e48
>
> https://github.com/majiru/9front/compare/front...nix#diff-4fac6b341748f453f31ecd0d99acc52e6069bef0d85f51200d3a498f31acc9a0R20
>
> https://github.com/majiru/9front/compare/front...nix#diff-4fac6b341748f453f31ecd0d99acc52e6069bef0d85f51200d3a498f31acc9a0R43
>
> You've got some files which are lacking trailing newlines at the very end
> of the file as well that you'll want to clean up.
>
> The short of it is now that you've got things to a working state, I'd
> start cleaning stuff up, and start asking people to review
> these cleaned up version to get feedback on the implementation. If you
> agree that this is where you're at with this.
>
> >
> > on the original NIX, as we were in an HPC mindset, we made the only TC
> core 0, and all other cores ACs.
> >
> > I am wondering about a boot-time variable, such that, if not set, there
> are no ACs; and, if set, it means "all cores from this number up" are ACs.
>
> Some sort of plan9.ini setting, maybe just a list of core numbers that you
> want to be AC's? I'm thinking something that would allow you to set a
> specific
> list of cores. If for example your intel chip makes every odd numbered
> chip an E core, you may want to interleave them.
>
> >
> > Also ... re debugging ... do you have some way of controlling, on a
> fairly fine basis, when and how to print debug messages?
>
> I ended up addressing this in the above list.
>
> >
> > jmk had done something for 9k, which we also used on blue gene and then
> NIX, not sure when (2005? Charles, do you recall?) that worked like this:
> > in, e.g., pc64, you have a dbgflg section. You could define a single
> letter for a subsystem. So, e.g.,
> > dbgflg
> >     acore 'c'
> >     tcore 'c'
> >     ioapic 'I'
> >
> > There was a macro, DBG: DBG(...)
> > DBG acts like print if the dbgflg is set FOR THAT FILE.
> >
> > This all gets munged by awk and friends such that each .c can check
> dbgflg[_DBGC_] to see whether debug prints are enabled. That's all DBG is.
> >
> > You can make all debugging go away by defining a variable to be 0 and
> letting the linker do the elision (that's one variant of the definition of
> the macros, see
> https://github.com/rminnich/nix-os/blob/regen/sys/src/nix/k10/dat.h#L409 <
> https://github.com/rminnich/nix-os/blob/regen/sys/src/nix/k10/dat.h#L409>.
> Note a typical jmk comment: horrid :-)
> >
> > long story short, you could set debug flags in the command line or in
> plan9.ini, and DBG would be enabled or not in the various subsystems. It
> was a very easy way to turn debug on and off on a per-boot-time basis.
> >
> > It was nice, but it seems to have been lost in most plan 9 kernels.
> >
> > What do people do now in legacy/9front/whatever?
> >
> > Finally, for those trying to build NIX, no binds needed. git clone the
> repo of your choice, check out the branch, cd sys/src/9/pc64, and mk.
> >
> > Finally, ... coders welcome. The level of things to do is WAY less
> daunting now that we are sort of working, and part of the goal of bringing
> NIX back is to suck people in to working on the kernel.
> >
> > thanks
> >
> >
> > On Wed, Mar 5, 2025 at 1:57 PM <tlaro...@kergis.com <mailto:
> tlaro...@kergis.com>> wrote:
> >
> >     On Wed, Mar 05, 2025 at 09:16:57PM +0100, tlaro...@kergis.com
> <mailto:tlaro...@kergis.com> wrote:
> >     > On Wed, Mar 05, 2025 at 07:11:02PM +0100, tlaro...@kergis.com
> <mailto:tlaro...@kergis.com> wrote:
> >     > > I need to update the documentation about the building (one needs
> to
> >     > > bind above the 9front hier, but also to get plan9front/firmware,
> and
> >     > > to build and install brekky).
> >     > >
> >     > > But it also uses ftq.
> >     >
> >     > BTW, execac is missing also.
> >
> >     No: here ./sys/src/cmd/execac.c; needs simply to be compiled.
> >
> >     > >
> >     > > If I'm not mistaken, the git master has an unchanged mkfile
> relating
> >     > > to several flavors (ftq{15,31,63}) but is marked as broken.
> >     > >
> >     > > Do you compile it under APE?
> >     > >
> >     > > On Mon, Mar 03, 2025 at 07:44:47PM -0800, ron minnich wrote:
> >     > > > I am now able to run the HPC FTQ benchmark and get results,
> first time
> >     > > > since 2011.
> >     > > >
> >     > > > The results are very, very good on my T420. Next step, see how
> it goes on a
> >     > > > server class machine.
> >     > > >
> >     > > > If anyone wants to help out, the rebase would be most welcome,
> as would
> >     > > > testing of your choice.
> >     > > >
> >     > > > Taking a trap on an AC still does not work. I get around that
> by making
> >     > > > sure traps won't happen but ... would be nice to fix it.
> >     > > >
> >     > > > In NIX, we had a new rfork type which would let a process flip
> itself onto
> >     > > > an AC; it would be useful to bring that over.
> >     > > >
> >     > > > Lots to do, whoever wants to help, we're open for business.
> >     > >
> >     > > --
> >     > > Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
> >     > >              http://www.kergis.com/ <http://www.kergis.com/>
> >     > >             http://kertex.kergis.com/ <http://kertex.kergis.com/
> >     > > Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006
> F40C
> >     >
> >     > --
> >     >         Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
> >     >                      http://www.kergis.com/ <
> http://www.kergis.com/>
> >     >                     http://kertex.kergis.com/ <
> http://kertex.kergis.com/>
> >     > Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006
> F40C
> >
> >     --
> >             Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
> >                          http://www.kergis.com/ <http://www.kergis.com/>
> >                         http://kertex.kergis.com/ <
> http://kertex.kergis.com/>
> >     Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C
> >
> >     ------------------------------------------
> >     9fans: 9fans
> >     Permalink:
> https://9fans.topicbox.com/groups/9fans/Tc82cdeb7e597b9d2-M39192ec6eef3979dd0ea7579
> <
> https://9fans.topicbox.com/groups/9fans/Tc82cdeb7e597b9d2-M39192ec6eef3979dd0ea7579
> >
> >     Delivery options:
> https://9fans.topicbox.com/groups/9fans/subscription <
> https://9fans.topicbox.com/groups/9fans/subscription>
> >
> > *9fans <https://9fans.topicbox.com/latest>* / 9fans / see discussions <
> https://9fans.topicbox.com/groups/9fans> + participants <
> https://9fans.topicbox.com/groups/9fans/members> + delivery options <
> https://9fans.topicbox.com/groups/9fans/subscription> Permalink <
> https://9fans.topicbox.com/groups/9fans/Tc82cdeb7e597b9d2-M90f81cabe64c4d4bcdcfd5c7

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tc82cdeb7e597b9d2-M4d418c33e9bb34bae86e6ee5
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to