Re: Need help in bug in isolate_migratepages_range
From: Holger Kiehl
Date: Mon Feb 03 2014 - 14:50:34 EST
On Mon, 3 Feb 2014, Michal Hocko wrote:
On Mon 03-02-14 14:29:22, Holger Kiehl wrote:
I have attached it. Please, tell me if you do not get the attachment.
I hoped it would help me to get a closer compiled code to yours but I am
probably using too different gcc.
I have an old gcc, it is 4.4.1-2.
Anyway I've tried to check whether I can hook on something and it seems
that this is a race with thp merge/split or something like that.
[...]
Jan 31 13:07:43 asterix kernel: BUG: unable to handle kernel NULL pointer dereference at 000000000000001c
Jan 31 13:07:43 asterix kernel: IP: [<ffffffff810af0ac>] isolate_migratepages_range+0x32d/0x653
Jan 31 13:07:43 asterix kernel: PGD 7d3074067 PUD 7d3073067 PMD 0
Jan 31 13:07:43 asterix kernel: Oops: 0000 [#1] SMP
Jan 31 13:07:43 asterix kernel: Modules linked in: drbd lru_cache coretemp ipmi_devintf bonding nf_conntrack_ftp binfmt_misc usbhid i2c_i801 sg ehci_pci i2c_core ehci_hcd uhci_hcd i5000_edac i5k_amb ipmi_si ipmi_msghandler usbcore usb_common [last unloaded: microcode]
Jan 31 13:07:43 asterix kernel: CPU: 5 PID: 14164 Comm: java Not tainted 3.12.9 #1
Jan 31 13:07:43 asterix kernel: Hardware name: FUJITSU SIEMENS PRIMERGY RX300 S4 /D2519, BIOS 4.06 Rev. 1.04.2519 07/30/2008
Jan 31 13:07:43 asterix kernel: task: ffff8807d30b08c0 ti: ffff8807d30b2000 task.ti: ffff8807d30b2000
Jan 31 13:07:43 asterix kernel: RIP: 0010:[<ffffffff810af0ac>] [<ffffffff810af0ac>] isolate_migratepages_range+0x32d/0x653
Jan 31 13:07:43 asterix kernel: RSP: 0000:ffff8807d30b3928 EFLAGS: 00010286
Jan 31 13:07:43 asterix kernel: RAX: 0000000000000000 RBX: 000000000020ec09 RCX: 0000000000000002
Jan 31 13:07:43 asterix kernel: RDX: 2c00000000008000 RSI: 0000000000000004 RDI: 000000000000006c
Jan 31 13:07:43 asterix kernel: RBP: ffff8807d30b39f8 R08: ffff88083fbde390 R09: 0000000000000001
Jan 31 13:07:43 asterix kernel: R10: 0000000000000000 R11: ffffea000733a000 R12: ffff8807d30b3a58
Jan 31 13:07:43 asterix kernel: R13: ffffea000733a1f8 R14: 0000000000000000 R15: ffff88083ffe1d80
Jan 31 13:07:43 asterix kernel: FS: 00007f9d9e72f910(0000) GS:ffff88083fd40000(0000) knlGS:0000000000000000
Jan 31 13:07:43 asterix kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Jan 31 13:07:43 asterix kernel: CR2: 000000000000001c CR3: 00000007d3070000 CR4: 00000000000407e0
Jan 31 13:07:43 asterix kernel: Stack:
Jan 31 13:07:43 asterix kernel: 0000000000000009 ffff88083ffe16c0 ffffea00002e6af0 ffff8807d30b3998
Jan 31 13:07:43 asterix kernel: ffff8807d30b2010 00ff8807d30b08c0 ffff8807d30b08c0 000000000020f000
Jan 31 13:07:43 asterix kernel: 0000000000000000 000000000000083b 000000000000000a ffff8807d30b3a68
Jan 31 13:07:43 asterix kernel: Call Trace:
Jan 31 13:07:43 asterix kernel: [<ffffffff810a161f>] ? lru_add_drain_cpu+0x25/0x97
Jan 31 13:07:43 asterix kernel: [<ffffffff810af687>] compact_zone+0x2b5/0x319
Jan 31 13:07:43 asterix kernel: [<ffffffff810da586>] ? put_super+0x20/0x2c
Jan 31 13:07:43 asterix kernel: [<ffffffff810afa4d>] compact_zone_order+0xad/0xc4
Jan 31 13:07:43 asterix kernel: [<ffffffff810afaf5>] try_to_compact_pages+0x91/0xe8
Jan 31 13:07:43 asterix kernel: [<ffffffff8109b92d>] ? page_alloc_cpu_notify+0x3e/0x3e
Jan 31 13:07:43 asterix kernel: [<ffffffff8109da34>] __alloc_pages_direct_compact+0xae/0x195
Jan 31 13:07:43 asterix kernel: [<ffffffff8109e45d>] __alloc_pages_nodemask+0x772/0x7b5
Jan 31 13:07:43 asterix kernel: [<ffffffff810c85a3>] alloc_pages_vma+0xd6/0x101
Jan 31 13:07:43 asterix kernel: [<ffffffff810d47e3>] do_huge_pmd_anonymous_page+0x199/0x2ee
Jan 31 13:07:43 asterix kernel: [<ffffffff810b3884>] handle_mm_fault+0x1b7/0xceb
Jan 31 13:07:43 asterix kernel: [<ffffffff8105dedc>] ? __dequeue_entity+0x2e/0x33
Jan 31 13:07:43 asterix kernel: [<ffffffff8102d8c3>] __do_page_fault+0x3bd/0x3e4
Jan 31 13:07:43 asterix kernel: [<ffffffff810bbe1a>] ? mprotect_fixup+0x1c9/0x1fb
Jan 31 13:07:43 asterix kernel: [<ffffffff810aa0f0>] ? vm_mmap_pgoff+0x6d/0x8f
Jan 31 13:07:43 asterix kernel: [<ffffffff810795f5>] ? SyS_futex+0x103/0x13d
Jan 31 13:07:43 asterix kernel: [<ffffffff8102d8f3>] do_page_fault+0x9/0xb
Jan 31 13:07:43 asterix kernel: [<ffffffff813d3672>] page_fault+0x22/0x30
Jan 31 13:07:43 asterix kernel: Code: 00 41 f7 45 00 ff ff ff 01 0f 85 43 02 00 00 41 8b 45 18 85 c0 0f 89 37 02 00 00 49 8b 55 00 4c 89 e8 66 85 d2 79 04 49 8b 45 30 <8b> 40 1c 83 f8 01 0f 85 1b 02 00 00 49 8b 55 08 30 c0 48 85 d2
Jan 31 13:07:43 asterix kernel: RIP [<ffffffff810af0ac>] isolate_migratepages_range+0x32d/0x653
Jan 31 13:07:43 asterix kernel: RSP <ffff8807d30b3928>
Jan 31 13:07:43 asterix kernel: CR2: 000000000000001c
Jan 31 13:07:43 asterix kernel: ---[ end trace fba75c5b0b9175ea ]---
This seems to match:
17027: 49 8b 17 mov (%r15),%rdx # page->flags
1702a: 4c 89 f8 mov %r15,%rax
1702d: 80 e6 80 and $0x80,%dh # PageTail test
17030: 74 04 je 17036 <isolate_migratepages_range+0x2bf>
17032: 49 8b 47 30 mov 0x30(%r15),%rax # page = page->first_page
17036: 8b 40 1c mov 0x1c(%rax),%eax <<< page->_count
17039: ff c8 dec %eax
Which seems to be inlined compound_head. DH is 0x80 so this is a tail
page. This would suggest that tail page doesn't have firs_pages set up
properly and it contains NULL.
But maybe I've just matched the code incorrectly. Could you try to
disassemble your vmlinux a send the generated code, please?
Something like
objdump -d vmlinux > vmlinux.dis
and cut out isolate_migratepages_range function. Or simply upload your
vmlinux.dis somewhere so that we can download it.
I have attached the cut out. In case you want to see the full version,
you can download it from here:
ftp://ftp.dwd.de/pub/afd/test/vmlinux.dis.xz
Thank you for helping!
Regards,
Holger
vmlinux: file format elf64-x86-64
Disassembly of section .text:
ffffffff810aed7f <isolate_migratepages_range>:
ffffffff810aed7f: 55 push %rbp
ffffffff810aed80: 48 8d 46 10 lea 0x10(%rsi),%rax
ffffffff810aed84: 48 89 e5 mov %rsp,%rbp
ffffffff810aed87: 4c 8d 97 20 05 00 00 lea 0x520(%rdi),%r10
ffffffff810aed8e: 41 57 push %r15
ffffffff810aed90: 4c 8d 9f c0 05 00 00 lea 0x5c0(%rdi),%r11
ffffffff810aed97: 41 56 push %r14
ffffffff810aed99: 49 89 ff mov %rdi,%r15
ffffffff810aed9c: 41 55 push %r13
ffffffff810aed9e: 45 31 ed xor %r13d,%r13d
ffffffff810aeda1: 41 54 push %r12
ffffffff810aeda3: 49 89 f4 mov %rsi,%r12
ffffffff810aeda6: 53 push %rbx
ffffffff810aeda7: 48 89 d3 mov %rdx,%rbx
ffffffff810aedaa: 48 81 ec a8 00 00 00 sub $0xa8,%rsp
ffffffff810aedb1: 48 8d 97 30 05 00 00 lea 0x530(%rdi),%rdx
ffffffff810aedb8: 48 89 8d 68 ff ff ff mov %rcx,-0x98(%rbp)
ffffffff810aedbf: 44 88 85 5f ff ff ff mov %r8b,-0xa1(%rbp)
ffffffff810aedc6: 48 89 45 88 mov %rax,-0x78(%rbp)
ffffffff810aedca: 4c 8d 87 28 05 00 00 lea 0x528(%rdi),%r8
ffffffff810aedd1: 48 8d 87 b8 05 00 00 lea 0x5b8(%rdi),%rax
ffffffff810aedd8: 48 8d 8f 18 05 00 00 lea 0x518(%rdi),%rcx
ffffffff810aeddf: 4c 89 55 b8 mov %r10,-0x48(%rbp)
ffffffff810aede3: 4c 89 5d b0 mov %r11,-0x50(%rbp)
ffffffff810aede7: 48 89 45 a8 mov %rax,-0x58(%rbp)
ffffffff810aedeb: 48 89 55 a0 mov %rdx,-0x60(%rbp)
ffffffff810aedef: 65 4c 8b 34 25 00 b7 mov %gs:0xb700,%r14
ffffffff810aedf6: 00 00
ffffffff810aedf8: eb 4e jmp ffffffff810aee48 <isolate_migratepages_range+0xc9>
ffffffff810aedfa: 41 80 7c 24 40 00 cmpb $0x0,0x40(%r12)
ffffffff810aee00: 0f 84 a4 05 00 00 je ffffffff810af3aa <isolate_migratepages_range+0x62b>
ffffffff810aee06: 31 ff xor %edi,%edi
ffffffff810aee08: 48 89 8d 40 ff ff ff mov %rcx,-0xc0(%rbp)
ffffffff810aee0f: 4c 89 85 48 ff ff ff mov %r8,-0xb8(%rbp)
ffffffff810aee16: be 19 00 00 00 mov $0x19,%esi
ffffffff810aee1b: e8 0d ce ff ff callq ffffffff810abc2d <congestion_wait>
ffffffff810aee20: 49 8b 46 08 mov 0x8(%r14),%rax
ffffffff810aee24: 48 8b 8d 40 ff ff ff mov -0xc0(%rbp),%rcx
ffffffff810aee2b: 48 8b 40 10 mov 0x10(%rax),%rax
ffffffff810aee2f: 4c 8b 85 48 ff ff ff mov -0xb8(%rbp),%r8
ffffffff810aee36: a8 04 test $0x4,%al
ffffffff810aee38: 74 0e je ffffffff810aee48 <isolate_migratepages_range+0xc9>
ffffffff810aee3a: 41 f6 86 79 05 00 00 testb $0x1,0x579(%r14)
ffffffff810aee41: 01
ffffffff810aee42: 0f 85 62 05 00 00 jne ffffffff810af3aa <isolate_migratepages_range+0x62b>
ffffffff810aee48: 49 8b 38 mov (%r8),%rdi
ffffffff810aee4b: 48 8b 55 a0 mov -0x60(%rbp),%rdx
ffffffff810aee4f: 4c 8b 09 mov (%rcx),%r9
ffffffff810aee52: 4c 8b 55 b8 mov -0x48(%rbp),%r10
ffffffff810aee56: 48 8b 32 mov (%rdx),%rsi
ffffffff810aee59: 4c 8b 5d b0 mov -0x50(%rbp),%r11
ffffffff810aee5d: 49 8b 02 mov (%r10),%rax
ffffffff810aee60: 48 8b 55 a8 mov -0x58(%rbp),%rdx
ffffffff810aee64: 4d 8b 13 mov (%r11),%r10
ffffffff810aee67: 4c 8b 1a mov (%rdx),%r11
ffffffff810aee6a: 4d 85 db test %r11,%r11
ffffffff810aee6d: 4d 0f 48 dd cmovs %r13,%r11
ffffffff810aee71: 4d 85 d2 test %r10,%r10
ffffffff810aee74: 4d 0f 48 d5 cmovs %r13,%r10
ffffffff810aee78: 4d 01 d3 add %r10,%r11
ffffffff810aee7b: 4d 85 c9 test %r9,%r9
ffffffff810aee7e: 4d 0f 48 cd cmovs %r13,%r9
ffffffff810aee82: 48 85 ff test %rdi,%rdi
ffffffff810aee85: 49 0f 48 fd cmovs %r13,%rdi
ffffffff810aee89: 49 01 f9 add %rdi,%r9
ffffffff810aee8c: 48 85 f6 test %rsi,%rsi
ffffffff810aee8f: 49 0f 48 f5 cmovs %r13,%rsi
ffffffff810aee93: 49 01 f1 add %rsi,%r9
ffffffff810aee96: 48 85 c0 test %rax,%rax
ffffffff810aee99: 49 0f 48 c5 cmovs %r13,%rax
ffffffff810aee9d: 49 01 c1 add %rax,%r9
ffffffff810aeea0: 49 d1 e9 shr %r9
ffffffff810aeea3: 4d 39 cb cmp %r9,%r11
ffffffff810aeea6: 0f 87 4e ff ff ff ja ffffffff810aedfa <isolate_migratepages_range+0x7b>
ffffffff810aeeac: e8 a6 30 32 00 callq ffffffff813d1f57 <_cond_resched>
ffffffff810aeeb1: 45 31 f6 xor %r14d,%r14d
ffffffff810aeeb4: 49 8d 8f 80 04 00 00 lea 0x480(%r15),%rcx
ffffffff810aeebb: 48 c7 45 98 00 00 00 movq $0x0,-0x68(%rbp)
ffffffff810aeec2: 00
ffffffff810aeec3: 65 48 8b 04 25 08 b7 mov %gs:0xb708,%rax
ffffffff810aeeca: 00 00
ffffffff810aeecc: 65 4c 8b 14 25 00 b7 mov %gs:0xb700,%r10
ffffffff810aeed3: 00 00
ffffffff810aeed5: 48 2d c8 1f 00 00 sub $0x1fc8,%rax
ffffffff810aeedb: 48 89 4d a0 mov %rcx,-0x60(%rbp)
ffffffff810aeedf: c7 45 b8 00 00 00 00 movl $0x0,-0x48(%rbp)
ffffffff810aeee6: 48 c7 45 b0 00 00 00 movq $0x0,-0x50(%rbp)
ffffffff810aeeed: 00
ffffffff810aeeee: 48 c7 45 80 00 00 00 movq $0x0,-0x80(%rbp)
ffffffff810aeef5: 00
ffffffff810aeef6: 48 c7 85 70 ff ff ff movq $0x0,-0x90(%rbp)
ffffffff810aeefd: 00 00 00 00
ffffffff810aef01: 48 89 85 50 ff ff ff mov %rax,-0xb0(%rbp)
ffffffff810aef08: 4c 89 95 60 ff ff ff mov %r10,-0xa0(%rbp)
ffffffff810aef0f: e9 c2 03 00 00 jmpq ffffffff810af2d6 <isolate_migratepages_range+0x557>
ffffffff810aef14: 45 84 f6 test %r14b,%r14b
ffffffff810aef17: 74 43 je ffffffff810aef5c <isolate_migratepages_range+0x1dd>
ffffffff810aef19: 48 8d 43 01 lea 0x1(%rbx),%rax
ffffffff810aef1d: a8 1f test $0x1f,%al
ffffffff810aef1f: 75 3b jne ffffffff810aef5c <isolate_migratepages_range+0x1dd>
ffffffff810aef21: 4c 8b 9d 50 ff ff ff mov -0xb0(%rbp),%r11
ffffffff810aef28: b8 01 00 00 00 mov $0x1,%eax
ffffffff810aef2d: 49 8b 13 mov (%r11),%rdx
ffffffff810aef30: 80 e2 08 and $0x8,%dl
ffffffff810aef33: 75 13 jne ffffffff810aef48 <isolate_migratepages_range+0x1c9>
ffffffff810aef35: 48 8b 45 a0 mov -0x60(%rbp),%rax
ffffffff810aef39: 8a 10 mov (%rax),%dl
ffffffff810aef3b: 8a 40 01 mov 0x1(%rax),%al
ffffffff810aef3e: 28 d0 sub %dl,%al
ffffffff810aef40: 3c 01 cmp $0x1,%al
ffffffff810aef42: 0f 97 c0 seta %al
ffffffff810aef45: 0f b6 c0 movzbl %al,%eax
ffffffff810aef48: 85 c0 test %eax,%eax
ffffffff810aef4a: 74 10 je ffffffff810aef5c <isolate_migratepages_range+0x1dd>
ffffffff810aef4c: 48 8b 75 c8 mov -0x38(%rbp),%rsi
ffffffff810aef50: 48 8b 7d a0 mov -0x60(%rbp),%rdi
ffffffff810aef54: 45 31 f6 xor %r14d,%r14d
ffffffff810aef57: e8 7f 3f 32 00 callq ffffffff813d2edb <_raw_spin_unlock_irqrestore>
ffffffff810aef5c: f7 c3 ff 03 00 00 test $0x3ff,%ebx
ffffffff810aef62: 75 42 jne ffffffff810aefa6 <isolate_migratepages_range+0x227>
ffffffff810aef64: 48 89 d8 mov %rbx,%rax
ffffffff810aef67: 48 c1 e8 0f shr $0xf,%rax
ffffffff810aef6b: 48 3d ff ff 07 00 cmp $0x7ffff,%rax
ffffffff810aef71: 77 27 ja ffffffff810aef9a <isolate_migratepages_range+0x21b>
ffffffff810aef73: 48 89 da mov %rbx,%rdx
ffffffff810aef76: 48 c1 ea 17 shr $0x17,%rdx
ffffffff810aef7a: 48 8b 14 d5 80 4c 9a mov -0x7e65b380(,%rdx,8),%rdx
ffffffff810aef81: 81
ffffffff810aef82: 48 85 d2 test %rdx,%rdx
ffffffff810aef85: 74 13 je ffffffff810aef9a <isolate_migratepages_range+0x21b>
ffffffff810aef87: 25 ff 00 00 00 and $0xff,%eax
ffffffff810aef8c: 48 c1 e0 04 shl $0x4,%rax
ffffffff810aef90: 48 01 d0 add %rdx,%rax
ffffffff810aef93: 74 05 je ffffffff810aef9a <isolate_migratepages_range+0x21b>
ffffffff810aef95: f6 00 02 testb $0x2,(%rax)
ffffffff810aef98: 75 0c jne ffffffff810aefa6 <isolate_migratepages_range+0x227>
ffffffff810aef9a: 48 81 c3 ff 03 00 00 add $0x3ff,%rbx
ffffffff810aefa1: e9 2d 03 00 00 jmpq ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810aefa6: 48 ff 45 80 incq -0x80(%rbp)
ffffffff810aefaa: 4c 6b eb 38 imul $0x38,%rbx,%r13
ffffffff810aefae: 49 ba 00 00 00 00 00 mov $0xffffea0000000000,%r10
ffffffff810aefb5: ea ff ff
ffffffff810aefb8: 4d 01 d5 add %r10,%r13
ffffffff810aefbb: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810aefbf: 48 89 c2 mov %rax,%rdx
ffffffff810aefc2: 48 c1 e8 3c shr $0x3c,%rax
ffffffff810aefc6: 48 c1 ea 3e shr $0x3e,%rdx
ffffffff810aefca: 83 e0 03 and $0x3,%eax
ffffffff810aefcd: 48 8b 14 d5 b0 63 86 mov -0x7e799c50(,%rdx,8),%rdx
ffffffff810aefd4: 81
ffffffff810aefd5: 48 89 45 a8 mov %rax,-0x58(%rbp)
ffffffff810aefd9: 48 89 55 90 mov %rdx,-0x70(%rbp)
ffffffff810aefdd: 48 69 c0 c0 06 00 00 imul $0x6c0,%rax,%rax
ffffffff810aefe4: 48 01 d0 add %rdx,%rax
ffffffff810aefe7: 49 39 c7 cmp %rax,%r15
ffffffff810aefea: 0f 85 e3 02 00 00 jne ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810aeff0: 48 83 7d 98 00 cmpq $0x0,-0x68(%rbp)
ffffffff810aeff5: 4c 8b 5d 98 mov -0x68(%rbp),%r11
ffffffff810aeff9: 48 89 d8 mov %rbx,%rax
ffffffff810aeffc: 4d 0f 44 dd cmove %r13,%r11
ffffffff810af000: 48 c1 e8 0a shr $0xa,%rax
ffffffff810af004: 4c 89 5d 98 mov %r11,-0x68(%rbp)
ffffffff810af008: 48 89 85 78 ff ff ff mov %rax,-0x88(%rbp)
ffffffff810af00f: 41 80 7c 24 41 00 cmpb $0x0,0x41(%r12)
ffffffff810af015: 75 1b jne ffffffff810af032 <isolate_migratepages_range+0x2b3>
ffffffff810af017: ba 03 00 00 00 mov $0x3,%edx
ffffffff810af01c: be 03 00 00 00 mov $0x3,%esi
ffffffff810af021: 4c 89 ef mov %r13,%rdi
ffffffff810af024: e8 47 ba fe ff callq ffffffff8109aa70 <get_pageblock_flags_group>
ffffffff810af029: 48 85 c0 test %rax,%rax
ffffffff810af02c: 0f 85 82 02 00 00 jne ffffffff810af2b4 <isolate_migratepages_range+0x535>
ffffffff810af032: 41 8b 45 18 mov 0x18(%r13),%eax
ffffffff810af036: 83 f8 80 cmp $0xffffffffffffff80,%eax
ffffffff810af039: 0f 84 94 02 00 00 je ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af03f: 41 80 7c 24 40 00 cmpb $0x0,0x40(%r12)
ffffffff810af045: 75 2f jne ffffffff810af076 <isolate_migratepages_range+0x2f7>
ffffffff810af047: 48 8b 95 78 ff ff ff mov -0x88(%rbp),%rdx
ffffffff810af04e: 48 39 95 70 ff ff ff cmp %rdx,-0x90(%rbp)
ffffffff810af055: 74 1f je ffffffff810af076 <isolate_migratepages_range+0x2f7>
ffffffff810af057: 31 f6 xor %esi,%esi
ffffffff810af059: ba 02 00 00 00 mov $0x2,%edx
ffffffff810af05e: 4c 89 ef mov %r13,%rdi
ffffffff810af061: e8 0a ba fe ff callq ffffffff8109aa70 <get_pageblock_flags_group>
ffffffff810af066: 83 f8 02 cmp $0x2,%eax
ffffffff810af069: 74 0b je ffffffff810af076 <isolate_migratepages_range+0x2f7>
ffffffff810af06b: 41 c6 44 24 43 01 movb $0x1,0x43(%r12)
ffffffff810af071: e9 3e 02 00 00 jmpq ffffffff810af2b4 <isolate_migratepages_range+0x535>
ffffffff810af076: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af07a: a8 20 test $0x20,%al
ffffffff810af07c: 0f 85 91 00 00 00 jne ffffffff810af113 <isolate_migratepages_range+0x394>
ffffffff810af082: 41 f7 45 00 ff ff ff testl $0x1ffffff,0x0(%r13)
ffffffff810af089: 01
ffffffff810af08a: 0f 85 43 02 00 00 jne ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af090: 41 8b 45 18 mov 0x18(%r13),%eax
ffffffff810af094: 85 c0 test %eax,%eax
ffffffff810af096: 0f 89 37 02 00 00 jns ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af09c: 49 8b 55 00 mov 0x0(%r13),%rdx
ffffffff810af0a0: 4c 89 e8 mov %r13,%rax
ffffffff810af0a3: 66 85 d2 test %dx,%dx
ffffffff810af0a6: 79 04 jns ffffffff810af0ac <isolate_migratepages_range+0x32d>
ffffffff810af0a8: 49 8b 45 30 mov 0x30(%r13),%rax
ffffffff810af0ac: 8b 40 1c mov 0x1c(%rax),%eax
ffffffff810af0af: 83 f8 01 cmp $0x1,%eax
ffffffff810af0b2: 0f 85 1b 02 00 00 jne ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af0b8: 49 8b 55 08 mov 0x8(%r13),%rdx
ffffffff810af0bc: 30 c0 xor %al,%al
ffffffff810af0be: 48 85 d2 test %rdx,%rdx
ffffffff810af0c1: 74 0b je ffffffff810af0ce <isolate_migratepages_range+0x34f>
ffffffff810af0c3: 48 8b 42 78 mov 0x78(%rdx),%rax
ffffffff810af0c7: 48 c1 e8 1d shr $0x1d,%rax
ffffffff810af0cb: 83 e0 01 and $0x1,%eax
ffffffff810af0ce: 85 c0 test %eax,%eax
ffffffff810af0d0: 0f 84 fd 01 00 00 je ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af0d6: 45 84 f6 test %r14b,%r14b
ffffffff810af0d9: 0f 84 f4 01 00 00 je ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af0df: 4c 89 ef mov %r13,%rdi
ffffffff810af0e2: e8 8b 0b 00 00 callq ffffffff810afc72 <balloon_page_isolate>
ffffffff810af0e7: 84 c0 test %al,%al
ffffffff810af0e9: 0f 84 e4 01 00 00 je ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af0ef: 41 c6 44 24 43 01 movb $0x1,0x43(%r12)
ffffffff810af0f5: 49 8b 54 24 10 mov 0x10(%r12),%rdx
ffffffff810af0fa: 49 8d 45 20 lea 0x20(%r13),%rax
ffffffff810af0fe: 49 89 55 20 mov %rdx,0x20(%r13)
ffffffff810af102: 48 89 42 08 mov %rax,0x8(%rdx)
ffffffff810af106: 48 8b 4d 88 mov -0x78(%rbp),%rcx
ffffffff810af10a: 49 89 4d 28 mov %rcx,0x28(%r13)
ffffffff810af10e: e9 7e 01 00 00 jmpq ffffffff810af291 <isolate_migratepages_range+0x512>
ffffffff810af113: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af117: f6 c4 40 test $0x40,%ah
ffffffff810af11a: 74 0b je ffffffff810af127 <isolate_migratepages_range+0x3a8>
ffffffff810af11c: 45 84 f6 test %r14b,%r14b
ffffffff810af11f: 0f 84 8f 01 00 00 je ffffffff810af2b4 <isolate_migratepages_range+0x535>
ffffffff810af125: eb 61 jmp ffffffff810af188 <isolate_migratepages_range+0x409>
ffffffff810af127: 48 69 45 a8 c0 06 00 imul $0x6c0,-0x58(%rbp),%rax
ffffffff810af12e: 00
ffffffff810af12f: 41 0f b6 d6 movzbl %r14b,%edx
ffffffff810af133: 4c 8b 5d 90 mov -0x70(%rbp),%r11
ffffffff810af137: 4c 89 e1 mov %r12,%rcx
ffffffff810af13a: 49 8d bc 03 80 04 00 lea 0x480(%r11,%rax,1),%rdi
ffffffff810af141: 00
ffffffff810af142: 48 8d 75 c8 lea -0x38(%rbp),%rsi
ffffffff810af146: e8 6d f6 ff ff callq ffffffff810ae7b8 <compact_checklock_irqsave>
ffffffff810af14b: 41 88 c6 mov %al,%r14b
ffffffff810af14e: 84 c0 test %al,%al
ffffffff810af150: 0f 84 8d 01 00 00 je ffffffff810af2e3 <isolate_migratepages_range+0x564>
ffffffff810af156: 48 8b 95 60 ff ff ff mov -0xa0(%rbp),%rdx
ffffffff810af15d: 48 8b 42 08 mov 0x8(%rdx),%rax
ffffffff810af161: 48 8b 40 10 mov 0x10(%rax),%rax
ffffffff810af165: a8 04 test $0x4,%al
ffffffff810af167: 0f 84 54 02 00 00 je ffffffff810af3c1 <isolate_migratepages_range+0x642>
ffffffff810af16d: f6 82 79 05 00 00 01 testb $0x1,0x579(%rdx)
ffffffff810af174: 0f 84 47 02 00 00 je ffffffff810af3c1 <isolate_migratepages_range+0x642>
ffffffff810af17a: e9 64 01 00 00 jmpq ffffffff810af2e3 <isolate_migratepages_range+0x564>
ffffffff810af17f: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af183: f6 c4 40 test $0x40,%ah
ffffffff810af186: 74 28 je ffffffff810af1b0 <isolate_migratepages_range+0x431>
ffffffff810af188: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af18c: 31 c9 xor %ecx,%ecx
ffffffff810af18e: f6 c4 40 test $0x40,%ah
ffffffff810af191: 74 04 je ffffffff810af197 <isolate_migratepages_range+0x418>
ffffffff810af193: 41 8b 4d 60 mov 0x60(%r13),%ecx
ffffffff810af197: 41 ba 01 00 00 00 mov $0x1,%r10d
ffffffff810af19d: 41 d3 e2 shl %cl,%r10d
ffffffff810af1a0: 44 89 d1 mov %r10d,%ecx
ffffffff810af1a3: ff c9 dec %ecx
ffffffff810af1a5: 48 63 c9 movslq %ecx,%rcx
ffffffff810af1a8: 48 01 cb add %rcx,%rbx
ffffffff810af1ab: e9 23 01 00 00 jmpq ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af1b0: 8b 45 b8 mov -0x48(%rbp),%eax
ffffffff810af1b3: 4c 89 ef mov %r13,%rdi
ffffffff810af1b6: 83 c8 04 or $0x4,%eax
ffffffff810af1b9: 41 80 7c 24 40 00 cmpb $0x0,0x40(%r12)
ffffffff810af1bf: 0f 45 45 b8 cmovne -0x48(%rbp),%eax
ffffffff810af1c3: 89 45 b8 mov %eax,-0x48(%rbp)
ffffffff810af1c6: 83 c8 08 or $0x8,%eax
ffffffff810af1c9: 80 bd 5f ff ff ff 00 cmpb $0x0,-0xa1(%rbp)
ffffffff810af1d0: 0f 44 45 b8 cmove -0x48(%rbp),%eax
ffffffff810af1d4: 89 45 b8 mov %eax,-0x48(%rbp)
ffffffff810af1d7: 89 c6 mov %eax,%esi
ffffffff810af1d9: e8 b6 3e ff ff callq ffffffff810a3094 <__isolate_lru_page>
ffffffff810af1de: 85 c0 test %eax,%eax
ffffffff810af1e0: 0f 85 ed 00 00 00 jne ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af1e6: 41 c6 44 24 43 01 movb $0x1,0x43(%r12)
ffffffff810af1ec: be 04 00 00 00 mov $0x4,%esi
ffffffff810af1f1: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af1f5: a9 00 00 10 00 test $0x100000,%eax
ffffffff810af1fa: 75 20 jne ffffffff810af21c <isolate_migratepages_range+0x49d>
ffffffff810af1fc: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af200: 25 00 00 08 00 and $0x80000,%eax
ffffffff810af205: 48 83 f8 01 cmp $0x1,%rax
ffffffff810af209: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af20d: 19 f6 sbb %esi,%esi
ffffffff810af20f: 83 e0 40 and $0x40,%eax
ffffffff810af212: 83 e6 02 and $0x2,%esi
ffffffff810af215: 48 83 f8 01 cmp $0x1,%rax
ffffffff810af219: 83 de ff sbb $0xffffffffffffffff,%esi
ffffffff810af21c: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af220: 49 8b 4d 20 mov 0x20(%r13),%rcx
ffffffff810af224: 25 00 40 00 00 and $0x4000,%eax
ffffffff810af229: 49 be 00 02 20 00 00 mov $0xdead000000200200,%r14
ffffffff810af230: 00 ad de
ffffffff810af233: 48 83 f8 01 cmp $0x1,%rax
ffffffff810af237: 49 8b 45 28 mov 0x28(%r13),%rax
ffffffff810af23b: 19 d2 sbb %edx,%edx
ffffffff810af23d: 48 89 41 08 mov %rax,0x8(%rcx)
ffffffff810af241: 48 89 08 mov %rcx,(%rax)
ffffffff810af244: 4d 89 75 28 mov %r14,0x28(%r13)
ffffffff810af248: 48 b8 00 01 10 00 00 mov $0xdead000000100100,%rax
ffffffff810af24f: 00 ad de
ffffffff810af252: 81 e2 01 fe ff ff and $0xfffffe01,%edx
ffffffff810af258: 49 89 45 20 mov %rax,0x20(%r13)
ffffffff810af25c: 81 c2 00 02 00 00 add $0x200,%edx
ffffffff810af262: 48 69 7d a8 c0 06 00 imul $0x6c0,-0x58(%rbp),%rdi
ffffffff810af269: 00
ffffffff810af26a: f7 da neg %edx
ffffffff810af26c: 83 c6 02 add $0x2,%esi
ffffffff810af26f: 48 03 7d 90 add -0x70(%rbp),%rdi
ffffffff810af273: e8 9c c4 ff ff callq ffffffff810ab714 <__mod_zone_page_state>
ffffffff810af278: 49 8b 54 24 10 mov 0x10(%r12),%rdx
ffffffff810af27d: 49 8d 45 20 lea 0x20(%r13),%rax
ffffffff810af281: 49 89 55 20 mov %rdx,0x20(%r13)
ffffffff810af285: 48 89 42 08 mov %rax,0x8(%rdx)
ffffffff810af289: 4c 8b 5d 88 mov -0x78(%rbp),%r11
ffffffff810af28d: 4d 89 5d 28 mov %r11,0x28(%r13)
ffffffff810af291: 49 ff 44 24 28 incq 0x28(%r12)
ffffffff810af296: 48 ff 45 b0 incq -0x50(%rbp)
ffffffff810af29a: 49 89 44 24 10 mov %rax,0x10(%r12)
ffffffff810af29f: 49 83 7c 24 28 20 cmpq $0x20,0x28(%r12)
ffffffff810af2a5: 74 05 je ffffffff810af2ac <isolate_migratepages_range+0x52d>
ffffffff810af2a7: 41 b6 01 mov $0x1,%r14b
ffffffff810af2aa: eb 27 jmp ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af2ac: 48 ff c3 inc %rbx
ffffffff810af2af: 41 b6 01 mov $0x1,%r14b
ffffffff810af2b2: eb 2f jmp ffffffff810af2e3 <isolate_migratepages_range+0x564>
ffffffff810af2b4: 48 81 c3 00 04 00 00 add $0x400,%rbx
ffffffff810af2bb: 48 8b 85 78 ff ff ff mov -0x88(%rbp),%rax
ffffffff810af2c2: 48 81 e3 00 fc ff ff and $0xfffffffffffffc00,%rbx
ffffffff810af2c9: 48 89 85 70 ff ff ff mov %rax,-0x90(%rbp)
ffffffff810af2d0: 48 ff cb dec %rbx
ffffffff810af2d3: 48 ff c3 inc %rbx
ffffffff810af2d6: 48 3b 9d 68 ff ff ff cmp -0x98(%rbp),%rbx
ffffffff810af2dd: 0f 82 31 fc ff ff jb ffffffff810aef14 <isolate_migratepages_range+0x195>
ffffffff810af2e3: 48 c7 45 c0 00 00 00 movq $0x0,-0x40(%rbp)
ffffffff810af2ea: 00
ffffffff810af2eb: 49 8b 44 24 10 mov 0x10(%r12),%rax
ffffffff810af2f0: eb 18 jmp ffffffff810af30a <isolate_migratepages_range+0x58b>
ffffffff810af2f2: 48 8b 10 mov (%rax),%rdx
ffffffff810af2f5: 48 c1 ea 13 shr $0x13,%rdx
ffffffff810af2f9: 83 e2 01 and $0x1,%edx
ffffffff810af2fc: 83 f2 01 xor $0x1,%edx
ffffffff810af2ff: 48 63 d2 movslq %edx,%rdx
ffffffff810af302: ff 44 95 c0 incl -0x40(%rbp,%rdx,4)
ffffffff810af306: 48 8b 40 20 mov 0x20(%rax),%rax
ffffffff810af30a: 48 83 e8 20 sub $0x20,%rax
ffffffff810af30e: 48 8d 50 20 lea 0x20(%rax),%rdx
ffffffff810af312: 48 39 55 88 cmp %rdx,-0x78(%rbp)
ffffffff810af316: 75 da jne ffffffff810af2f2 <isolate_migratepages_range+0x573>
ffffffff810af318: 45 84 f6 test %r14b,%r14b
ffffffff810af31b: 8b 55 c0 mov -0x40(%rbp),%edx
ffffffff810af31e: 74 2c je ffffffff810af34c <isolate_migratepages_range+0x5cd>
ffffffff810af320: 4c 89 ff mov %r15,%rdi
ffffffff810af323: be 16 00 00 00 mov $0x16,%esi
ffffffff810af328: e8 e7 c3 ff ff callq ffffffff810ab714 <__mod_zone_page_state>
ffffffff810af32d: 4c 89 ff mov %r15,%rdi
ffffffff810af330: 8b 55 c4 mov -0x3c(%rbp),%edx
ffffffff810af333: be 17 00 00 00 mov $0x17,%esi
ffffffff810af338: e8 d7 c3 ff ff callq ffffffff810ab714 <__mod_zone_page_state>
ffffffff810af33d: 48 8b 75 c8 mov -0x38(%rbp),%rsi
ffffffff810af341: 48 8b 7d a0 mov -0x60(%rbp),%rdi
ffffffff810af345: e8 91 3b 32 00 callq ffffffff813d2edb <_raw_spin_unlock_irqrestore>
ffffffff810af34a: eb 1d jmp ffffffff810af369 <isolate_migratepages_range+0x5ea>
ffffffff810af34c: be 16 00 00 00 mov $0x16,%esi
ffffffff810af351: 4c 89 ff mov %r15,%rdi
ffffffff810af354: e8 f3 b2 ff ff callq ffffffff810aa64c <mod_zone_page_state>
ffffffff810af359: 8b 55 c4 mov -0x3c(%rbp),%edx
ffffffff810af35c: be 17 00 00 00 mov $0x17,%esi
ffffffff810af361: 4c 89 ff mov %r15,%rdi
ffffffff810af364: e8 e3 b2 ff ff callq ffffffff810aa64c <mod_zone_page_state>
ffffffff810af369: 48 3b 9d 68 ff ff ff cmp -0x98(%rbp),%rbx
ffffffff810af370: 75 15 jne ffffffff810af387 <isolate_migratepages_range+0x608>
ffffffff810af372: b9 01 00 00 00 mov $0x1,%ecx
ffffffff810af377: 48 8b 55 b0 mov -0x50(%rbp),%rdx
ffffffff810af37b: 48 8b 75 98 mov -0x68(%rbp),%rsi
ffffffff810af37f: 4c 89 e7 mov %r12,%rdi
ffffffff810af382: e8 e6 f2 ff ff callq ffffffff810ae66d <update_pageblock_skip>
ffffffff810af387: 48 8b 55 80 mov -0x80(%rbp),%rdx
ffffffff810af38b: 65 48 01 14 25 d0 dc add %rdx,%gs:0xdcd0
ffffffff810af392: 00 00
ffffffff810af394: 48 83 7d b0 00 cmpq $0x0,-0x50(%rbp)
ffffffff810af399: 74 11 je ffffffff810af3ac <isolate_migratepages_range+0x62d>
ffffffff810af39b: 48 8b 4d b0 mov -0x50(%rbp),%rcx
ffffffff810af39f: 65 48 01 0c 25 e0 dc add %rcx,%gs:0xdce0
ffffffff810af3a6: 00 00
ffffffff810af3a8: eb 02 jmp ffffffff810af3ac <isolate_migratepages_range+0x62d>
ffffffff810af3aa: 31 db xor %ebx,%ebx
ffffffff810af3ac: 48 81 c4 a8 00 00 00 add $0xa8,%rsp
ffffffff810af3b3: 48 89 d8 mov %rbx,%rax
ffffffff810af3b6: 5b pop %rbx
ffffffff810af3b7: 41 5c pop %r12
ffffffff810af3b9: 41 5d pop %r13
ffffffff810af3bb: 41 5e pop %r14
ffffffff810af3bd: 41 5f pop %r15
ffffffff810af3bf: c9 leaveq
ffffffff810af3c0: c3 retq
ffffffff810af3c1: 49 8b 45 00 mov 0x0(%r13),%rax
ffffffff810af3c5: a8 20 test $0x20,%al
ffffffff810af3c7: 0f 84 06 ff ff ff je ffffffff810af2d3 <isolate_migratepages_range+0x554>
ffffffff810af3cd: e9 ad fd ff ff jmpq ffffffff810af17f <isolate_migratepages_range+0x400>