Messages in this thread | | | Date | Mon, 4 Jun 2012 22:04:57 -0700 | Subject | Re: [PATCH 02/11] PCI: Try to allocate mem64 above 4G at first | From | Yinghai Lu <> |
| |
On Mon, Jun 4, 2012 at 9:50 PM, Bjorn Helgaas <bhelgaas@google.com> wrote: > On Mon, Jun 4, 2012 at 7:37 PM, Yinghai Lu <yinghai@kernel.org> wrote: >> On Sun, Jun 3, 2012 at 6:05 PM, Bjorn Helgaas <bhelgaas@google.com> wrote: >>> On Fri, Jun 1, 2012 at 4:30 PM, Yinghai Lu <yinghai@kernel.org> wrote: >>>> On Tue, May 29, 2012 at 1:50 PM, H. Peter Anvin <hpa@zytor.com> wrote: >>>>> >>>>> The bus-side address space should not be more than 32 bits no matter >>>>> what. As Bjorn indicates, you seem to be mixing up bus and cpu >>>>> addresses all over the place. >>>> >>>> please check update patches that is using converted pci bus address >>>> for boundary checking. >>> >>> What problem does this fix? There's significant risk that this >>> allocation change will make us trip over something, so it must fix >>> something to make it worth considering. >> >> If we do not enable that, we would not find the problem. > > Sorry, that didn't make any sense to me. I'm hoping you will point us > to a bug report that is fixed by this patch.
current it only help Steve's test case.
> >> On one my test setup that _CRS does state 64bit resource range, >> but when I clear some device resource manually and let kernel allocate >> high, just then find out those devices does not work with drivers. >> It turns out _CRS have more big range than what the chipset setting states. >> with fixing in BIOS, allocate high is working now on that platform. > > I didn't understand this either, sorry. Are you saying that this > patch helps us work around a BIOS defect?
Help us find out one BIOS defect.
> >> yeah, how about >> >> pci=alloc_high >> >> and default to disabled ? > > I was actually thinking of something more specific, e.g., a way to > place one device at an exact address. I've implemented that a couple > times already for testing various things. But maybe a more general > option like "pci=alloc_high" would make sense, too.
yeah.
> .... > Linux has a long history of allocating bottom-up. Windows has a long > history of allocating top-down. You're proposing a third alternative, > allocating bottom-up starting at 4GB for 64-bit BARs. If we change > this area, I would prefer something that follows Windows because I > think it will be closer to what's been tested by Windows. Do you > think your alternative is better?
hope we can figure out how windows is making it work.
Steve, Can you check if Windows is working with your test case ?
If it works, we may try do the same thing from Linux, so you will not need to append "pci=nocrs pci=alloc_high"...
Thanks
Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |