Re: [nicholas.johnson-opensource@xxxxxxxxxxxxxx: [PATCH v6 4/4] PCI: Add pci=hpmemprefsize parameter to set MMIO_PREF size independently]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 20, 2019 at 11:11:05PM -0600, Logan Gunthorpe wrote:
> 
> 
> On 2019-06-20 8:57 p.m., Nicholas Johnson wrote:
> >> Adding two new parameters sounds like a good idea to me.
> > Yeah, that is basically what I did originally (except I depreciated the 
> > old ones rather than keeping them).
> > 
> > I did it this way on your direct advice in keeping with minimal lines of 
> > diff, minimal disruption, etc. If I were to do this, the number of lines 
> > of diff will increase and then I will be fielding complaints that it is 
> > too large to sign off.
> > 
> > I am already scrambling to make last minute changes before end of 
> > release to the other patches and I am not even convinced that that stuff 
> > is going to get accepted based on proximity to deadline and how many 
> > change requests are flying around.
> 
> Friendly advice: Linux Kernel development doesn't really work on
> deadlines. The patch I linked you to has already been around a couple of
> cycles and has missed a couple of merge windows. It's not that big of a
> deal. I  try to make it better, if I can, and resubmit it once or twice
> a cycle. It will get in when other people understand it and it meets the
> community's standards. I had one patch set I submitted for more than a
> year and a half, or 25 times, and it eventually got picked up. It's not
> always the best experience but patience, persistence and openness to
> feedback are what works.
> 
> New kernel parameters are important to get right because they are user
> facing interfaces and we are stuck with them forever -- breaking
> existing users is simply not accepted here. Deprecating features is an
> extreme action that the Linux community takes pains to avoid. If we cede
> to deadlines to get a new parameter in, and it turns out to be
> non-ideal, then we are stuck supporting it forever and it's painful for
> everyone.
> 
> Logan
Thanks for advice. I do believe you are correct. I guess it is my 
inexperience - I have trouble telling what is normal and what to expect 
from the process. But I am not feeling like this is any closer to 
submission than on day one - no sense of progress. It is not reassuring 
and I do wonder if I will ever manage to get it right.

None of this is technically Thunderbolt-specific, but that is the use 
case, and if a single one of these patches does not make it in then the 
use case of Thunderbolt without firmware support will remain broken. The 
only benefit of a partial acception is patch #1 which fixes a bug report 
by Mika Westerberg on its own, so I guess that would be a win. If it has 
to wait another cycle then I will live with it, but this is the cause of 
my anxiety.

I can look at this patch again, but my concerns are the following:

- If we avoid depreciation, then that implies this patch is ideal - we 
are not breaking anything for existing users. We can set MMIO on its own 
with pci=hpmemsize and by setting pci=hpmemprefsize to the default size of 
2M (so it remains unchanged).

- If we have two sets of parameters, then we have to support having two 
sets for eternity, and the loss of minimalism and the potential for 
confusion. The description in kernel-parameters.txt will become 
confusing with a lot of "if this" and "if that".

- How do we deal with order if both are specified? It will become 
unclean.

- If we make two new ones, then what should they be called? I propose 
hp_mmio_size and hp_mmio_pref_size from my original submission. Then 
should hpiosize be aliased to hp_io_size to keep the consistency?

- I am quite surprised that when 64-bit window support was added to the 
kernel, that this was not done then, although I am not good enough at 
navigating the mailing list to see what actually happened.

Should I perhaps forward my original submission for this patch again and 
you can see if there is anything to salvage from that that?

Cheers



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux