Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Mar 2019 15:24:33 -0800
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Rick Macklem <rmacklem@uoguelph.ca>,Edward Napierala <trasz@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r344758 - in head/sys/fs: nfs nfsserver
Message-ID:  <59652042-485B-41DE-9421-DC7AA6CC8D83@cschubert.com>
In-Reply-To: <QB1PR01MB3537715B615DC86781069252DD710@QB1PR01MB3537.CANPRD01.PROD.OUTLOOK.COM>
References:  Message from Edward Napierala <trasz@freebsd.org> of "Mon, 04 Mar 2019 15:26:39 %2B0000." <CAFLM3-pFi_-yhMx4bhm_0S5FK3BdLh1xbXV%2BcKgPks7d8cttMw@mail.gmail.com>, <201903042025.x24KP9uU021607@slippy.cwsent.com> <QB1PR01MB3537715B615DC86781069252DD710@QB1PR01MB3537.CANPRD01.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
On March 4, 2019 3:13:05 PM PST, Rick Macklem <rmacklem@uoguelph=2Eca> wrot=
e:
>Cy Schubert wrote:
>>Sent: Monday, March 4, 2019 3:25 PM
>>To: Edward Napierala
>>Cc: Cy Schubert; Konstantin Belousov; src-committers;
>svn-src-all@freebsd=2Eorg; svn-src->head@freebsd=2Eorg
>>Subject: Re: svn commit: r344758 - in head/sys/fs: nfs nfsserver
>>
>>In message
><CAFLM3-pFi_-yhMx4bhm_0S5FK3BdLh1xbXV+cKgPks7d8cttMw@mail=2Egma
>il=2Ecom>
>, Edward Napierala writes:
>>> pon=2E, 4 mar 2019 o 15:17 Cy Schubert <Cy=2ESchubert@cschubert=2Ecom>
>napisa=C3=85=E2=80=9A(a):
>>> >
>>> > On March 4, 2019 6:30:21 AM PST, Konstantin Belousov
><kostikbel@gmail=2Ecom>
>>> wrote:
>>> > >On Mon, Mar 04, 2019 at 01:31:37PM +0000, Edward Napierala wrote:
>>> > >> pon=2E, 4 mar 2019 o 13:20 Konstantin Belousov
><kostikbel@gmail=2Ecom>
>>> > >napisa=C3=85=E2=80=9A(a):
>>> > >> > > +     p =3D curthread;
>>> > >> > Why do you name it 'p', which is typical for process, and not
>'td',
>>> > >you are
>>> > >> > changing most of the code anyway=2E
>>> > >>
>>> > >> To keep the diff size smaller=2E  You're right, this touches a
>lot of
>>> > >stuff,
>>> > >> but most of those added lines are temporary anyway - they will
>be
>>> > >> removed later, when the td is pushed down even more=2E
>>> > >But if you create code churn, doing it only half way is worse=2E
>>> > >
>>> > >>
>>> > >> > Also I am curious why=2E It is certainly fine to remove td when
>it is
>>> > >used
>>> > >> > as a formal placeholder argument only=2E But when the first
>action in
>>> > >the
>>> > >> > function is evaluation of curthread() it becomes less
>obvious=2E
>>> > >>
>>> > >> Again, many/most of those are temporary=2E  I'm trying to push td
>down
>>> > >> in small steps, "layer by layer", so it's easy to review=2E
>>> > >>
>>> > >> > curthread() become very cheap on modern amd64, I am not so
>sure
>>> > >about
>>> > >> > older machines or non-x86 cases=2E
>>> > >>
>>> > >> The main reason is readability=2E  Right now there's no easy way
>to
>>> > >tell whether
>>> > >> a function can be passed any td, or if it must be curthread=2E
>>> > >I must admit that this is the weirdnest argument against 'td'
>that I
>>> > >ever
>>> > >heard=2E  I saw more or less reasonable argumentation
>>> > >- that using less arguments make one more register for argument
>passing
>>> > >  (amd64 has 6 input arg regs),
>>> > >- that less arguments make smaller call code=2E
>>> > >But trust me, in all cases where function can take td !=3D
>curthread, it
>>> > >is
>>> > >either obvious or well-known for anybody who works with that
>code=2E
>>> > >
>>> > >Before you start doing a lot of small changes (AKA continous
>churn)
>>> > >please formulate your goals and get some public feedback=2E  My
>immediate
>>> > >question that I want answered before you ever start touching the
>code,
>>> > >is what you plan to do with
>>> > >       sys_syscall(struct thread *td, uap)
>>> >
>>> > Agreed on all points=2E At the very least this group of commits
>should be rev
>>> iewed on phabricator=2E
>>>
>>> It has been, even though they are pretty much mechanical changes=2E
>>>
>>> > Can we back all these commits out until there is a proper review,
>please?
>>>
>>> The review from the NFS maintainer is not enough?
>>>
>Btw, I've never listed myself as the NFS maintainer=2E I need to go look
>to see if
>someone else put me in the maintainer's list=2E I understand that it is
>mostly authored
>by me, but I consider it FreeBSD project code once committed=2E (Others
>do commits
>to it without my review and that is just fine with me=2E)
>
>>As it's NFS-only maybe though for anything substantial, like this, the
>>more eyes the better=2E
>>
>>I'd agree with kib@ that we want to keep the amount of churn down,
>>though it's understood that you want to separate the functional
>changes
>>from the cosmetic ones=2E I tend to do the review and use git svn to
>>separate the functional from the cosmetic changes, batching changes if
>>I can=2E It's more work but IMO well worth it=2E
>This is way too technical for me=2E I can barely look at a "diff" and
>make sense of it=2E;-)
>
>It sounds like there needs to be a discussion (on freebsd-fs@ perhaps?)
>of the
>"big picture change" here=2E
>
>All I am going to do with the patches in phabricator is take a quick
>look to see
>if I can spot anything that will break the code=2E
>(I did mention that I didn't understand why he was doing this in one of
>the reviews,
> but noted that it didn't break anything=2E)

IMO the why is always more important than the how=2E If there is no reason=
 why then how is irrelevant=2E

>
>Oh, and the variable was called "p" because the code started in
>OpenBSD, where it
>was a proc ptr and I kept it portable by replacing "struct proc" with
>NFSPROC_T=2E
>(This portability is no longer a consideration=2E)
>
>I'll hold off on further phabricator reviews until the "big picture"
>change gets discussed
>on some mailing list=2E (I don't see phabricator as the correct tool for
>"big picture"
>discussions=2E)
>
>rick

Hopefully my inline reply on this phone worked=2E If not I'll try again to=
night=2E

--=20
Pardon the typos and autocorrect, small keyboard in use=2E
Cheers,
Cy Schubert <Cy=2ESchubert@cschubert=2Ecom>
FreeBSD UNIX: <cy@FreeBSD=2Eorg> Web: http://www=2EFreeBSD=2Eorg

	The need of the many outweighs the greed of the few=2E



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59652042-485B-41DE-9421-DC7AA6CC8D83>