Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-11-01 Thread Alexander Duyck
On 10/11/2012 03:58 PM, H. Peter Anvin wrote:
> On 10/12/2012 06:40 AM, Andi Kleen wrote:
>> Patch series looks good to me. Thanks for doing this properly.
>> Reviewed-by: Andi Kleen 
>>
> Agreed.
>
> Acked-by: H. Peter Anvin 
>
> I will pick this up after the merge window closes unless Ingo beats me
> to it.  (I'm currently traveling.)
>
>   -hpa
>
>

I was wondering if this ever got picked up?  If so is there a public
tree I could find them in?

Just wondering since I have some minor changes I would like to make and
I just wanted to figure out if I should rework the patches or submit the
changes as a follow-on.

Thanks,

Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-11-01 Thread Alexander Duyck
On 10/11/2012 03:58 PM, H. Peter Anvin wrote:
 On 10/12/2012 06:40 AM, Andi Kleen wrote:
 Patch series looks good to me. Thanks for doing this properly.
 Reviewed-by: Andi Kleen a...@linux.intel.com

 Agreed.

 Acked-by: H. Peter Anvin h...@zytor.com

 I will pick this up after the merge window closes unless Ingo beats me
 to it.  (I'm currently traveling.)

   -hpa



I was wondering if this ever got picked up?  If so is there a public
tree I could find them in?

Just wondering since I have some minor changes I would like to make and
I just wanted to figure out if I should rework the patches or submit the
changes as a follow-on.

Thanks,

Alex
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Alexander Duyck
On 10/12/2012 08:15 AM, Andi Kleen wrote:
>> Could you also add  a blurb in the Documentation/< appropriate file
>> for device driver writes> mentioning the usage of __pa_symbol is
>> preferred?
> Device driver writer's shouldn't use any of this anyways, they should always
> use the PCI DMA APIs and never DMA to the stack or to static variables.
>
> -Andi

__pa_symbol is very architecture specific.  From what I can tell it only
exists for the x86 and mips architectures.  If a device driver is
expected to function on things such as PowerPC you cannot use it. 
Everything I have read indicates that for virtual to physical
translation in drivers it is preferred to use virt_to_phys, not __pa or
__pa_symbol.

Thanks,

Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Andi Kleen
> Could you also add  a blurb in the Documentation/< appropriate file
> for device driver writes> mentioning the usage of __pa_symbol is
> preferred?

Device driver writer's shouldn't use any of this anyways, they should always
use the PCI DMA APIs and never DMA to the stack or to static variables.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Konrad Rzeszutek Wilk
On Thu, Oct 11, 2012 at 4:49 PM, Alexander Duyck
 wrote:
> This patch series is meant to address several issues I encountered with VM
> translations on x86_64.  In my testing I found that swiotlb was incurring up
> to a 5% processing overhead due to calls to __phys_addr.  To address that I
> have updated swiotlb to use physical addresses instead of virtual addresses
> to reduce the need to call __phys_addr.  However those patches didn't address
> the other callers.  With these patches applied I am able to achieve an
> additional 1% to 2% performance gain on top of the changes to swiotlb.
>
> The first 2 patches are the performance optimizations that result in the 1% to
> 2% increase in overall performance.  The remaining patches are various
> cleanups for a number of spots where __pa or virt_to_phys was being called
> and was not needed or __pa_symbol could have been used.
>

Could you also add  a blurb in the Documentation/< appropriate file
for device driver writes> mentioning the usage of __pa_symbol is
preferred?

> ---
>
> Alexander Duyck (8):
>   x86/lguest: Use __pa_symbol instead of __pa on C visible symbols
>   x86/acpi: Use __pa_symbol instead of __pa on C visible symbols
>   x86/xen: Use __pa_symbol instead of __pa on C visible symbols
>   x86/ftrace: Use __pa_symbol instead of __pa on C visible symbols
>   x86: Use __pa_symbol instead of __pa on C visible symbols
>   x86: Drop 4 unnecessary calls to __pa_symbol
>   x86: Make it so that __pa_symbol can only process kernel symbols on 
> x86_64
>   x86: Improve __phys_addr performance by making use of carry flags and 
> inlining
>
>
>  arch/x86/include/asm/page.h  |3 ++-
>  arch/x86/include/asm/page_32.h   |1 +
>  arch/x86/include/asm/page_64_types.h |   20 +--
>  arch/x86/kernel/acpi/sleep.c |2 +-
>  arch/x86/kernel/cpu/intel.c  |2 +-
>  arch/x86/kernel/ftrace.c |4 ++--
>  arch/x86/kernel/head32.c |4 ++--
>  arch/x86/kernel/head64.c |4 ++--
>  arch/x86/kernel/setup.c  |   16 
>  arch/x86/kernel/x8664_ksyms_64.c |3 +++
>  arch/x86/lguest/boot.c   |3 ++-
>  arch/x86/mm/pageattr.c   |8 
>  arch/x86/mm/physaddr.c   |   35 
> --
>  arch/x86/platform/efi/efi.c  |4 ++--
>  arch/x86/realmode/init.c |8 
>  arch/x86/xen/mmu.c   |   19 ++
>  16 files changed, 91 insertions(+), 45 deletions(-)
>
> --
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Konrad Rzeszutek Wilk
On Thu, Oct 11, 2012 at 4:49 PM, Alexander Duyck
alexander.h.du...@intel.com wrote:
 This patch series is meant to address several issues I encountered with VM
 translations on x86_64.  In my testing I found that swiotlb was incurring up
 to a 5% processing overhead due to calls to __phys_addr.  To address that I
 have updated swiotlb to use physical addresses instead of virtual addresses
 to reduce the need to call __phys_addr.  However those patches didn't address
 the other callers.  With these patches applied I am able to achieve an
 additional 1% to 2% performance gain on top of the changes to swiotlb.

 The first 2 patches are the performance optimizations that result in the 1% to
 2% increase in overall performance.  The remaining patches are various
 cleanups for a number of spots where __pa or virt_to_phys was being called
 and was not needed or __pa_symbol could have been used.


Could you also add  a blurb in the Documentation/ appropriate file
for device driver writes mentioning the usage of __pa_symbol is
preferred?

 ---

 Alexander Duyck (8):
   x86/lguest: Use __pa_symbol instead of __pa on C visible symbols
   x86/acpi: Use __pa_symbol instead of __pa on C visible symbols
   x86/xen: Use __pa_symbol instead of __pa on C visible symbols
   x86/ftrace: Use __pa_symbol instead of __pa on C visible symbols
   x86: Use __pa_symbol instead of __pa on C visible symbols
   x86: Drop 4 unnecessary calls to __pa_symbol
   x86: Make it so that __pa_symbol can only process kernel symbols on 
 x86_64
   x86: Improve __phys_addr performance by making use of carry flags and 
 inlining


  arch/x86/include/asm/page.h  |3 ++-
  arch/x86/include/asm/page_32.h   |1 +
  arch/x86/include/asm/page_64_types.h |   20 +--
  arch/x86/kernel/acpi/sleep.c |2 +-
  arch/x86/kernel/cpu/intel.c  |2 +-
  arch/x86/kernel/ftrace.c |4 ++--
  arch/x86/kernel/head32.c |4 ++--
  arch/x86/kernel/head64.c |4 ++--
  arch/x86/kernel/setup.c  |   16 
  arch/x86/kernel/x8664_ksyms_64.c |3 +++
  arch/x86/lguest/boot.c   |3 ++-
  arch/x86/mm/pageattr.c   |8 
  arch/x86/mm/physaddr.c   |   35 
 --
  arch/x86/platform/efi/efi.c  |4 ++--
  arch/x86/realmode/init.c |8 
  arch/x86/xen/mmu.c   |   19 ++
  16 files changed, 91 insertions(+), 45 deletions(-)

 --
 --
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Andi Kleen
 Could you also add  a blurb in the Documentation/ appropriate file
 for device driver writes mentioning the usage of __pa_symbol is
 preferred?

Device driver writer's shouldn't use any of this anyways, they should always
use the PCI DMA APIs and never DMA to the stack or to static variables.

-Andi
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-12 Thread Alexander Duyck
On 10/12/2012 08:15 AM, Andi Kleen wrote:
 Could you also add  a blurb in the Documentation/ appropriate file
 for device driver writes mentioning the usage of __pa_symbol is
 preferred?
 Device driver writer's shouldn't use any of this anyways, they should always
 use the PCI DMA APIs and never DMA to the stack or to static variables.

 -Andi

__pa_symbol is very architecture specific.  From what I can tell it only
exists for the x86 and mips architectures.  If a device driver is
expected to function on things such as PowerPC you cannot use it. 
Everything I have read indicates that for virtual to physical
translation in drivers it is preferred to use virt_to_phys, not __pa or
__pa_symbol.

Thanks,

Alex
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread H. Peter Anvin
On 10/12/2012 06:40 AM, Andi Kleen wrote:
> 
> Patch series looks good to me. Thanks for doing this properly.
> Reviewed-by: Andi Kleen 
> 

Agreed.

Acked-by: H. Peter Anvin 

I will pick this up after the merge window closes unless Ingo beats me
to it.  (I'm currently traveling.)

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread Andi Kleen

Patch series looks good to me. Thanks for doing this properly.
Reviewed-by: Andi Kleen 

-Andi
-- 
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread Alexander Duyck
This patch series is meant to address several issues I encountered with VM
translations on x86_64.  In my testing I found that swiotlb was incurring up
to a 5% processing overhead due to calls to __phys_addr.  To address that I
have updated swiotlb to use physical addresses instead of virtual addresses
to reduce the need to call __phys_addr.  However those patches didn't address
the other callers.  With these patches applied I am able to achieve an
additional 1% to 2% performance gain on top of the changes to swiotlb.

The first 2 patches are the performance optimizations that result in the 1% to
2% increase in overall performance.  The remaining patches are various
cleanups for a number of spots where __pa or virt_to_phys was being called
and was not needed or __pa_symbol could have been used.

---

Alexander Duyck (8):
  x86/lguest: Use __pa_symbol instead of __pa on C visible symbols
  x86/acpi: Use __pa_symbol instead of __pa on C visible symbols
  x86/xen: Use __pa_symbol instead of __pa on C visible symbols
  x86/ftrace: Use __pa_symbol instead of __pa on C visible symbols
  x86: Use __pa_symbol instead of __pa on C visible symbols
  x86: Drop 4 unnecessary calls to __pa_symbol
  x86: Make it so that __pa_symbol can only process kernel symbols on x86_64
  x86: Improve __phys_addr performance by making use of carry flags and 
inlining


 arch/x86/include/asm/page.h  |3 ++-
 arch/x86/include/asm/page_32.h   |1 +
 arch/x86/include/asm/page_64_types.h |   20 +--
 arch/x86/kernel/acpi/sleep.c |2 +-
 arch/x86/kernel/cpu/intel.c  |2 +-
 arch/x86/kernel/ftrace.c |4 ++--
 arch/x86/kernel/head32.c |4 ++--
 arch/x86/kernel/head64.c |4 ++--
 arch/x86/kernel/setup.c  |   16 
 arch/x86/kernel/x8664_ksyms_64.c |3 +++
 arch/x86/lguest/boot.c   |3 ++-
 arch/x86/mm/pageattr.c   |8 
 arch/x86/mm/physaddr.c   |   35 --
 arch/x86/platform/efi/efi.c  |4 ++--
 arch/x86/realmode/init.c |8 
 arch/x86/xen/mmu.c   |   19 ++
 16 files changed, 91 insertions(+), 45 deletions(-)

-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread Alexander Duyck
This patch series is meant to address several issues I encountered with VM
translations on x86_64.  In my testing I found that swiotlb was incurring up
to a 5% processing overhead due to calls to __phys_addr.  To address that I
have updated swiotlb to use physical addresses instead of virtual addresses
to reduce the need to call __phys_addr.  However those patches didn't address
the other callers.  With these patches applied I am able to achieve an
additional 1% to 2% performance gain on top of the changes to swiotlb.

The first 2 patches are the performance optimizations that result in the 1% to
2% increase in overall performance.  The remaining patches are various
cleanups for a number of spots where __pa or virt_to_phys was being called
and was not needed or __pa_symbol could have been used.

---

Alexander Duyck (8):
  x86/lguest: Use __pa_symbol instead of __pa on C visible symbols
  x86/acpi: Use __pa_symbol instead of __pa on C visible symbols
  x86/xen: Use __pa_symbol instead of __pa on C visible symbols
  x86/ftrace: Use __pa_symbol instead of __pa on C visible symbols
  x86: Use __pa_symbol instead of __pa on C visible symbols
  x86: Drop 4 unnecessary calls to __pa_symbol
  x86: Make it so that __pa_symbol can only process kernel symbols on x86_64
  x86: Improve __phys_addr performance by making use of carry flags and 
inlining


 arch/x86/include/asm/page.h  |3 ++-
 arch/x86/include/asm/page_32.h   |1 +
 arch/x86/include/asm/page_64_types.h |   20 +--
 arch/x86/kernel/acpi/sleep.c |2 +-
 arch/x86/kernel/cpu/intel.c  |2 +-
 arch/x86/kernel/ftrace.c |4 ++--
 arch/x86/kernel/head32.c |4 ++--
 arch/x86/kernel/head64.c |4 ++--
 arch/x86/kernel/setup.c  |   16 
 arch/x86/kernel/x8664_ksyms_64.c |3 +++
 arch/x86/lguest/boot.c   |3 ++-
 arch/x86/mm/pageattr.c   |8 
 arch/x86/mm/physaddr.c   |   35 --
 arch/x86/platform/efi/efi.c  |4 ++--
 arch/x86/realmode/init.c |8 
 arch/x86/xen/mmu.c   |   19 ++
 16 files changed, 91 insertions(+), 45 deletions(-)

-- 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread Andi Kleen

Patch series looks good to me. Thanks for doing this properly.
Reviewed-by: Andi Kleen a...@linux.intel.com

-Andi
-- 
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 0/8] Improve performance of VM translation on x86_64

2012-10-11 Thread H. Peter Anvin
On 10/12/2012 06:40 AM, Andi Kleen wrote:
 
 Patch series looks good to me. Thanks for doing this properly.
 Reviewed-by: Andi Kleen a...@linux.intel.com
 

Agreed.

Acked-by: H. Peter Anvin h...@zytor.com

I will pick this up after the merge window closes unless Ingo beats me
to it.  (I'm currently traveling.)

-hpa


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/