Re: Preempt Threshold Measurements
From: Con Kolivas
Date: Tue Jul 13 2004 - 05:28:49 EST
Andrew Morton wrote:
Con Kolivas <kernel@xxxxxxxxxxx> wrote:
4ms at blkdev_put+0x48
This can run under one of two depths of lock_kernel. filemap_fdatawrite()
and filemap_fdatawait() both do cond_resched(), so this is odd.
Try this:
Thanks! I'll certainly give that a shot.
Need to see the whole trace.
Do you mean the traces from your patch or the ones that come from this
preempt test like this?
Jul 13 07:22:18 pc kernel: 4ms non-preemptible critical section violated
1 ms preempt threshold starting at exit_mmap+0x1c/0x188 and ending at
exit_mmap+0x
118/0x188
Jul 13 07:22:18 pc kernel: [<c011d769>] dec_preempt_count+0x14f/0x151
Jul 13 07:22:18 pc kernel: [<c014d0d4>] exit_mmap+0x118/0x188
Jul 13 07:22:18 pc kernel: [<c014d0d4>] exit_mmap+0x118/0x188
Jul 13 07:22:18 pc kernel: [<c011df0a>] mmput+0x61/0x7b
Jul 13 07:22:18 pc kernel: [<c01634dc>] exec_mmap+0x11d/0x248
Jul 13 07:22:18 pc kernel: [<c016364c>] flush_old_exec+0x45/0x284
Jul 13 07:22:18 pc kernel: [<c018119f>] load_elf_binary+0x3e8/0xd00
Jul 13 07:22:18 pc kernel: [<c013a9b1>] do_generic_mapping_read+0x295/0x4f2
Jul 13 07:22:18 pc kernel: [<c0164312>] search_binary_handler+0xd0/0x34c
Jul 13 07:22:18 pc kernel: [<c0180db7>] load_elf_binary+0x0/0xd00
Jul 13 07:22:18 pc kernel: [<c0164329>] search_binary_handler+0xe7/0x34c
Jul 13 07:22:18 pc kernel: [<c0164759>] do_execve+0x1cb/0x23c
Jul 13 07:22:18 pc kernel: [<c0165f39>] getname+0x55/0xb8
Jul 13 07:22:18 pc kernel: [<c0104bcf>] sys_execve+0x35/0x68
Jul 13 07:22:18 pc kernel: [<c0105fd5>] sysenter_past_esp+0x52/0x71
I can try and extract the exact points from the disassembly after some
guidance I've received (most of them seem to be buried deep in inlined
functions.) The exit_mmap one seemed to work out (as you probably saw in
my previous email) to be set off here:
profile_exit_mmap(mm);
lru_add_drain();
c014cfce: e8 18 72 ff ff call c01441eb <lru_add_drain>
spin_lock(&mm->page_table_lock);
c014cfd3: e8 16 06 fd ff call c011d5ee <inc_preempt_count>
Cheers,
Con
Attachment:
signature.asc
Description: OpenPGP digital signature