Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-09 Thread Andi Kleen
On Wednesday 08 March 2006 11:45, Eric Dumazet wrote: Andi Kleen a écrit : Can you send tested patches with proper descriptions and signed off lines please? -Andi You are welcome Andi :) Applied. Please put the description next time into the attachment too (or better send

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-08 Thread Eric Dumazet
Eric Dumazet a écrit : 8011db70 pfn_to_page: /* pfn_to_page total: 487244 0.8036 */ 18501 0.0305 :8011db70: mov2965994(%rip),%ecx # memnode_shift 83312 0.1374 :8011db76: mov%rdi,%rax 2 3.3e-06 :8011db79: push %rbp

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-08 Thread Andi Kleen
On Wednesday 08 March 2006 03:38, Benjamin LaHaise wrote: It's hardly that uncommon for pages to cross cachelines or for pages to move around CPUs with networking. Data? Please name some sort of benchmarks that show your concerns for decreased performance. Anything that manipulates lots

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-08 Thread Andi Kleen
On Wednesday 08 March 2006 10:09, Eric Dumazet wrote: I suggest the following change (seems better than playing vmlinux.lds games) include/asm-x86_64/mmzone.h struct memnode { int shift; u8 map[NODEMAPSIZE]; } cacheline_aligned; extern struct memnode memnode; #define

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-08 Thread Eric Dumazet
Andi Kleen a écrit : Can you send tested patches with proper descriptions and signed off lines please? -Andi You are welcome Andi :) [PATCH] x86_64 : group memnodemap and memnodeshift in a memnode structure pfn_to_page() and others need to access both memnode_shift and the very first

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-08 Thread Andi Kleen
On Wednesday 08 March 2006 17:07, Benjamin LaHaise wrote: You haven't come up with any data to support your position, You're proposing to waste 0.1% of the memory of the system with a quite dubious optimization. Unless you're showing real gains on some macro benchmark I won't accept that

[PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-07 Thread Benjamin LaHaise
Hi Andi, On x86-64 one inefficiency that shows up on profiles is the handling of struct page conversion to/from idx and addresses. This is mostly due to the fact that struct page is currently 56 bytes on x86-64, so gcc has to emit a slow division or multiplication to convert. By switching to

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-07 Thread Andi Kleen
On Wednesday 08 March 2006 00:26, Benjamin LaHaise wrote: Hi Andi, On x86-64 one inefficiency that shows up on profiles is the handling of struct page conversion to/from idx and addresses. This is mostly due to the fact that struct page is currently 56 bytes on x86-64, so gcc has to

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-07 Thread Andi Kleen
On Wednesday 08 March 2006 02:29, Benjamin LaHaise wrote: On Tue, Mar 07, 2006 at 05:27:37PM +0100, Andi Kleen wrote: On Wednesday 08 March 2006 00:26, Benjamin LaHaise wrote: Hi Andi, On x86-64 one inefficiency that shows up on profiles is the handling of struct page conversion

Re: [PATCH] x86-64, use page-virtual to get 64 byte struct page

2006-03-07 Thread Eric Dumazet
Andi Kleen a écrit : My vmlinux has 80278382 pfn_to_page: 80278382: 8b 0d 78 ea 41 00 mov4319864(%rip),%ecx# 80696e00 memnode_shift 80278388: 48 89 f8mov%rdi,%rax 8027838b: 48 c1 e0 0c