Messages in this thread | | | Date | Fri, 18 Nov 2005 13:57:47 -0800 (PST) | From | Kenny Simpson <> | Subject | Re: mmap over nfs leads to excessive system load |
| |
--- Andrew Morton <akpm@osdl.org> wrote: > Could you send the test app please? (Apologies if you've already done so > and I missed it).
Here is an strace from a reduced test: open("/mnt/bar", O_RDWR|O_CREAT|O_DIRECT|O_LARGEFILE, 0644) = 3 pwrite(3, "\0", 1, 4292870144) = 1 mmap2(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0xffc00) = 0xb7ace000 pwrite(3, "\0", 1, 4294967296) = 1 munmap(0xb7ace000, 2097152) = 0 mmap2(0xb7ace000, 2097152, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0xffe00) = 0xb7ace000 pwrite(3, "\0", 1, 4297064448) = 1 munmap(0xb7ace000, 2097152) = 0 mmap2(0xb7ace000, 2097152, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0x100000) = 0xb7ace000 pwrite(3, "\0", 1, 4299161600) = 1 munmap(0xb7ace000, 2097152) = 0 mmap2(0xb7ace000, 2097152, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0x100200) = 0xb7ace000 pwrite(3, "\0", 1, 4301258752
The final pwrite never returns. This is with 2.6.15-rc1 + Trond's NFS patch (-mm2 would die on strace).
The only change from the previous test is that this one uses munmap/mmap64 instead of remap_file_pages.
showPc shows:
SysRq : Show Regs
Pid: 4271, comm: writetest EIP: 0060:[<c029cd2b>] CPU: 0 EIP is at prio_tree_first+0x26/0xb8 EFLAGS: 00000292 Tainted: P (2.6.15-rc1) EAX: 00000000 EBX: f6765d94 ECX: f6765d94 EDX: 00000200 ESI: 00000000 EDI: f5da475c EBP: f6765db4 DS: 007b ES: 007b CR0: 8005003b CR2: b7590000 CR3: 36b5d000 CR4: 000006d0 [<c029ce5e>] prio_tree_next+0xa1/0xa3 [<c014822a>] vma_prio_tree_next+0x27/0x51 [<c014b1dc>] unmap_mapping_range+0x18b/0x210 [<c0120d06>] __do_softirq+0x6a/0xd1 [<c0103a24>] apic_timer_interrupt+0x1c/0x24 [<c0146577>] invalidate_inode_pages2_range+0x215/0x24c [<c01465cd>] invalidate_inode_pages2+0x1f/0x26 [<c01e4031>] nfs_file_direct_write+0x1e1/0x21a [<c0159ea4>] do_sync_write+0xc7/0x10d [<c012ff32>] autoremove_wake_function+0x0/0x57 [<c0159f92>] vfs_write+0xa8/0x177 [<c015a275>] sys_pwrite64+0x88/0x8c [<c0102f51>] syscall_call+0x7/0xb
-Kenny
__________________________________ Yahoo! FareChase: Search multiple travel sites in one click. http://farechase.yahoo.com - 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/
| |