2005-11-09 23:31:06

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH] AGP performance fixes

On Wed, 2005-11-09 at 12:02 -0800, Linux Kernel Mailing List wrote:
> tree 048db8e12c2b31ec2b88c3154da4c6a77b80028c
> parent 329f7dba5f7dc3bc9a30ad00cf373d2e83115aa1
> author Alan Hourihane <[email protected]> Mon, 07 Nov 2005 15:35:34 -0800
> committer Dave Jones <[email protected]> Wed, 09 Nov 2005 05:43:54 -0800
>
> [PATCH] AGP performance fixes
>
> AGP allocation/deallocation is suffering major performance issues due to
> the nature of global_flush_tlb() being called on every change_page_attr()
> call.

.../...

*** Warning: ".global_flush_tlb" [drivers/char/agp/agpgart.ko] undefined!

Am I supposed to define something new for uninorth-agp ? Is this yet another
x86-only (or worse, some x86 chipsets only concept going global ?

Ben.



2005-11-09 23:44:13

by Alan Hourihane

[permalink] [raw]
Subject: Re: [PATCH] AGP performance fixes

On Thu, 2005-11-10 at 10:29 +1100, Benjamin Herrenschmidt wrote:
> On Wed, 2005-11-09 at 12:02 -0800, Linux Kernel Mailing List wrote:
> > tree 048db8e12c2b31ec2b88c3154da4c6a77b80028c
> > parent 329f7dba5f7dc3bc9a30ad00cf373d2e83115aa1
> > author Alan Hourihane <[email protected]> Mon, 07 Nov 2005 15:35:34 -0800
> > committer Dave Jones <[email protected]> Wed, 09 Nov 2005 05:43:54 -0800
> >
> > [PATCH] AGP performance fixes
> >
> > AGP allocation/deallocation is suffering major performance issues due to
> > the nature of global_flush_tlb() being called on every change_page_attr()
> > call.
>
> .../...
>
> *** Warning: ".global_flush_tlb" [drivers/char/agp/agpgart.ko] undefined!
>
> Am I supposed to define something new for uninorth-agp ? Is this yet another
> x86-only (or worse, some x86 chipsets only concept going global ?

change global_flush_tlb() to flush_agp_mappings() and you should be
fine.

Linus has a fix for this.

Alan.

2005-11-09 23:55:28

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH] AGP performance fixes


> > Am I supposed to define something new for uninorth-agp ? Is this yet another
> > x86-only (or worse, some x86 chipsets only concept going global ?
>
> change global_flush_tlb() to flush_agp_mappings() and you should be
> fine.
>
> Linus has a fix for this.

Yup, it just showed up in git, thanks.

Ben.