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>