Alex Deucher
2020-May-20 16:18 UTC
[Nouveau] [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
On Wed, May 20, 2020 at 10:43 AM Christian K?nig <ckoenig.leichtzumerken at gmail.com> wrote:> > Am 13.05.20 um 13:03 schrieb Christian K?nig: > > Unfortunately AGP is still to widely used as we could just drop support for using its GART. > > > > Not using the AGP GART also doesn't mean a loss in functionality since drivers will just fallback to the driver specific PCI GART. > > > > For now just deprecate the code and don't enable the AGP GART in TTM even when general AGP support is available. > > So I've used an ancient system (32bit) to setup a test box for this. > > > The first GPU I could test is an RV280 (Radeon 9200 PRO) which is easily > 15 years old. > > What happens in AGP mode is that glxgears shows artifacts during > rendering on this system. > > In PCI mode those rendering artifacts are gone and glxgears seems to > draw everything correctly now. > > Performance is obviously not comparable, cause in AGP we don't render > all triangles correctly. > > > The second GPU I could test is an RV630 PRO (Radeon HD 2600 PRO AGP) > which is more than 10 years old. > > As far as I can tell this one works in both AGP and PCIe mode perfectly > fine. > > Since this is only a 32bit system I couldn't really test any OpenGL game > that well. > > But for glxgears switching from AGP to PCIe mode seems to result in a > roughly 5% performance drop. > > The surprising reason for this is not the better TLB performance, but > the lack of USWC support for the PCIe GART in radeon. > > > So if anybody wants to get his hands dirty and squeeze a bit more > performance out of the old hardware, porting USWC from amdgpu to radeon > shouldn't be to much of a problem.We do support USWC on radeon, although I think we had separate flags for cached and WC. That said we had a lot of problems with WC on 32 bit (see radeon_bo_create()). The other problem is that, at least on the really old radeons, the PCI gart didn't support snooped and unsnooped. It was always snooped. It wasn't until pcie that the gart hw got support for both. For AGP, the expectation was that AGP provided the uncached memory.> > > Summing it up I'm still leaning towards disabling AGP completely by > default for radeon and deprecate it in TTM as well. > > Thoughts? Especially Alex what do you think.Works for me. Alex
Christian König
2020-May-22 10:41 UTC
[Nouveau] [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
Am 20.05.20 um 18:18 schrieb Alex Deucher:> On Wed, May 20, 2020 at 10:43 AM Christian K?nig > <ckoenig.leichtzumerken at gmail.com> wrote: >> Am 13.05.20 um 13:03 schrieb Christian K?nig: >>> Unfortunately AGP is still to widely used as we could just drop support for using its GART. >>> >>> Not using the AGP GART also doesn't mean a loss in functionality since drivers will just fallback to the driver specific PCI GART. >>> >>> For now just deprecate the code and don't enable the AGP GART in TTM even when general AGP support is available. >> So I've used an ancient system (32bit) to setup a test box for this. >> >> >> The first GPU I could test is an RV280 (Radeon 9200 PRO) which is easily >> 15 years old. >> >> What happens in AGP mode is that glxgears shows artifacts during >> rendering on this system. >> >> In PCI mode those rendering artifacts are gone and glxgears seems to >> draw everything correctly now. >> >> Performance is obviously not comparable, cause in AGP we don't render >> all triangles correctly. >> >> >> The second GPU I could test is an RV630 PRO (Radeon HD 2600 PRO AGP) >> which is more than 10 years old. >> >> As far as I can tell this one works in both AGP and PCIe mode perfectly >> fine. >> >> Since this is only a 32bit system I couldn't really test any OpenGL game >> that well. >> >> But for glxgears switching from AGP to PCIe mode seems to result in a >> roughly 5% performance drop. >> >> The surprising reason for this is not the better TLB performance, but >> the lack of USWC support for the PCIe GART in radeon. >> >> >> So if anybody wants to get his hands dirty and squeeze a bit more >> performance out of the old hardware, porting USWC from amdgpu to radeon >> shouldn't be to much of a problem. > We do support USWC on radeon, although I think we had separate flags > for cached and WC. That said we had a lot of problems with WC on 32 > bit (see radeon_bo_create()). The other problem is that, at least on > the really old radeons, the PCI gart didn't support snooped and > unsnooped. It was always snooped. It wasn't until pcie that the gart > hw got support for both. For AGP, the expectation was that AGP > provided the uncached memory.Oh, indeed. I didn't remembered that. Interesting is that in this case I have no idea where the performance difference is coming from.> >> >> Summing it up I'm still leaning towards disabling AGP completely by >> default for radeon and deprecate it in TTM as well. >> >> Thoughts? Especially Alex what do you think. > Works for me.I will take that as an rb and commit at least the first patch. Thanks, Christian.> > Alex
Alex Deucher
2020-May-22 14:46 UTC
[Nouveau] [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
On Fri, May 22, 2020 at 6:41 AM Christian K?nig <ckoenig.leichtzumerken at gmail.com> wrote:> > Am 20.05.20 um 18:18 schrieb Alex Deucher: > > On Wed, May 20, 2020 at 10:43 AM Christian K?nig > > <ckoenig.leichtzumerken at gmail.com> wrote: > >> Am 13.05.20 um 13:03 schrieb Christian K?nig: > >>> Unfortunately AGP is still to widely used as we could just drop support for using its GART. > >>> > >>> Not using the AGP GART also doesn't mean a loss in functionality since drivers will just fallback to the driver specific PCI GART. > >>> > >>> For now just deprecate the code and don't enable the AGP GART in TTM even when general AGP support is available. > >> So I've used an ancient system (32bit) to setup a test box for this. > >> > >> > >> The first GPU I could test is an RV280 (Radeon 9200 PRO) which is easily > >> 15 years old. > >> > >> What happens in AGP mode is that glxgears shows artifacts during > >> rendering on this system. > >> > >> In PCI mode those rendering artifacts are gone and glxgears seems to > >> draw everything correctly now. > >> > >> Performance is obviously not comparable, cause in AGP we don't render > >> all triangles correctly. > >> > >> > >> The second GPU I could test is an RV630 PRO (Radeon HD 2600 PRO AGP) > >> which is more than 10 years old. > >> > >> As far as I can tell this one works in both AGP and PCIe mode perfectly > >> fine. > >> > >> Since this is only a 32bit system I couldn't really test any OpenGL game > >> that well. > >> > >> But for glxgears switching from AGP to PCIe mode seems to result in a > >> roughly 5% performance drop. > >> > >> The surprising reason for this is not the better TLB performance, but > >> the lack of USWC support for the PCIe GART in radeon. > >> > >> > >> So if anybody wants to get his hands dirty and squeeze a bit more > >> performance out of the old hardware, porting USWC from amdgpu to radeon > >> shouldn't be to much of a problem. > > We do support USWC on radeon, although I think we had separate flags > > for cached and WC. That said we had a lot of problems with WC on 32 > > bit (see radeon_bo_create()). The other problem is that, at least on > > the really old radeons, the PCI gart didn't support snooped and > > unsnooped. It was always snooped. It wasn't until pcie that the gart > > hw got support for both. For AGP, the expectation was that AGP > > provided the uncached memory. > > Oh, indeed. I didn't remembered that. > > Interesting is that in this case I have no idea where the performance > difference is coming from. > > > > >> > >> Summing it up I'm still leaning towards disabling AGP completely by > >> default for radeon and deprecate it in TTM as well. > >> > >> Thoughts? Especially Alex what do you think. > > Works for me. > > I will take that as an rb and commit at least the first patch.Yeah, Reviewed-by: Alex Deucher <alexander.deucher at amd.com>> > Thanks, > Christian. > > > > > Alex >
Seemingly Similar Threads
- [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
- [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
- [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
- [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM
- [RFC] Deprecate AGP GART support for Radeon/Nouveau/TTM