* I just got got another Oops
@ 2009-03-12 5:33 Gene Heskett
2009-03-12 6:27 ` KAMEZAWA Hiroyuki
2009-03-12 8:36 ` David Newall
0 siblings, 2 replies; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 5:33 UTC (permalink / raw)
To: linux-kernel@vger.kernel.org, bug-tar
Greetings all;
This is the 2nd or 3rd one of these I've seen.
This one may have a better set of clues as it occured about 1 second
after amanda started the backup run:
==============================
Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970 from=::ffff:192.168.71.3
Mar 12 01:16:21 coyote kernel: [10353.910914] BUG: unable to handle kernel NULL pointer dereference at 00000006
Mar 12 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0
Mar 12 01:16:21 coyote kernel: [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000
Mar 12 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
Mar 12 01:16:21 coyote kernel: [10353.910937] last sysfs file: /sys/devices/pci0000:00/0000:00:09.0/irq
Mar 12 01:16:21 coyote kernel: [10353.910940] Modules linked in: nls_utf8 cifs radeon drm nfsd lockd nfs_acl auth_rpcgss rfcomm
exportfs sco bridge stp llc bnep l2cap autofs4 sunrpc ipv6 or51132 cx88_dvb snd_emu10k1_synth videobuf_dvb snd_emux_synth
dvb_core snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types snd_emu10k1 tda9887 snd_rawmidi tda8290 snd_ac97_codec
ac97_bus snd_seq_dummy snd_seq_oss tuner snd_seq_midi_event snd_seq snd_pcm_oss cx8800 cx8802 cx88xx snd_mixer_oss snd_pcm
snd_seq_device ir_common v4l2_common videodev i2c_algo_bit snd_timer snd_page_alloc tveeprom v4l1_compat snd_util_mem btcx_risc
snd_hwdep ftdi_sio videobuf_dma_sg usb_storage snd forcedethfirewire_ohci floppy videobuf_core btusb firewire_core usbserial
sr_mod usblp bluetooth cdrom sg soundcore i2c_nforce2 pcspkr crc_itu_t joydev i2c_core evdev button ahci pata_jmicron pata_amd
ata_generic pata_acpi sata_nv libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded:
scsi_wait_scan]
Mar 12 01:16:21 coyote kernel: [10353.910986]
Mar 12 01:16:21 coyote kernel: [10353.910989] Pid: 9222, comm: tar Not tainted (2.6.29-rc7 #4) System Product Name
Mar 12 01:16:21 coyote kernel: [10353.910992] EIP: 0060:[<c046520b>] EFLAGS: 00210202 CPU: 2
Mar 12 01:16:21 coyote kernel: [10353.910995] EIP is at get_page_from_freelist+0x24b/0x4c0
Mar 12 01:16:21 coyote kernel: [10353.910997] EAX: ffffffff EBX: 80004000 ECX: 00000001 EDX: 00000002
Mar 12 01:16:21 coyote kernel: [10353.910999] ESI: c28fc260 EDI: 00000000 EBP: c0b35d5c ESP: c0b35cfc
Mar 12 01:16:21 coyote kernel: [10353.911001] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Mar 12 01:16:21 coyote kernel: [10353.911004] Process tar (pid: 9222, ti=c0b35000 task=f2817520 task.ti=c0b35000)
Mar 12 01:16:21 coyote kernel: [10353.911005] Stack:
Mar 12 01:16:21 coyote kernel: [10353.911006] 00000002 00000044 00000000 00000000 00000000 c0744b80 c06d6480 00000002
Mar 12 01:16:21 coyote kernel: [10353.911011] 00000000 00000000 001201d2 00000002 00200246 00000001 c06d6900 00000100
Mar 12 01:16:21 coyote kernel: [10353.911015] 00000000 c0b35dac c06d7484 c06d6480 c06d6480 c06d6480 f2817520 00002f66
Mar 12 01:16:21 coyote kernel: [10353.911020] Call Trace:
Mar 12 01:16:21 coyote kernel: [10353.911022] [<c04655fe>] ? __alloc_pages_internal+0xae/0x430
Mar 12 01:16:21 coyote kernel: [10353.911028] [<f82b5c60>] ? ext3_readpages+0x0/0x20 [ext3]
Mar 12 01:16:21 coyote kernel: [10353.911040] [<c04676b4>] ? __do_page_cache_readahead+0xe4/0x1e0
Mar 12 01:16:21 coyote kernel: [10353.911044] [<c0467a9b>] ? ondemand_readahead+0x15b/0x180
Mar 12 01:16:21 coyote kernel: [10353.911047] [<c0467b38>] ? page_cache_async_readahead+0x78/0x90
Mar 12 01:16:21 coyote kernel: [10353.911050] [<c0461434>] ? generic_file_aio_read+0x314/0x670
Mar 12 01:16:21 coyote kernel: [10353.911058] [<c048a011>] ? do_sync_read+0xd1/0x110
Mar 12 01:16:21 coyote kernel: [10353.911061] [<c04133a3>] ? lapic_next_event+0x13/0x20
Mar 12 01:16:21 coyote kernel: [10353.911065] [<c043c3c0>] ? autoremove_wake_function+0x0/0x50
Mar 12 01:16:21 coyote kernel: [10353.911069] [<c0447c4b>] ? tick_program_event+0x2b/0x40
Mar 12 01:16:21 coyote kernel: [10353.911072] [<c0440086>] ? hrtimer_interrupt+0xd6/0x220
Mar 12 01:16:21 coyote kernel: [10353.911075] [<c048aac9>] ? vfs_read+0x99/0x140
Mar 12 01:16:21 coyote kernel: [10353.911077] [<c0458e20>] ? audit_syscall_exit+0x1e0/0x3e0
Mar 12 01:16:21 coyote kernel: [10353.911081] [<c0489f40>] ? do_sync_read+0x0/0x110
Mar 12 01:16:21 coyote kernel: [10353.911083] [<c048ac2d>] ? sys_read+0x3d/0x70
Mar 12 01:16:21 coyote kernel: [10353.911085] [<c040336d>] ? sysenter_do_call+0x12/0x21
Mar 12 01:16:21 coyote kernel: [10353.911088] Code: ff 75 d0 9d 89 e0 25 00 f0 ff ff 83 68 14 01 f6 40 08 08 0f 85 30 02 00 00
8b 1e 89 f2 8b 46 08 8b 7e 10 f6 c7 40 74 03 8b 56 0c <8b> 4a 04 31 d2 85 ff 0f 95 c2 83 c0 01 09 c2 31 c0 85 c9 0f 95
Mar 12 01:16:21 coyote kernel: [10353.911112] EIP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0 SS:ESP 0068:c0b35cfc
Mar 12 01:16:21 coyote kernel: [10353.911117] ---[ end trace 8d9559cb0f5d9d82 ]---
========================
And it was accompanied by some sort of an alert mechanism in F10 that said
'KDE Write Daemon' in a series of 22 stacked vertically boxes, and duplicated
many but not all, of the above messages. They weren't clipboardable. :(
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
It's difficult to see the picture when you are inside the frame.
^ permalink raw reply [flat|nested] 18+ messages in thread
* I just got got another Oops
@ 2009-03-12 5:33 Gene Heskett
0 siblings, 0 replies; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 5:33 UTC (permalink / raw)
To: linux-kernel@vger.kernel.org, bug-tar
Greetings all;
This is the 2nd or 3rd one of these I've seen.
This one may have a better set of clues as it occured about 1 second
after amanda started the backup run:
==============================
Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970
from=::ffff:192.168.71.3
Mar 12 01:16:21 coyote kernel: [10353.910914] BUG: unable to handle kernel
NULL pointer dereference at 00000006
Mar 12 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>]
get_page_from_freelist+0x24b/0x4c0
Mar 12 01:16:21 coyote kernel: [10353.910929] *pdpt = 0000000000b38001 *pde =
0000000000000000
Mar 12 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
Mar 12 01:16:21 coyote kernel: [10353.910937] last sysfs file:
/sys/devices/pci0000:00/0000:00:09.0/irq
Mar 12 01:16:21 coyote kernel: [10353.910940] Modules linked in: nls_utf8 cifs
radeon drm nfsd lockd nfs_acl auth_rpcgss rfcomm
exportfs sco bridge stp llc bnep l2cap autofs4 sunrpc ipv6 or51132 cx88_dvb
snd_emu10k1_synth videobuf_dvb snd_emux_synth
dvb_core snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types
snd_emu10k1 tda9887 snd_rawmidi tda8290 snd_ac97_codec
ac97_bus snd_seq_dummy snd_seq_oss tuner snd_seq_midi_event snd_seq
snd_pcm_oss cx8800 cx8802 cx88xx snd_mixer_oss snd_pcm
snd_seq_device ir_common v4l2_common videodev i2c_algo_bit snd_timer
snd_page_alloc tveeprom v4l1_compat snd_util_mem btcx_risc
snd_hwdep ftdi_sio videobuf_dma_sg usb_storage snd forcedethfirewire_ohci
floppy videobuf_core btusb firewire_core usbserial
sr_mod usblp bluetooth cdrom sg soundcore i2c_nforce2 pcspkr crc_itu_t joydev
i2c_core evdev button ahci pata_jmicron pata_amd
ata_generic pata_acpi sata_nv libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd
ohci_hcd ehci_hcd [last unloaded:
scsi_wait_scan]
Mar 12 01:16:21 coyote kernel: [10353.910986]
Mar 12 01:16:21 coyote kernel: [10353.910989] Pid: 9222, comm: tar Not tainted
(2.6.29-rc7 #4) System Product Name
Mar 12 01:16:21 coyote kernel: [10353.910992] EIP: 0060:[<c046520b>] EFLAGS:
00210202 CPU: 2
Mar 12 01:16:21 coyote kernel: [10353.910995] EIP is at
get_page_from_freelist+0x24b/0x4c0
Mar 12 01:16:21 coyote kernel: [10353.910997] EAX: ffffffff EBX: 80004000 ECX:
00000001 EDX: 00000002
Mar 12 01:16:21 coyote kernel: [10353.910999] ESI: c28fc260 EDI: 00000000 EBP:
c0b35d5c ESP: c0b35cfc
Mar 12 01:16:21 coyote kernel: [10353.911001] DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
Mar 12 01:16:21 coyote kernel: [10353.911004] Process tar (pid: 9222,
ti=c0b35000 task=f2817520 task.ti=c0b35000)
Mar 12 01:16:21 coyote kernel: [10353.911005] Stack:
Mar 12 01:16:21 coyote kernel: [10353.911006] 00000002 00000044 00000000
00000000 00000000 c0744b80 c06d6480 00000002
Mar 12 01:16:21 coyote kernel: [10353.911011] 00000000 00000000 001201d2
00000002 00200246 00000001 c06d6900 00000100
Mar 12 01:16:21 coyote kernel: [10353.911015] 00000000 c0b35dac c06d7484
c06d6480 c06d6480 c06d6480 f2817520 00002f66
Mar 12 01:16:21 coyote kernel: [10353.911020] Call Trace:
Mar 12 01:16:21 coyote kernel: [10353.911022] [<c04655fe>] ?
__alloc_pages_internal+0xae/0x430
Mar 12 01:16:21 coyote kernel: [10353.911028] [<f82b5c60>] ?
ext3_readpages+0x0/0x20 [ext3]
Mar 12 01:16:21 coyote kernel: [10353.911040] [<c04676b4>] ?
__do_page_cache_readahead+0xe4/0x1e0
Mar 12 01:16:21 coyote kernel: [10353.911044] [<c0467a9b>] ?
ondemand_readahead+0x15b/0x180
Mar 12 01:16:21 coyote kernel: [10353.911047] [<c0467b38>] ?
page_cache_async_readahead+0x78/0x90
Mar 12 01:16:21 coyote kernel: [10353.911050] [<c0461434>] ?
generic_file_aio_read+0x314/0x670
Mar 12 01:16:21 coyote kernel: [10353.911058] [<c048a011>] ?
do_sync_read+0xd1/0x110
Mar 12 01:16:21 coyote kernel: [10353.911061] [<c04133a3>] ?
lapic_next_event+0x13/0x20
Mar 12 01:16:21 coyote kernel: [10353.911065] [<c043c3c0>] ?
autoremove_wake_function+0x0/0x50
Mar 12 01:16:21 coyote kernel: [10353.911069] [<c0447c4b>] ?
tick_program_event+0x2b/0x40
Mar 12 01:16:21 coyote kernel: [10353.911072] [<c0440086>] ?
hrtimer_interrupt+0xd6/0x220
Mar 12 01:16:21 coyote kernel: [10353.911075] [<c048aac9>] ?
vfs_read+0x99/0x140
Mar 12 01:16:21 coyote kernel: [10353.911077] [<c0458e20>] ?
audit_syscall_exit+0x1e0/0x3e0
Mar 12 01:16:21 coyote kernel: [10353.911081] [<c0489f40>] ?
do_sync_read+0x0/0x110
Mar 12 01:16:21 coyote kernel: [10353.911083] [<c048ac2d>] ?
sys_read+0x3d/0x70
Mar 12 01:16:21 coyote kernel: [10353.911085] [<c040336d>] ?
sysenter_do_call+0x12/0x21
Mar 12 01:16:21 coyote kernel: [10353.911088] Code: ff 75 d0 9d 89 e0 25 00 f0
ff ff 83 68 14 01 f6 40 08 08 0f 85 30 02 00 00
8b 1e 89 f2 8b 46 08 8b 7e 10 f6 c7 40 74 03 8b 56 0c <8b> 4a 04 31 d2 85 ff
0f 95 c2 83 c0 01 09 c2 31 c0 85 c9 0f 95
Mar 12 01:16:21 coyote kernel: [10353.911112] EIP: [<c046520b>]
get_page_from_freelist+0x24b/0x4c0 SS:ESP 0068:c0b35cfc
Mar 12 01:16:21 coyote kernel: [10353.911117] ---[ end trace 8d9559cb0f5d9d82
]---
========================
And it was accompanied by some sort of an alert mechanism in F10 that said
'KDE Write Daemon' in a series of 22 stacked vertically boxes, and duplicated
many but not all, of the above messages. They weren't clipboardable. :(
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
It's difficult to see the picture when you are inside the frame.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 5:33 I just got got another Oops Gene Heskett
@ 2009-03-12 6:27 ` KAMEZAWA Hiroyuki
2009-03-12 8:36 ` David Newall
1 sibling, 0 replies; 18+ messages in thread
From: KAMEZAWA Hiroyuki @ 2009-03-12 6:27 UTC (permalink / raw)
To: Gene Heskett; +Cc: linux-kernel@vger.kernel.org, bug-tar
On Thu, 12 Mar 2009 01:33:11 -0400
Gene Heskett <gene.heskett@gmail.com> wrote:
> Greetings all;
>
> This is the 2nd or 3rd one of these I've seen.
>
Could you show me .config and disassemble of get_page_from_freelist()?
Thanks,
-Kame
> This one may have a better set of clues as it occured about 1 second
> after amanda started the backup run:
> ==============================
> Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970 from=::ffff:192.168.71.3
> Mar 12 01:16:21 coyote kernel: [10353.910914] BUG: unable to handle kernel NULL pointer dereference at 00000006
> Mar 12 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0
> Mar 12 01:16:21 coyote kernel: [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000
> Mar 12 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
> Mar 12 01:16:21 coyote kernel: [10353.910937] last sysfs file: /sys/devices/pci0000:00/0000:00:09.0/irq
> Mar 12 01:16:21 coyote kernel: [10353.910940] Modules linked in: nls_utf8 cifs radeon drm nfsd lockd nfs_acl auth_rpcgss rfcomm
> exportfs sco bridge stp llc bnep l2cap autofs4 sunrpc ipv6 or51132 cx88_dvb snd_emu10k1_synth videobuf_dvb snd_emux_synth
> dvb_core snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types snd_emu10k1 tda9887 snd_rawmidi tda8290 snd_ac97_codec
> ac97_bus snd_seq_dummy snd_seq_oss tuner snd_seq_midi_event snd_seq snd_pcm_oss cx8800 cx8802 cx88xx snd_mixer_oss snd_pcm
> snd_seq_device ir_common v4l2_common videodev i2c_algo_bit snd_timer snd_page_alloc tveeprom v4l1_compat snd_util_mem btcx_risc
> snd_hwdep ftdi_sio videobuf_dma_sg usb_storage snd forcedethfirewire_ohci floppy videobuf_core btusb firewire_core usbserial
> sr_mod usblp bluetooth cdrom sg soundcore i2c_nforce2 pcspkr crc_itu_t joydev i2c_core evdev button ahci pata_jmicron pata_amd
> ata_generic pata_acpi sata_nv libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded:
> scsi_wait_scan]
> Mar 12 01:16:21 coyote kernel: [10353.910986]
> Mar 12 01:16:21 coyote kernel: [10353.910989] Pid: 9222, comm: tar Not tainted (2.6.29-rc7 #4) System Product Name
> Mar 12 01:16:21 coyote kernel: [10353.910992] EIP: 0060:[<c046520b>] EFLAGS: 00210202 CPU: 2
> Mar 12 01:16:21 coyote kernel: [10353.910995] EIP is at get_page_from_freelist+0x24b/0x4c0
> Mar 12 01:16:21 coyote kernel: [10353.910997] EAX: ffffffff EBX: 80004000 ECX: 00000001 EDX: 00000002
> Mar 12 01:16:21 coyote kernel: [10353.910999] ESI: c28fc260 EDI: 00000000 EBP: c0b35d5c ESP: c0b35cfc
> Mar 12 01:16:21 coyote kernel: [10353.911001] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> Mar 12 01:16:21 coyote kernel: [10353.911004] Process tar (pid: 9222, ti=c0b35000 task=f2817520 task.ti=c0b35000)
> Mar 12 01:16:21 coyote kernel: [10353.911005] Stack:
> Mar 12 01:16:21 coyote kernel: [10353.911006] 00000002 00000044 00000000 00000000 00000000 c0744b80 c06d6480 00000002
> Mar 12 01:16:21 coyote kernel: [10353.911011] 00000000 00000000 001201d2 00000002 00200246 00000001 c06d6900 00000100
> Mar 12 01:16:21 coyote kernel: [10353.911015] 00000000 c0b35dac c06d7484 c06d6480 c06d6480 c06d6480 f2817520 00002f66
> Mar 12 01:16:21 coyote kernel: [10353.911020] Call Trace:
> Mar 12 01:16:21 coyote kernel: [10353.911022] [<c04655fe>] ? __alloc_pages_internal+0xae/0x430
> Mar 12 01:16:21 coyote kernel: [10353.911028] [<f82b5c60>] ? ext3_readpages+0x0/0x20 [ext3]
> Mar 12 01:16:21 coyote kernel: [10353.911040] [<c04676b4>] ? __do_page_cache_readahead+0xe4/0x1e0
> Mar 12 01:16:21 coyote kernel: [10353.911044] [<c0467a9b>] ? ondemand_readahead+0x15b/0x180
> Mar 12 01:16:21 coyote kernel: [10353.911047] [<c0467b38>] ? page_cache_async_readahead+0x78/0x90
> Mar 12 01:16:21 coyote kernel: [10353.911050] [<c0461434>] ? generic_file_aio_read+0x314/0x670
> Mar 12 01:16:21 coyote kernel: [10353.911058] [<c048a011>] ? do_sync_read+0xd1/0x110
> Mar 12 01:16:21 coyote kernel: [10353.911061] [<c04133a3>] ? lapic_next_event+0x13/0x20
> Mar 12 01:16:21 coyote kernel: [10353.911065] [<c043c3c0>] ? autoremove_wake_function+0x0/0x50
> Mar 12 01:16:21 coyote kernel: [10353.911069] [<c0447c4b>] ? tick_program_event+0x2b/0x40
> Mar 12 01:16:21 coyote kernel: [10353.911072] [<c0440086>] ? hrtimer_interrupt+0xd6/0x220
> Mar 12 01:16:21 coyote kernel: [10353.911075] [<c048aac9>] ? vfs_read+0x99/0x140
> Mar 12 01:16:21 coyote kernel: [10353.911077] [<c0458e20>] ? audit_syscall_exit+0x1e0/0x3e0
> Mar 12 01:16:21 coyote kernel: [10353.911081] [<c0489f40>] ? do_sync_read+0x0/0x110
> Mar 12 01:16:21 coyote kernel: [10353.911083] [<c048ac2d>] ? sys_read+0x3d/0x70
> Mar 12 01:16:21 coyote kernel: [10353.911085] [<c040336d>] ? sysenter_do_call+0x12/0x21
> Mar 12 01:16:21 coyote kernel: [10353.911088] Code: ff 75 d0 9d 89 e0 25 00 f0 ff ff 83 68 14 01 f6 40 08 08 0f 85 30 02 00 00
> 8b 1e 89 f2 8b 46 08 8b 7e 10 f6 c7 40 74 03 8b 56 0c <8b> 4a 04 31 d2 85 ff 0f 95 c2 83 c0 01 09 c2 31 c0 85 c9 0f 95
> Mar 12 01:16:21 coyote kernel: [10353.911112] EIP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0 SS:ESP 0068:c0b35cfc
> Mar 12 01:16:21 coyote kernel: [10353.911117] ---[ end trace 8d9559cb0f5d9d82 ]---
> ========================
>
> And it was accompanied by some sort of an alert mechanism in F10 that said
> 'KDE Write Daemon' in a series of 22 stacked vertically boxes, and duplicated
> many but not all, of the above messages. They weren't clipboardable. :(
>
> --
> Cheers, Gene
> "There are four boxes to be used in defense of liberty:
> soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author)
> It's difficult to see the picture when you are inside the frame.
>
> --
> 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/
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 5:33 I just got got another Oops Gene Heskett
2009-03-12 6:27 ` KAMEZAWA Hiroyuki
@ 2009-03-12 8:36 ` David Newall
2009-03-12 17:28 ` Gene Heskett
` (2 more replies)
1 sibling, 3 replies; 18+ messages in thread
From: David Newall @ 2009-03-12 8:36 UTC (permalink / raw)
To: Gene Heskett; +Cc: linux-kernel@vger.kernel.org, bug-tar
Gene Heskett wrote:
> Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970 from=::ffff:192.168.71.3
> Mar 12 01:16:21 coyote kernel: [10353.910914] BUG: unable to handle kernel NULL pointer dereference at 00000006
> Mar 12 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0
> Mar 12 01:16:21 coyote kernel: [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000
> Mar 12 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
I think there must be a zone at 0x0. Try adding
if (!zone) goto try_next_zone;
in mm/page_alloc.c, (near line 1469), before
if (NUMA_BUILD && zlc_active &&
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 8:36 ` David Newall
@ 2009-03-12 17:28 ` Gene Heskett
2009-03-12 17:48 ` Gene Heskett
2009-03-12 18:31 ` Gene Heskett
2 siblings, 0 replies; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 17:28 UTC (permalink / raw)
To: David Newall, linux-kernel@vger.kernel.org
On Thursday 12 March 2009, David Newall wrote:
>Gene Heskett wrote:
>> Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970
>> from=::ffff:192.168.71.3 Mar 12 01:16:21 coyote kernel: [10353.910914]
>> BUG: unable to handle kernel NULL pointer dereference at 00000006 Mar 12
>> 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>]
>> get_page_from_freelist+0x24b/0x4c0 Mar 12 01:16:21 coyote kernel:
>> [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000 Mar 12
>> 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
>
>I think there must be a zone at 0x0. Try adding
>
> if (!zone) goto try_next_zone;
>
>
>in mm/page_alloc.c, (near line 1469), before
>
> if (NUMA_BUILD && zlc_active &&
This line is at #1417 in my mm/page_alloc.c, (in 2.6.29-rc7) but I have added
it, and a rebuild is in progress. I'll post again if I see it again. The
machine is still up, and functioning apparently only semi-normally ATM. I
don't know it its related, but setroubleshoot's daemon is also exiting
frequently. And can't be restarted with the 'service' utility. Off to reboot
next.
Thanks David.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
You're dead, Jim.
-- McCoy, "Amok Time", stardate 3372.7
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 8:36 ` David Newall
2009-03-12 17:28 ` Gene Heskett
@ 2009-03-12 17:48 ` Gene Heskett
2009-03-12 19:37 ` David Newall
2009-03-12 18:31 ` Gene Heskett
2 siblings, 1 reply; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 17:48 UTC (permalink / raw)
To: David Newall; +Cc: linux-kernel@vger.kernel.org
On Thursday 12 March 2009, David Newall wrote:
>Gene Heskett wrote:
>> Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970
>> from=::ffff:192.168.71.3 Mar 12 01:16:21 coyote kernel: [10353.910914]
>> BUG: unable to handle kernel NULL pointer dereference at 00000006 Mar 12
>> 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>]
>> get_page_from_freelist+0x24b/0x4c0 Mar 12 01:16:21 coyote kernel:
>> [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000 Mar 12
>> 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
>
>I think there must be a zone at 0x0. Try adding
>
> if (!zone) goto try_next_zone;
>
>
>in mm/page_alloc.c, (near line 1469), before
>
> if (NUMA_BUILD && zlc_active &&
Rebooted to the above now, still scratching head though. Specifically,
setroubleshoot will not return anything but a null for any 'service' command.
In fact, none of the selinux stuff is running ANAICT. Did we break other
stuff?
Thanks David.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
I think that I shall never see
A billboard lovely as a tree.
Indeed, unless the billboards fall
I'll never see a tree at all.
-- Ogden Nash
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 8:36 ` David Newall
2009-03-12 17:28 ` Gene Heskett
2009-03-12 17:48 ` Gene Heskett
@ 2009-03-12 18:31 ` Gene Heskett
2009-03-16 2:55 ` KAMEZAWA Hiroyuki
2 siblings, 1 reply; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 18:31 UTC (permalink / raw)
To: David Newall; +Cc: linux-kernel@vger.kernel.org
On Thursday 12 March 2009, David Newall wrote:
>Gene Heskett wrote:
>> Mar 12 01:15:01 coyote xinetd[2583]: START: amanda pid=8970
>> from=::ffff:192.168.71.3 Mar 12 01:16:21 coyote kernel: [10353.910914]
>> BUG: unable to handle kernel NULL pointer dereference at 00000006 Mar 12
>> 01:16:21 coyote kernel: [10353.910921] IP: [<c046520b>]
>> get_page_from_freelist+0x24b/0x4c0 Mar 12 01:16:21 coyote kernel:
>> [10353.910929] *pdpt = 0000000000b38001 *pde = 0000000000000000 Mar 12
>> 01:16:21 coyote kernel: [10353.910934] Oops: 0000 [#1] PREEMPT SMP
>
>I think there must be a zone at 0x0. Try adding
>
> if (!zone) goto try_next_zone;
>
>
>in mm/page_alloc.c, (near line 1469), before
>
> if (NUMA_BUILD && zlc_active &&
I don't believe that was the fix, David. I just got another Oops
And this time word wrap is turned off before I paste from the log:
I thought it was the last time, sigh...
==============================
Mar 12 14:15:02 coyote kernel: [ 2656.832576] BUG: unable to handle kernel NULL pointer dereference at 00000006
Mar 12 14:15:02 coyote kernel: [ 2656.832583] IP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0
Mar 12 14:15:02 coyote kernel: [ 2656.832613] *pdpt = 000000003216c001 *pde = 0000000000000000
Mar 12 14:15:02 coyote kernel: [ 2656.832618] Oops: 0000 [#1] PREEMPT SMP
Mar 12 14:15:02 coyote kernel: [ 2656.832620] last sysfs file: /sys/devices/pci0000:00/0000:00:09.0/irq
Mar 12 14:15:02 coyote kernel: [ 2656.832623] Modules linked in: radeon drm nls_utf8 cifs nfsd lockd nfs_acl auth_rpcgss
exportfs rfcomm sco bridge stp llc bnep l2cap autofs4 sunrpc ipv6 snd_emu10k1_synth or51132 snd_emux_synth cx88_dvb
videobuf_dvb snd_seq_virmidi dvb_core snd_seq_midi_emul tuner_simple snd_emu10k1 tuner_types snd_rawmidi snd_ac97_codec
ac97_bus tda9887 snd_seq_dummy tda8290 snd_seq_oss snd_seq_midi_event snd_seq tuner snd_pcm_oss cx8800 snd_mixer_oss cx8802
cx88xx snd_pcm snd_seq_device ir_common v4l2_common snd_timer i2c_algo_bit videodev snd_page_alloc snd_util_mem v4l1_compat
tveeprom snd_hwdep btcx_risc snd firewire_ohci videobuf_dma_sg ftdi_sio usb_storage floppy videobuf_core firewire_core
forcedeth sr_mod btusb cdrom sg usbserial i2c_nforce2 soundcore crc_itu_t usblp pcspkr joydev bluetooth i2c_core evdev button
ahci pata_jmicron pata_amd ata_generic pata_acpi sata_nv libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd
[last unloaded: drm]
Mar 12 14:15:02 coyote kernel: [ 2656.832669]
Mar 12 14:15:02 coyote kernel: [ 2656.832672] Pid: 18877, comm: kmail Not tainted (2.6.29-rc7 #5) System Product Name
Mar 12 14:15:02 coyote kernel: [ 2656.832675] EIP: 0060:[<c046520b>] EFLAGS: 00210202 CPU: 0
Mar 12 14:15:02 coyote kernel: [ 2656.832678] EIP is at get_page_from_freelist+0x24b/0x4c0
Mar 12 14:15:02 coyote kernel: [ 2656.832680] EAX: ffffffff EBX: 80004000 ECX: 00000001 EDX: 00000002
Mar 12 14:15:02 coyote kernel: [ 2656.832682] ESI: c28fc260 EDI: 00000000 EBP: f2168d5c ESP: f2168cfc
Mar 12 14:15:02 coyote kernel: [ 2656.832684] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Mar 12 14:15:02 coyote kernel: [ 2656.832686] Process kmail (pid: 18877, ti=f2168000 task=f22018b0 task.ti=f2168000)
Mar 12 14:15:02 coyote kernel: [ 2656.832688] Stack:
Mar 12 14:15:02 coyote kernel: [ 2656.832689] 00000002 00000044 c28fc060 00000000 f1463ca4 c0744b80 c06d6480 00000002
Mar 12 14:15:02 coyote kernel: [ 2656.832693] 00000000 00000000 001201d2 00000002 00200246 00000001 c06d6900 00000100
Mar 12 14:15:02 coyote kernel: [ 2656.832698] 00000000 80000000 c06d7484 c06d6480 c06d6480 c06d6480 f22018b0 00000129
Mar 12 14:15:02 coyote kernel: [ 2656.832708] Call Trace:
Mar 12 14:15:02 coyote kernel: [ 2656.832710] [<c04655fe>] ? __alloc_pages_internal+0xae/0x430
Mar 12 14:15:02 coyote kernel: [ 2656.832713] [<c0472503>] ? __do_fault+0x163/0x410
Mar 12 14:15:02 coyote kernel: [ 2656.832717] [<c04676b4>] ? __do_page_cache_readahead+0xe4/0x1e0
Mar 12 14:15:02 coyote kernel: [ 2656.832721] [<c0467a9b>] ? ondemand_readahead+0x15b/0x180
Mar 12 14:15:02 coyote kernel: [ 2656.832724] [<c0467b38>] ? page_cache_async_readahead+0x78/0x90
Mar 12 14:15:02 coyote kernel: [ 2656.832727] [<c0461434>] ? generic_file_aio_read+0x314/0x670
Mar 12 14:15:02 coyote kernel: [ 2656.832733] [<c048a011>] ? do_sync_read+0xd1/0x110
Mar 12 14:15:02 coyote kernel: [ 2656.832735] [<c0478f80>] ? vma_merge+0x190/0x270
Mar 12 14:15:02 coyote kernel: [ 2656.832738] [<c043c3c0>] ? autoremove_wake_function+0x0/0x50
Mar 12 14:15:02 coyote kernel: [ 2656.832742] [<c04039a7>] ? common_interrupt+0x27/0x2c
Mar 12 14:15:02 coyote kernel: [ 2656.832745] [<c048aac9>] ? vfs_read+0x99/0x140
Mar 12 14:15:02 coyote kernel: [ 2656.832747] [<c0489f40>] ? do_sync_read+0x0/0x110
Mar 12 14:15:02 coyote kernel: [ 2656.832749] [<c048ac2d>] ? sys_read+0x3d/0x70
Mar 12 14:15:02 coyote kernel: [ 2656.832752] [<c040336d>] ? sysenter_do_call+0x12/0x21
Mar 12 14:15:02 coyote kernel: [ 2656.832754] Code: ff 75 d0 9d 89 e0 25 00 f0 ff ff 83 68 14 01 f6 40 08 08 0f 85 30 02 00 00
8b 1e 89 f2 8b 46 08 8b 7e 10 f6 c7 40 74 03 8b 56 0c <8b> 4a 04 31 d2 85 ff 0f 95 c2 83 c0 01 09 c2 31 c0 85 c9 0f 95
Mar 12 14:15:02 coyote kernel: [ 2656.832781] EIP: [<c046520b>] get_page_from_freelist+0x24b/0x4c0 SS:ESP 0068:f2168cfc
Mar 12 14:15:02 coyote kernel: [ 2656.832789] ---[ end trace 4e78f421815113f4 ]---
================================
And this time whatever kde uses for an alert popped up another stack of them,
and then kmail went away so I had to kill its last process to get that screen
back & restart kmail.
Call me puzzled. Not sure if I'll answer, but... :)
David;
That patch you sent, should I take it back out & wait for a better one?
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
descramble code needed from software company
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 17:48 ` Gene Heskett
@ 2009-03-12 19:37 ` David Newall
2009-03-12 23:28 ` Gene Heskett
0 siblings, 1 reply; 18+ messages in thread
From: David Newall @ 2009-03-12 19:37 UTC (permalink / raw)
To: Gene Heskett; +Cc: linux-kernel@vger.kernel.org
Gene Heskett wrote:
> Rebooted to the above now, still scratching head though. Specifically,
> setroubleshoot will not return anything but a null for any 'service' command.
> In fact, none of the selinux stuff is running ANAICT. Did we break other
> stuff?
>
It's more that we haven't fixed anything, yet, just tested an
hypothesis. Except that looking deeply, I now see that that hypothesis
can't be right. So this is the point that I ask you to post your
.config and perhaps also as disassembly (objump -d) of mm/pagealloc.o
Sorry to send you off on a wild goose chase.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 19:37 ` David Newall
@ 2009-03-12 23:28 ` Gene Heskett
2009-03-13 4:55 ` David Newall
0 siblings, 1 reply; 18+ messages in thread
From: Gene Heskett @ 2009-03-12 23:28 UTC (permalink / raw)
To: David Newall; +Cc: linux-kernel@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 1323 bytes --]
On Thursday 12 March 2009, David Newall wrote:
>Gene Heskett wrote:
>> Rebooted to the above now, still scratching head though. Specifically,
>> setroubleshoot will not return anything but a null for any 'service'
>> command. In fact, none of the selinux stuff is running ANAICT. Did we
>> break other stuff?
>
>It's more that we haven't fixed anything, yet, just tested an
>hypothesis. Except that looking deeply, I now see that that hypothesis
>can't be right. So this is the point that I ask you to post your
>.config and perhaps also as disassembly (objump -d) of mm/pagealloc.o
>
The .config was posted once before, but is attached again, also the dis of
page_alloc.o
>Sorry to send you off on a wild goose chase.
NP David, I'll go take that extra line back out & wait further instructions.
I also apologize for miss-spelling your name in another post, I see there are
two el's now.
Secondary question: I see by that .config, it appears selinux is out again as
its not mentioned. Or do I have yet another "make oldconfig" breakage?, which
won't be the first time...
Thanks David.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Delta: A real man lands where he wants to. -- David Letterman
[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 58792 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29-rc7
# Wed Mar 11 22:15:50 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
#
# RCU Subsystem
#
# CONFIG_CLASSIC_RCU is not set
# CONFIG_TREE_RCU is not set
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUPS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_FREEZER is not set
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
# CONFIG_SPARSE_IRQ is not set
# CONFIG_X86_MPPARSE is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_RDC321X is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
CONFIG_MK8=y
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR_32=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_X86_DS=y
CONFIG_X86_PTRACE_BTS=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
# CONFIG_X86_MCE is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_HIGHPTE=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x400000
# CONFIG_HOTPLUG_CPU is not set
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_SYSFS_POWER=y
# CONFIG_ACPI_PROC_EVENT is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=1999
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
# CONFIG_PCIEASPM is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_OLPC is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
CONFIG_NET_IPGRE=y
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=m
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
# CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set
CONFIG_WIRELESS=y
CONFIG_CFG80211=m
CONFIG_CFG80211_REG_DEBUG=y
CONFIG_NL80211=y
CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_MAC80211=m
#
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE="radeon/R100_cp.bin.ihex radeon/R200_cp.bin.ihex radeon/R300_cp.bin.ihex radeon/R420_cp.bin.ihex radeon/R520_cp.bin.ihex radeon/RS600_cp.bin.ihex radeon/RS690_cp.bin.ihex"
CONFIG_EXTRA_FIRMWARE_DIR="firmware"
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_TIFM_CORE=m
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_LIBFC is not set
# CONFIG_FCOE is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_DH is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=m
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
CONFIG_SATA_SIL=m
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
CONFIG_PATA_ACPI=m
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=m
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
CONFIG_PATA_JMICRON=m
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
CONFIG_PATA_SIL680=m
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_SCH is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# Enable only one of the two stacks, unless you know what you are doing
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_OHCI_DEBUG=y
CONFIG_FIREWIRE_SBP2=m
# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
# CONFIG_I2O_EXT_ADAPTEC is not set
# CONFIG_I2O_CONFIG is not set
CONFIG_I2O_BUS=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MDIO_BITBANG=m
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_ENC28J60 is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_R6040 is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
# CONFIG_SMSC9420 is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
CONFIG_SC92031=m
# CONFIG_ATL2 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
CONFIG_USB_NET_NET1080=m
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
# CONFIG_USB_ALI_M5632 is not set
# CONFIG_USB_AN2720 is not set
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
# CONFIG_USB_EPSON2888 is not set
# CONFIG_USB_KC2190 is not set
CONFIG_USB_NET_ZAURUS=m
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1680
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1050
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
CONFIG_TOUCHSCREEN_ELO=m
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
# CONFIG_GAMEPORT_L4 is not set
CONFIG_GAMEPORT_EMU10K1=m
# CONFIG_GAMEPORT_FM801 is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_INTEL is not set
CONFIG_HW_RANDOM_AMD=m
# CONFIG_HW_RANDOM_GEODE is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_SIMTEC is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Graphics adapter I2C/DDC channel drivers
#
# CONFIG_I2C_VOODOO3 is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_STUB is not set
# CONFIG_SCx200_ACB is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
CONFIG_SENSORS_MAX6875=m
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=m
#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_BQ27x00 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_K8TEMP is not set
CONFIG_SENSORS_ASB100=m
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBMPEX is not set
CONFIG_SENSORS_IT87=m
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set
#
# Multimedia devices
#
#
# Multimedia core support
#
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
# CONFIG_VIDEO_ALLOW_V4L1 is not set
CONFIG_VIDEO_V4L1_COMPAT=y
CONFIG_DVB_CORE=m
CONFIG_VIDEO_MEDIA=m
#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_CUSTOMIZE=y
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
# CONFIG_MEDIA_TUNER_MXL5005S is not set
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
CONFIG_VIDEO_ADV_DEBUG=y
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
CONFIG_VIDEO_IR_I2C=m
#
# Encoders/decoders and other helper chips
#
#
# Audio decoders
#
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TDA9875=m
CONFIG_VIDEO_TEA6415C=m
CONFIG_VIDEO_TEA6420=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_TLV320AIC23B=m
CONFIG_VIDEO_WM8775=m
CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
#
# Video decoders
#
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_TVP514X=m
CONFIG_VIDEO_TVP5150=m
#
# Video and audio decoders
#
CONFIG_VIDEO_CX25840=m
#
# MPEG video encoders
#
CONFIG_VIDEO_CX2341X=m
#
# Video encoders
#
CONFIG_VIDEO_SAA7127=m
#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=m
CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
# CONFIG_VIDEO_BT848 is not set
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
# CONFIG_SOC_CAMERA_MT9M001 is not set
# CONFIG_SOC_CAMERA_MT9M111 is not set
# CONFIG_SOC_CAMERA_MT9T031 is not set
# CONFIG_SOC_CAMERA_MT9V022 is not set
# CONFIG_SOC_CAMERA_TW9910 is not set
# CONFIG_SOC_CAMERA_PLATFORM is not set
# CONFIG_SOC_CAMERA_OV772X is not set
CONFIG_V4L_USB_DRIVERS=y
# CONFIG_USB_VIDEO_CLASS is not set
CONFIG_USB_GSPCA=m
# CONFIG_USB_M5602 is not set
# CONFIG_USB_STV06XX is not set
# CONFIG_USB_GSPCA_CONEX is not set
# CONFIG_USB_GSPCA_ETOMS is not set
# CONFIG_USB_GSPCA_FINEPIX is not set
# CONFIG_USB_GSPCA_MARS is not set
# CONFIG_USB_GSPCA_OV519 is not set
# CONFIG_USB_GSPCA_OV534 is not set
# CONFIG_USB_GSPCA_PAC207 is not set
# CONFIG_USB_GSPCA_PAC7311 is not set
# CONFIG_USB_GSPCA_SONIXB is not set
# CONFIG_USB_GSPCA_SONIXJ is not set
# CONFIG_USB_GSPCA_SPCA500 is not set
# CONFIG_USB_GSPCA_SPCA501 is not set
# CONFIG_USB_GSPCA_SPCA505 is not set
# CONFIG_USB_GSPCA_SPCA506 is not set
# CONFIG_USB_GSPCA_SPCA508 is not set
# CONFIG_USB_GSPCA_SPCA561 is not set
# CONFIG_USB_GSPCA_STK014 is not set
# CONFIG_USB_GSPCA_SUNPLUS is not set
# CONFIG_USB_GSPCA_T613 is not set
# CONFIG_USB_GSPCA_TV8532 is not set
# CONFIG_USB_GSPCA_VC032X is not set
# CONFIG_USB_GSPCA_ZC3XX is not set
# CONFIG_VIDEO_PVRUSB2 is not set
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_VIDEO_USBVISION is not set
# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_ZC0301 is not set
# CONFIG_USB_ZR364XX is not set
# CONFIG_USB_STKWEBCAM is not set
# CONFIG_USB_S2255 is not set
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y
#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_AV7110=m
# CONFIG_DVB_AV7110_FIRMWARE is not set
CONFIG_DVB_AV7110_OSD=y
# CONFIG_DVB_BUDGET_CORE is not set
#
# Supported USB Adapters
#
# CONFIG_DVB_USB is not set
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_DEC is not set
# CONFIG_DVB_SIANO_SMS1XXX is not set
#
# Supported FlexCopII (B2C2) Adapters
#
# CONFIG_DVB_B2C2_FLEXCOP is not set
#
# Supported BT878 Adapters
#
#
# Supported Pluto2 Adapters
#
# CONFIG_DVB_PLUTO2 is not set
#
# Supported SDMC DM1105 Adapters
#
# CONFIG_DVB_DM1105 is not set
#
# Supported DVB Frontends
#
#
# Customise DVB Frontends
#
CONFIG_DVB_FE_CUSTOMISE=y
#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0299 is not set
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8261=m
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
CONFIG_DVB_TUNER_CX24113=m
# CONFIG_DVB_TDA826X is not set
CONFIG_DVB_TUA6100=m
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_SI21XX is not set
#
# DVB-T (terrestrial) frontends
#
# CONFIG_DVB_SP8870 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_DRX397XD is not set
# CONFIG_DVB_L64781 is not set
CONFIG_DVB_TDA1004X=m
# CONFIG_DVB_NXT6000 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_ZL10353 is not set
# CONFIG_DVB_DIB3000MB is not set
# CONFIG_DVB_DIB3000MC is not set
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
CONFIG_DVB_TDA10048=m
#
# DVB-C (cable) frontends
#
# CONFIG_DVB_VES1820 is not set
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
# CONFIG_DVB_STV0297 is not set
#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51211 is not set
CONFIG_DVB_OR51132=m
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_LGDT3304 is not set
# CONFIG_DVB_S5H1409 is not set
CONFIG_DVB_AU8522=m
# CONFIG_DVB_S5H1411 is not set
#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_S921 is not set
#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
# CONFIG_DVB_TUNER_DIB0070 is not set
#
# SEC control devices for DVB-S
#
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_LGS8GL5 is not set
#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# CONFIG_DVB_AF9013 is not set
CONFIG_DAB=y
CONFIG_USB_DABUSB=m
#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_DRM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=m
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_BACKLIGHT is not set
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_DUMMY is not set
CONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not set
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
# CONFIG_SND_AC97_POWER_SAVE is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_HIFIER is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SIS7019 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_USB_US122L is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
CONFIG_HID_COMPAT=y
CONFIG_HID_A4TECH=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_EZKEY=y
CONFIG_HID_GYRATION=y
CONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_NTRIG=y
CONFIG_HID_PANTHERLORD=y
# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SUNPLUS=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_TOPSEED=y
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set
CONFIG_USB_MON=y
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set
# CONFIG_USB_GADGET_MUSB_HDRC is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=m
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
#
#
# see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
# CONFIG_USB_STORAGE_ISD200 is not set
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB port drivers
#
CONFIG_USB_SERIAL=m
# CONFIG_USB_EZUSB is not set
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_FUNSOFT is not set
# CONFIG_USB_SERIAL_VISOR is not set
CONFIG_USB_SERIAL_IPAQ=m
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
CONFIG_USB_SERIAL_GARMIN=m
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MOTOROLA is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_DEBUG is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set
CONFIG_USB_GADGET=m
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_ATMEL_USBA is not set
# CONFIG_USB_GADGET_FSL_USB2 is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
# CONFIG_USB_GADGET_PXA27X is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_IMX is not set
CONFIG_USB_GADGET_M66592=y
CONFIG_USB_M66592=m
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
# CONFIG_USB_GADGET_CI13XXX is not set
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
#
# OTG and related infrastructure
#
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
# CONFIG_UWB_WLP is not set
# CONFIG_UWB_I1480U is not set
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=m
# CONFIG_MMC_SDHCI_PCI is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
# CONFIG_LEDS_CLASS is not set
#
# LED drivers
#
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_TC1100_WMI is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_EEEPC_LAPTOP is not set
CONFIG_ACPI_WMI=m
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4_FS is not set
CONFIG_FS_XIP=y
CONFIG_JBD=m
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
# CONFIG_SUNRPC_REGISTER_V4 is not set
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
CONFIG_HEADERS_CHECK=y
# CONFIG_DEBUG_KERNEL is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_HW_BRANCH_TRACER=y
#
# Tracers
#
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_HW_BRANCH_TRACER is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
CONFIG_BUILD_DOCSRC=y
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
CONFIG_4KSTACKS=y
CONFIG_DOUBLEFAULT=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_OPTIMIZE_INLINING is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
#
# Block modes
#
CONFIG_CRYPTO_CBC=m
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32C_INTEL is not set
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
[-- Attachment #3: page_alloc.dis --]
[-- Type: text/plain, Size: 298062 bytes --]
page_alloc.o: file format elf32-i386
Disassembly of section .text:
00000000 <prep_compound_page>:
0: 55 push %ebp
1: 89 d1 mov %edx,%ecx
3: 89 e5 mov %esp,%ebp
5: 53 push %ebx
6: 89 c3 mov %eax,%ebx
8: 8d 53 20 lea 0x20(%ebx),%edx
b: b8 01 00 00 00 mov $0x1,%eax
10: d3 e0 shl %cl,%eax
12: c7 42 18 b0 15 00 00 movl $0x15b0,0x18(%edx)
19: 89 4a 1c mov %ecx,0x1c(%edx)
1c: 0f ba 2b 0d btsl $0xd,(%ebx)
20: 83 f8 01 cmp $0x1,%eax
23: 7e 1c jle 41 <prep_compound_page+0x41>
25: b9 01 00 00 00 mov $0x1,%ecx
2a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
30: 0f ba 2a 0e btsl $0xe,(%edx)
34: 83 c1 01 add $0x1,%ecx
37: 89 5a 0c mov %ebx,0xc(%edx)
3a: 83 c2 20 add $0x20,%edx
3d: 39 c8 cmp %ecx,%eax
3f: 7f ef jg 30 <prep_compound_page+0x30>
41: 5b pop %ebx
42: 5d pop %ebp
43: c3 ret
44: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
4a: 8d bf 00 00 00 00 lea 0x0(%edi),%edi
00000050 <prep_compound_gigantic_page>:
50: 55 push %ebp
51: 89 d1 mov %edx,%ecx
53: 89 e5 mov %esp,%ebp
55: 57 push %edi
56: bf 01 00 00 00 mov $0x1,%edi
5b: 56 push %esi
5c: 89 c6 mov %eax,%esi
5e: 8d 40 20 lea 0x20(%eax),%eax
61: 53 push %ebx
62: d3 e7 shl %cl,%edi
64: c7 40 18 b0 15 00 00 movl $0x15b0,0x18(%eax)
6b: 89 50 1c mov %edx,0x1c(%eax)
6e: 0f ba 2e 0d btsl $0xd,(%esi)
72: 83 ff 01 cmp $0x1,%edi
75: 7e 46 jle bd <prep_compound_gigantic_page+0x6d>
77: b9 01 00 00 00 mov $0x1,%ecx
7c: eb 26 jmp a4 <prep_compound_gigantic_page+0x54>
7e: 66 90 xchg %ax,%ax
80: 8b 1d 00 00 00 00 mov 0x0,%ebx
86: 89 f0 mov %esi,%eax
88: 29 d8 sub %ebx,%eax
8a: c1 f8 05 sar $0x5,%eax
8d: 8d 14 01 lea (%ecx,%eax,1),%edx
90: 31 c0 xor %eax,%eax
92: 3b 15 00 00 00 00 cmp 0x0,%edx
98: 73 06 jae a0 <prep_compound_gigantic_page+0x50>
9a: c1 e2 05 shl $0x5,%edx
9d: 8d 04 13 lea (%ebx,%edx,1),%eax
a0: 39 cf cmp %ecx,%edi
a2: 7e 19 jle bd <prep_compound_gigantic_page+0x6d>
a4: 0f ba 28 0e btsl $0xe,(%eax)
a8: 83 c1 01 add $0x1,%ecx
ab: f7 c1 ff 03 00 00 test $0x3ff,%ecx
b1: 89 70 0c mov %esi,0xc(%eax)
b4: 74 ca je 80 <prep_compound_gigantic_page+0x30>
b6: 83 c0 20 add $0x20,%eax
b9: 39 cf cmp %ecx,%edi
bb: 7f e7 jg a4 <prep_compound_gigantic_page+0x54>
bd: 5b pop %ebx
be: 5e pop %esi
bf: 5f pop %edi
c0: 5d pop %ebp
c1: c3 ret
c2: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
000000d0 <move_freepages_block>:
d0: 55 push %ebp
d1: 89 e5 mov %esp,%ebp
d3: 57 push %edi
d4: 56 push %esi
d5: 89 ce mov %ecx,%esi
d7: 53 push %ebx
d8: 83 ec 10 sub $0x10,%esp
db: 8b 1d 00 00 00 00 mov 0x0,%ebx
e1: 89 45 e8 mov %eax,-0x18(%ebp)
e4: 89 d0 mov %edx,%eax
e6: 8b 7d e8 mov -0x18(%ebp),%edi
e9: 29 d8 sub %ebx,%eax
eb: c1 f8 05 sar $0x5,%eax
ee: 25 00 fe ff ff and $0xfffffe00,%eax
f3: 89 c1 mov %eax,%ecx
f5: c1 e1 05 shl $0x5,%ecx
f8: 01 cb add %ecx,%ebx
fa: 8b 8f 90 07 00 00 mov 0x790(%edi),%ecx
100: 89 d7 mov %edx,%edi
102: 8b 55 e8 mov -0x18(%ebp),%edx
105: 39 c8 cmp %ecx,%eax
107: 0f 43 fb cmovae %ebx,%edi
10a: 05 ff 01 00 00 add $0x1ff,%eax
10f: 03 8a 94 07 00 00 add 0x794(%edx),%ecx
115: 39 c8 cmp %ecx,%eax
117: 73 27 jae 140 <move_freepages_block+0x70>
119: 8d 83 e0 3f 00 00 lea 0x3fe0(%ebx),%eax
11f: 89 45 ec mov %eax,-0x14(%ebp)
122: 8b 0f mov (%edi),%ecx
124: 8b 83 e0 3f 00 00 mov 0x3fe0(%ebx),%eax
12a: 89 ca mov %ecx,%edx
12c: c1 ea 1e shr $0x1e,%edx
12f: c1 e8 1e shr $0x1e,%eax
132: 39 d0 cmp %edx,%eax
134: 74 1c je 152 <move_freepages_block+0x82>
136: 0f 0b ud2a
138: eb fe jmp 138 <move_freepages_block+0x68>
13a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
140: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
147: 8b 45 f0 mov -0x10(%ebp),%eax
14a: 83 c4 10 add $0x10,%esp
14d: 5b pop %ebx
14e: 5e pop %esi
14f: 5f pop %edi
150: 5d pop %ebp
151: c3 ret
152: 3b 7d ec cmp -0x14(%ebp),%edi
155: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
15c: 77 e2 ja 140 <move_freepages_block+0x70>
15e: c1 e6 03 shl $0x3,%esi
161: 89 75 e4 mov %esi,-0x1c(%ebp)
164: eb 0c jmp 172 <move_freepages_block+0xa2>
166: 66 90 xchg %ax,%ax
168: 83 c7 20 add $0x20,%edi
16b: 39 7d ec cmp %edi,-0x14(%ebp)
16e: 72 d7 jb 147 <move_freepages_block+0x77>
170: 8b 0f mov (%edi),%ecx
172: 81 e1 00 00 04 00 and $0x40000,%ecx
178: 74 ee je 168 <move_freepages_block+0x98>
17a: 8b 4f 0c mov 0xc(%edi),%ecx
17d: 8d 77 18 lea 0x18(%edi),%esi
180: 8b 57 18 mov 0x18(%edi),%edx
183: 8b 47 1c mov 0x1c(%edi),%eax
186: 89 10 mov %edx,(%eax)
188: 89 42 04 mov %eax,0x4(%edx)
18b: 6b c1 2c imul $0x2c,%ecx,%eax
18e: c7 47 18 00 01 10 00 movl $0x100100,0x18(%edi)
195: 8b 55 e8 mov -0x18(%ebp),%edx
198: 03 45 e4 add -0x1c(%ebp),%eax
19b: 8d 9c 02 80 04 00 00 lea 0x480(%edx,%eax,1),%ebx
1a2: 8b 53 04 mov 0x4(%ebx),%edx
1a5: 89 57 18 mov %edx,0x18(%edi)
1a8: 89 72 04 mov %esi,0x4(%edx)
1ab: 8b 55 e8 mov -0x18(%ebp),%edx
1ae: 89 73 04 mov %esi,0x4(%ebx)
1b1: 8d 84 02 84 04 00 00 lea 0x484(%edx,%eax,1),%eax
1b8: 89 47 1c mov %eax,0x1c(%edi)
1bb: b8 20 00 00 00 mov $0x20,%eax
1c0: d3 e0 shl %cl,%eax
1c2: 01 c7 add %eax,%edi
1c4: b8 01 00 00 00 mov $0x1,%eax
1c9: d3 e0 shl %cl,%eax
1cb: 01 45 f0 add %eax,-0x10(%ebp)
1ce: eb 9b jmp 16b <move_freepages_block+0x9b>
000001d0 <split_page>:
1d0: 55 push %ebp
1d1: 89 d1 mov %edx,%ecx
1d3: 89 e5 mov %esp,%ebp
1d5: 53 push %ebx
1d6: bb 01 00 00 00 mov $0x1,%ebx
1db: d3 e3 shl %cl,%ebx
1dd: 83 fb 01 cmp $0x1,%ebx
1e0: 7e 1f jle 201 <split_page+0x31>
1e2: 83 c0 20 add $0x20,%eax
1e5: ba 01 00 00 00 mov $0x1,%edx
1ea: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1f0: 83 c2 01 add $0x1,%edx
1f3: c7 40 04 01 00 00 00 movl $0x1,0x4(%eax)
1fa: 83 c0 20 add $0x20,%eax
1fd: 39 da cmp %ebx,%edx
1ff: 7c ef jl 1f0 <split_page+0x20>
201: 5b pop %ebx
202: 5d pop %ebp
203: c3 ret
204: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
20a: 8d bf 00 00 00 00 lea 0x0(%edi),%edi
00000210 <zone_watermark_ok>:
210: 55 push %ebp
211: 89 e5 mov %esp,%ebp
213: 57 push %edi
214: 89 d7 mov %edx,%edi
216: 56 push %esi
217: 53 push %ebx
218: 83 ec 08 sub $0x8,%esp
21b: 8b 5d 0c mov 0xc(%ebp),%ebx
21e: 89 45 f0 mov %eax,-0x10(%ebp)
221: 89 4d ec mov %ecx,-0x14(%ebp)
224: 8b 90 d8 06 00 00 mov 0x6d8(%eax),%edx
22a: 31 c0 xor %eax,%eax
22c: 89 f9 mov %edi,%ecx
22e: 85 d2 test %edx,%edx
230: 0f 49 c2 cmovns %edx,%eax
233: 8d 50 01 lea 0x1(%eax),%edx
236: b8 01 00 00 00 mov $0x1,%eax
23b: d3 e0 shl %cl,%eax
23d: 29 c2 sub %eax,%edx
23f: f6 c3 20 test $0x20,%bl
242: 74 0e je 252 <zone_watermark_ok+0x42>
244: 8b 45 ec mov -0x14(%ebp),%eax
247: c1 e8 1f shr $0x1f,%eax
24a: 03 45 ec add -0x14(%ebp),%eax
24d: d1 f8 sar %eax
24f: 29 45 ec sub %eax,-0x14(%ebp)
252: 83 e3 10 and $0x10,%ebx
255: 74 15 je 26c <zone_watermark_ok+0x5c>
257: 8b 45 ec mov -0x14(%ebp),%eax
25a: 8b 4d ec mov -0x14(%ebp),%ecx
25d: 83 c0 03 add $0x3,%eax
260: 85 c9 test %ecx,%ecx
262: 0f 49 45 ec cmovns -0x14(%ebp),%eax
266: c1 f8 02 sar $0x2,%eax
269: 29 45 ec sub %eax,-0x14(%ebp)
26c: 8b 45 08 mov 0x8(%ebp),%eax
26f: 8b 4d f0 mov -0x10(%ebp),%ecx
272: 8b 44 81 0c mov 0xc(%ecx,%eax,4),%eax
276: 03 45 ec add -0x14(%ebp),%eax
279: 39 c2 cmp %eax,%edx
27b: 76 1b jbe 298 <zone_watermark_ok+0x88>
27d: 85 ff test %edi,%edi
27f: 7e 41 jle 2c2 <zone_watermark_ok+0xb2>
281: 8b 5d ec mov -0x14(%ebp),%ebx
284: 89 d6 mov %edx,%esi
286: 89 ca mov %ecx,%edx
288: 2b b1 ac 04 00 00 sub 0x4ac(%ecx),%esi
28e: 31 c9 xor %ecx,%ecx
290: d1 fb sar %ebx
292: 39 de cmp %ebx,%esi
294: 7f 25 jg 2bb <zone_watermark_ok+0xab>
296: 66 90 xchg %ax,%ax
298: 83 c4 08 add $0x8,%esp
29b: 31 c0 xor %eax,%eax
29d: 5b pop %ebx
29e: 5e pop %esi
29f: 5f pop %edi
2a0: 5d pop %ebp
2a1: c3 ret
2a2: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2a8: 8b 82 d8 04 00 00 mov 0x4d8(%edx),%eax
2ae: d1 fb sar %ebx
2b0: 83 c2 2c add $0x2c,%edx
2b3: d3 e0 shl %cl,%eax
2b5: 29 c6 sub %eax,%esi
2b7: 39 de cmp %ebx,%esi
2b9: 7e dd jle 298 <zone_watermark_ok+0x88>
2bb: 83 c1 01 add $0x1,%ecx
2be: 39 cf cmp %ecx,%edi
2c0: 7f e6 jg 2a8 <zone_watermark_ok+0x98>
2c2: 83 c4 08 add $0x8,%esp
2c5: b8 01 00 00 00 mov $0x1,%eax
2ca: 5b pop %ebx
2cb: 5e pop %esi
2cc: 5f pop %edi
2cd: 5d pop %ebp
2ce: c3 ret
2cf: 90 nop
000002d0 <__build_all_zonelists>:
2d0: 55 push %ebp
2d1: 89 e5 mov %esp,%ebp
2d3: 57 push %edi
2d4: 31 ff xor %edi,%edi
2d6: 56 push %esi
2d7: be 04 00 00 00 mov $0x4,%esi
2dc: 53 push %ebx
2dd: 31 db xor %ebx,%ebx
2df: 83 ec 08 sub $0x8,%esp
2e2: a1 44 20 00 00 mov 0x2044,%eax
2e7: 89 45 ec mov %eax,-0x14(%ebp)
2ea: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2f0: 83 ee 01 sub $0x1,%esi
2f3: 89 f1 mov %esi,%ecx
2f5: c1 e1 0b shl $0xb,%ecx
2f8: 8b 81 98 07 00 00 mov 0x798(%ecx),%eax
2fe: 85 c0 test %eax,%eax
300: 74 28 je 32a <__build_all_zonelists+0x5a>
302: 89 fa mov %edi,%edx
304: 83 c7 01 add $0x1,%edi
307: 8d 81 00 00 00 00 lea 0x0(%ecx),%eax
30d: 81 c2 00 04 00 00 add $0x400,%edx
313: 89 04 d5 04 00 00 00 mov %eax,0x4(,%edx,8)
31a: 2b 81 8c 07 00 00 sub 0x78c(%ecx),%eax
320: c1 f8 0b sar $0xb,%eax
323: 89 04 d5 08 00 00 00 mov %eax,0x8(,%edx,8)
32a: 83 c3 01 add $0x1,%ebx
32d: 83 fb 04 cmp $0x4,%ebx
330: 75 be jne 2f0 <__build_all_zonelists+0x20>
332: 8b 4d ec mov -0x14(%ebp),%ecx
335: 89 f8 mov %edi,%eax
337: 83 c1 01 add $0x1,%ecx
33a: 85 c9 test %ecx,%ecx
33c: 7f 55 jg 393 <__build_all_zonelists+0xc3>
33e: 66 90 xchg %ax,%ax
340: 85 c9 test %ecx,%ecx
342: 0f 85 f0 00 00 00 jne 438 <__build_all_zonelists+0x168>
348: be 04 00 00 00 mov $0x4,%esi
34d: 31 db xor %ebx,%ebx
34f: 83 ee 01 sub $0x1,%esi
352: 89 f1 mov %esi,%ecx
354: c1 e1 0b shl $0xb,%ecx
357: 8b 81 98 07 00 00 mov 0x798(%ecx),%eax
35d: 85 c0 test %eax,%eax
35f: 74 28 je 389 <__build_all_zonelists+0xb9>
361: 89 fa mov %edi,%edx
363: 83 c7 01 add $0x1,%edi
366: 8d 81 00 00 00 00 lea 0x0(%ecx),%eax
36c: 81 c2 00 04 00 00 add $0x400,%edx
372: 89 04 d5 04 00 00 00 mov %eax,0x4(,%edx,8)
379: 2b 81 8c 07 00 00 sub 0x78c(%ecx),%eax
37f: c1 f8 0b sar $0xb,%eax
382: 89 04 d5 08 00 00 00 mov %eax,0x8(,%edx,8)
389: 83 c3 01 add $0x1,%ebx
38c: 83 fb 04 cmp $0x4,%ebx
38f: 75 be jne 34f <__build_all_zonelists+0x7f>
391: 89 f8 mov %edi,%eax
393: 8b 4d ec mov -0x14(%ebp),%ecx
396: 85 c9 test %ecx,%ecx
398: 7e 6e jle 408 <__build_all_zonelists+0x138>
39a: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
3a1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
3a8: 8b 55 f0 mov -0x10(%ebp),%edx
3ab: 85 d2 test %edx,%edx
3ad: 75 4d jne 3fc <__build_all_zonelists+0x12c>
3af: 89 c7 mov %eax,%edi
3b1: be 04 00 00 00 mov $0x4,%esi
3b6: 31 db xor %ebx,%ebx
3b8: 83 ee 01 sub $0x1,%esi
3bb: 89 f1 mov %esi,%ecx
3bd: c1 e1 0b shl $0xb,%ecx
3c0: 8b 81 98 07 00 00 mov 0x798(%ecx),%eax
3c6: 85 c0 test %eax,%eax
3c8: 74 28 je 3f2 <__build_all_zonelists+0x122>
3ca: 89 fa mov %edi,%edx
3cc: 83 c7 01 add $0x1,%edi
3cf: 8d 81 00 00 00 00 lea 0x0(%ecx),%eax
3d5: 81 c2 00 04 00 00 add $0x400,%edx
3db: 89 04 d5 04 00 00 00 mov %eax,0x4(,%edx,8)
3e2: 2b 81 8c 07 00 00 sub 0x78c(%ecx),%eax
3e8: c1 f8 0b sar $0xb,%eax
3eb: 89 04 d5 08 00 00 00 mov %eax,0x8(,%edx,8)
3f2: 83 c3 01 add $0x1,%ebx
3f5: 83 fb 04 cmp $0x4,%ebx
3f8: 75 be jne 3b8 <__build_all_zonelists+0xe8>
3fa: 89 f8 mov %edi,%eax
3fc: 83 45 f0 01 addl $0x1,-0x10(%ebp)
400: 8b 55 f0 mov -0x10(%ebp),%edx
403: 39 55 ec cmp %edx,-0x14(%ebp)
406: 7f a0 jg 3a8 <__build_all_zonelists+0xd8>
408: 05 00 04 00 00 add $0x400,%eax
40d: c7 04 c5 04 00 00 00 movl $0x0,0x4(,%eax,8)
414: 00 00 00 00
418: c7 04 c5 08 00 00 00 movl $0x0,0x8(,%eax,8)
41f: 00 00 00 00
423: 31 c0 xor %eax,%eax
425: c7 05 00 20 00 00 00 movl $0x0,0x2000
42c: 00 00 00
42f: 83 c4 08 add $0x8,%esp
432: 5b pop %ebx
433: 5e pop %esi
434: 5f pop %edi
435: 5d pop %ebp
436: c3 ret
437: 90 nop
438: 83 c1 01 add $0x1,%ecx
43b: e9 00 ff ff ff jmp 340 <__build_all_zonelists+0x70>
00000440 <set_pageblock_flags_group>:
440: 55 push %ebp
441: 89 e5 mov %esp,%ebp
443: 57 push %edi
444: 8b 7d 08 mov 0x8(%ebp),%edi
447: 56 push %esi
448: 89 d6 mov %edx,%esi
44a: 53 push %ebx
44b: 8b 10 mov (%eax),%edx
44d: 2b 05 00 00 00 00 sub 0x0,%eax
453: c1 ea 1e shr $0x1e,%edx
456: c1 e2 0b shl $0xb,%edx
459: 81 c2 00 00 00 00 add $0x0,%edx
45f: c1 f8 05 sar $0x5,%eax
462: 8b 9a 68 06 00 00 mov 0x668(%edx),%ebx
468: 2b 82 90 07 00 00 sub 0x790(%edx),%eax
46e: c1 e8 09 shr $0x9,%eax
471: 39 f9 cmp %edi,%ecx
473: 8d 04 40 lea (%eax,%eax,2),%eax
476: 7f 30 jg 4a8 <set_pageblock_flags_group+0x68>
478: 8d 14 08 lea (%eax,%ecx,1),%edx
47b: b8 01 00 00 00 mov $0x1,%eax
480: eb 15 jmp 497 <set_pageblock_flags_group+0x57>
482: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
488: 0f ab 13 bts %edx,(%ebx)
48b: 83 c1 01 add $0x1,%ecx
48e: 83 c2 01 add $0x1,%edx
491: 39 cf cmp %ecx,%edi
493: 7c 13 jl 4a8 <set_pageblock_flags_group+0x68>
495: 01 c0 add %eax,%eax
497: 85 f0 test %esi,%eax
499: 75 ed jne 488 <set_pageblock_flags_group+0x48>
49b: 0f b3 13 btr %edx,(%ebx)
49e: 83 c1 01 add $0x1,%ecx
4a1: 83 c2 01 add $0x1,%edx
4a4: 39 cf cmp %ecx,%edi
4a6: 7d ed jge 495 <set_pageblock_flags_group+0x55>
4a8: 5b pop %ebx
4a9: 5e pop %esi
4aa: 5f pop %edi
4ab: 5d pop %ebp
4ac: c3 ret
4ad: 8d 76 00 lea 0x0(%esi),%esi
000004b0 <calculate_totalreserve_pages>:
4b0: 55 push %ebp
4b1: 89 e5 mov %esp,%ebp
4b3: 57 push %edi
4b4: 56 push %esi
4b5: 53 push %ebx
4b6: 83 ec 08 sub $0x8,%esp
4b9: e8 fc ff ff ff call 4ba <calculate_totalreserve_pages+0xa>
4be: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
4c5: 85 c0 test %eax,%eax
4c7: 89 c6 mov %eax,%esi
4c9: 74 64 je 52f <calculate_totalreserve_pages+0x7f>
4cb: 90 nop
4cc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
4d0: 31 c9 xor %ecx,%ecx
4d2: 31 ff xor %edi,%edi
4d4: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
4db: 31 d2 xor %edx,%edx
4dd: 83 f9 03 cmp $0x3,%ecx
4e0: 77 19 ja 4fb <calculate_totalreserve_pages+0x4b>
4e2: 89 fb mov %edi,%ebx
4e4: c1 e3 09 shl $0x9,%ebx
4e7: 8d 04 0b lea (%ebx,%ecx,1),%eax
4ea: 8b 44 86 0c mov 0xc(%esi,%eax,4),%eax
4ee: 39 c2 cmp %eax,%edx
4f0: 0f 42 d0 cmovb %eax,%edx
4f3: 83 c1 01 add $0x1,%ecx
4f6: 83 f9 03 cmp $0x3,%ecx
4f9: 76 ec jbe 4e7 <calculate_totalreserve_pages+0x37>
4fb: 89 f8 mov %edi,%eax
4fd: c1 e0 0b shl $0xb,%eax
500: 03 54 30 08 add 0x8(%eax,%esi,1),%edx
504: 8b 84 06 98 07 00 00 mov 0x798(%esi,%eax,1),%eax
50b: 39 c2 cmp %eax,%edx
50d: 0f 46 c2 cmovbe %edx,%eax
510: 83 c7 01 add $0x1,%edi
513: 83 45 f0 01 addl $0x1,-0x10(%ebp)
517: 89 f9 mov %edi,%ecx
519: 01 45 ec add %eax,-0x14(%ebp)
51c: 83 7d f0 04 cmpl $0x4,-0x10(%ebp)
520: 75 b9 jne 4db <calculate_totalreserve_pages+0x2b>
522: 89 f0 mov %esi,%eax
524: e8 fc ff ff ff call 525 <calculate_totalreserve_pages+0x75>
529: 85 c0 test %eax,%eax
52b: 89 c6 mov %eax,%esi
52d: 75 a1 jne 4d0 <calculate_totalreserve_pages+0x20>
52f: 8b 45 ec mov -0x14(%ebp),%eax
532: a3 00 00 00 00 mov %eax,0x0
537: 83 c4 08 add $0x8,%esp
53a: 5b pop %ebx
53b: 5e pop %esi
53c: 5f pop %edi
53d: 5d pop %ebp
53e: c3 ret
53f: 90 nop
00000540 <setup_per_zone_lowmem_reserve>:
540: 55 push %ebp
541: 89 e5 mov %esp,%ebp
543: 57 push %edi
544: 56 push %esi
545: 53 push %ebx
546: 83 ec 0c sub $0xc,%esp
549: e8 fc ff ff ff call 54a <setup_per_zone_lowmem_reserve+0xa>
54e: 85 c0 test %eax,%eax
550: 89 c6 mov %eax,%esi
552: 0f 84 91 00 00 00 je 5e9 <setup_per_zone_lowmem_reserve+0xa9>
558: 31 ff xor %edi,%edi
55a: 89 f8 mov %edi,%eax
55c: c1 e0 0b shl $0xb,%eax
55f: 85 ff test %edi,%edi
561: 8b 9c 06 98 07 00 00 mov 0x798(%esi,%eax,1),%ebx
568: 8d 04 b8 lea (%eax,%edi,4),%eax
56b: c7 44 30 0c 00 00 00 movl $0x0,0xc(%eax,%esi,1)
572: 00
573: 0f 84 7d 00 00 00 je 5f6 <setup_per_zone_lowmem_reserve+0xb6>
579: 89 f9 mov %edi,%ecx
57b: eb 2d jmp 5aa <setup_per_zone_lowmem_reserve+0x6a>
57d: 8d 76 00 lea 0x0(%esi),%esi
580: 89 c8 mov %ecx,%eax
582: 31 d2 xor %edx,%edx
584: c1 e0 09 shl $0x9,%eax
587: 01 f8 add %edi,%eax
589: 89 45 e8 mov %eax,-0x18(%ebp)
58c: 89 d8 mov %ebx,%eax
58e: f7 75 ec divl -0x14(%ebp)
591: 8b 55 e8 mov -0x18(%ebp),%edx
594: 89 44 96 0c mov %eax,0xc(%esi,%edx,4)
598: 89 c8 mov %ecx,%eax
59a: c1 e0 0b shl $0xb,%eax
59d: 85 c9 test %ecx,%ecx
59f: 8b 84 06 98 07 00 00 mov 0x798(%esi,%eax,1),%eax
5a6: 74 28 je 5d0 <setup_per_zone_lowmem_reserve+0x90>
5a8: 01 c3 add %eax,%ebx
5aa: 83 e9 01 sub $0x1,%ecx
5ad: 8b 04 8d 00 00 00 00 mov 0x0(,%ecx,4),%eax
5b4: 85 c0 test %eax,%eax
5b6: 89 45 ec mov %eax,-0x14(%ebp)
5b9: 7f c5 jg 580 <setup_per_zone_lowmem_reserve+0x40>
5bb: c7 04 8d 00 00 00 00 movl $0x1,0x0(,%ecx,4)
5c2: 01 00 00 00
5c6: c7 45 ec 01 00 00 00 movl $0x1,-0x14(%ebp)
5cd: eb b1 jmp 580 <setup_per_zone_lowmem_reserve+0x40>
5cf: 90 nop
5d0: 83 c7 01 add $0x1,%edi
5d3: 83 ff 03 cmp $0x3,%edi
5d6: 76 82 jbe 55a <setup_per_zone_lowmem_reserve+0x1a>
5d8: 89 f0 mov %esi,%eax
5da: e8 fc ff ff ff call 5db <setup_per_zone_lowmem_reserve+0x9b>
5df: 85 c0 test %eax,%eax
5e1: 89 c6 mov %eax,%esi
5e3: 0f 85 6f ff ff ff jne 558 <setup_per_zone_lowmem_reserve+0x18>
5e9: e8 c2 fe ff ff call 4b0 <calculate_totalreserve_pages>
5ee: 83 c4 0c add $0xc,%esp
5f1: 5b pop %ebx
5f2: 5e pop %esi
5f3: 5f pop %edi
5f4: 5d pop %ebp
5f5: c3 ret
5f6: bf 01 00 00 00 mov $0x1,%edi
5fb: e9 5a ff ff ff jmp 55a <setup_per_zone_lowmem_reserve+0x1a>
00000600 <get_pageblock_flags_group>:
600: 55 push %ebp
601: 89 e5 mov %esp,%ebp
603: 57 push %edi
604: 89 d7 mov %edx,%edi
606: 56 push %esi
607: 31 f6 xor %esi,%esi
609: 53 push %ebx
60a: 83 ec 08 sub $0x8,%esp
60d: 89 4d ec mov %ecx,-0x14(%ebp)
610: 8b 10 mov (%eax),%edx
612: 2b 05 00 00 00 00 sub 0x0,%eax
618: c1 ea 1e shr $0x1e,%edx
61b: c1 e2 0b shl $0xb,%edx
61e: 81 c2 00 00 00 00 add $0x0,%edx
624: 8b 8a 68 06 00 00 mov 0x668(%edx),%ecx
62a: c1 f8 05 sar $0x5,%eax
62d: 89 4d f0 mov %ecx,-0x10(%ebp)
630: 2b 82 90 07 00 00 sub 0x790(%edx),%eax
636: c1 e8 09 shr $0x9,%eax
639: 3b 7d ec cmp -0x14(%ebp),%edi
63c: 8d 04 40 lea (%eax,%eax,2),%eax
63f: 7f 2d jg 66e <get_pageblock_flags_group+0x6e>
641: 8d 1c 38 lea (%eax,%edi,1),%ebx
644: b9 01 00 00 00 mov $0x1,%ecx
649: eb 07 jmp 652 <get_pageblock_flags_group+0x52>
64b: 90 nop
64c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
650: 01 c9 add %ecx,%ecx
652: 8b 55 f0 mov -0x10(%ebp),%edx
655: 0f a3 1a bt %ebx,(%edx)
658: 19 c0 sbb %eax,%eax
65a: 89 f2 mov %esi,%edx
65c: 09 ca or %ecx,%edx
65e: 85 c0 test %eax,%eax
660: 0f 45 f2 cmovne %edx,%esi
663: 83 c7 01 add $0x1,%edi
666: 83 c3 01 add $0x1,%ebx
669: 39 7d ec cmp %edi,-0x14(%ebp)
66c: 7d e2 jge 650 <get_pageblock_flags_group+0x50>
66e: 83 c4 08 add $0x8,%esp
671: 89 f0 mov %esi,%eax
673: 5b pop %ebx
674: 5e pop %esi
675: 5f pop %edi
676: 5d pop %ebp
677: c3 ret
678: 90 nop
679: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00000680 <unset_migratetype_isolate>:
680: 55 push %ebp
681: 89 e5 mov %esp,%ebp
683: 83 ec 14 sub $0x14,%esp
686: 89 5d f4 mov %ebx,-0xc(%ebp)
689: 89 c3 mov %eax,%ebx
68b: 89 75 f8 mov %esi,-0x8(%ebp)
68e: 89 7d fc mov %edi,-0x4(%ebp)
691: 8b 00 mov (%eax),%eax
693: c1 e8 1e shr $0x1e,%eax
696: c1 e0 0b shl $0xb,%eax
699: 05 00 00 00 00 add $0x0,%eax
69e: 89 c6 mov %eax,%esi
6a0: 81 c6 80 04 00 00 add $0x480,%esi
6a6: 89 45 f0 mov %eax,-0x10(%ebp)
6a9: 89 f0 mov %esi,%eax
6ab: e8 fc ff ff ff call 6ac <unset_migratetype_isolate+0x2c>
6b0: 89 c7 mov %eax,%edi
6b2: a1 00 00 00 00 mov 0x0,%eax
6b7: 85 c0 test %eax,%eax
6b9: 74 1d je 6d8 <unset_migratetype_isolate+0x58>
6bb: 89 fa mov %edi,%edx
6bd: 89 f0 mov %esi,%eax
6bf: e8 fc ff ff ff call 6c0 <unset_migratetype_isolate+0x40>
6c4: 8b 5d f4 mov -0xc(%ebp),%ebx
6c7: 8b 75 f8 mov -0x8(%ebp),%esi
6ca: 8b 7d fc mov -0x4(%ebp),%edi
6cd: 89 ec mov %ebp,%esp
6cf: 5d pop %ebp
6d0: c3 ret
6d1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
6d8: 31 d2 xor %edx,%edx
6da: b9 02 00 00 00 mov $0x2,%ecx
6df: 89 d8 mov %ebx,%eax
6e1: e8 fc ff ff ff call 6e2 <unset_migratetype_isolate+0x62>
6e6: 83 f8 04 cmp $0x4,%eax
6e9: 75 d0 jne 6bb <unset_migratetype_isolate+0x3b>
6eb: 31 c9 xor %ecx,%ecx
6ed: 89 d8 mov %ebx,%eax
6ef: ba 02 00 00 00 mov $0x2,%edx
6f4: c7 04 24 02 00 00 00 movl $0x2,(%esp)
6fb: e8 fc ff ff ff call 6fc <unset_migratetype_isolate+0x7c>
700: 8b 45 f0 mov -0x10(%ebp),%eax
703: b9 02 00 00 00 mov $0x2,%ecx
708: 89 da mov %ebx,%edx
70a: e8 c1 f9 ff ff call d0 <move_freepages_block>
70f: eb aa jmp 6bb <unset_migratetype_isolate+0x3b>
711: eb 0d jmp 720 <setup_per_zone_pages_min>
713: 90 nop
714: 90 nop
715: 90 nop
716: 90 nop
717: 90 nop
718: 90 nop
719: 90 nop
71a: 90 nop
71b: 90 nop
71c: 90 nop
71d: 90 nop
71e: 90 nop
71f: 90 nop
00000720 <setup_per_zone_pages_min>:
720: 55 push %ebp
721: 89 e5 mov %esp,%ebp
723: 57 push %edi
724: 56 push %esi
725: 53 push %ebx
726: 83 ec 20 sub $0x20,%esp
729: 8b 1d 00 00 00 00 mov 0x0,%ebx
72f: e8 fc ff ff ff call 730 <setup_per_zone_pages_min+0x10>
734: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%ebp)
73b: 85 c0 test %eax,%eax
73d: 75 1b jne 75a <setup_per_zone_pages_min+0x3a>
73f: eb 43 jmp 784 <setup_per_zone_pages_min+0x64>
741: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
748: 8b 90 98 07 00 00 mov 0x798(%eax),%edx
74e: 01 55 e0 add %edx,-0x20(%ebp)
751: e8 fc ff ff ff call 752 <setup_per_zone_pages_min+0x32>
756: 85 c0 test %eax,%eax
758: 74 2a je 784 <setup_per_zone_pages_min+0x64>
75a: 89 c2 mov %eax,%edx
75c: 2b 90 8c 07 00 00 sub 0x78c(%eax),%edx
762: 81 fa 00 10 00 00 cmp $0x1000,%edx
768: 74 e7 je 751 <setup_per_zone_pages_min+0x31>
76a: 81 fa 00 18 00 00 cmp $0x1800,%edx
770: 75 d6 jne 748 <setup_per_zone_pages_min+0x28>
772: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
779: 75 cd jne 748 <setup_per_zone_pages_min+0x28>
77b: e8 fc ff ff ff call 77c <setup_per_zone_pages_min+0x5c>
780: 85 c0 test %eax,%eax
782: 75 d6 jne 75a <setup_per_zone_pages_min+0x3a>
784: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
788: e8 fc ff ff ff call 789 <setup_per_zone_pages_min+0x69>
78d: 85 c0 test %eax,%eax
78f: 89 45 f0 mov %eax,-0x10(%ebp)
792: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
798: 0f 84 01 01 00 00 je 89f <setup_per_zone_pages_min+0x17f>
79e: c1 fb 02 sar $0x2,%ebx
7a1: 89 5d d8 mov %ebx,-0x28(%ebp)
7a4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
7a8: 8b 45 f0 mov -0x10(%ebp),%eax
7ab: 05 80 04 00 00 add $0x480,%eax
7b0: 89 45 dc mov %eax,-0x24(%ebp)
7b3: e8 fc ff ff ff call 7b4 <setup_per_zone_pages_min+0x94>
7b8: 8b 55 f0 mov -0x10(%ebp),%edx
7bb: 31 c9 xor %ecx,%ecx
7bd: 89 45 e4 mov %eax,-0x1c(%ebp)
7c0: 8b 45 d8 mov -0x28(%ebp),%eax
7c3: 8b b2 98 07 00 00 mov 0x798(%edx),%esi
7c9: f7 e6 mul %esi
7cb: 85 d2 test %edx,%edx
7cd: 89 d3 mov %edx,%ebx
7cf: 89 c7 mov %eax,%edi
7d1: 74 0b je 7de <setup_per_zone_pages_min+0xbe>
7d3: 89 d0 mov %edx,%eax
7d5: 31 d2 xor %edx,%edx
7d7: f7 75 e0 divl -0x20(%ebp)
7da: 89 d1 mov %edx,%ecx
7dc: 89 c3 mov %eax,%ebx
7de: 89 ca mov %ecx,%edx
7e0: 89 f8 mov %edi,%eax
7e2: f7 75 e0 divl -0x20(%ebp)
7e5: 89 da mov %ebx,%edx
7e7: 89 c1 mov %eax,%ecx
7e9: 8b 45 f0 mov -0x10(%ebp),%eax
7ec: 89 d3 mov %edx,%ebx
7ee: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax
7f4: 3d 00 10 00 00 cmp $0x1000,%eax
7f9: 0f 84 51 01 00 00 je 950 <setup_per_zone_pages_min+0x230>
7ff: 3d 00 18 00 00 cmp $0x1800,%eax
804: 0f 84 36 01 00 00 je 940 <setup_per_zone_pages_min+0x220>
80a: 8b 75 f0 mov -0x10(%ebp),%esi
80d: 89 0e mov %ecx,(%esi)
80f: 8b 75 f0 mov -0x10(%ebp),%esi
812: 89 c8 mov %ecx,%eax
814: 0f ac d8 02 shrd $0x2,%ebx,%eax
818: 0f ac d9 01 shrd $0x1,%ebx,%ecx
81c: 03 06 add (%esi),%eax
81e: 8b 9e 90 07 00 00 mov 0x790(%esi),%ebx
824: 89 46 04 mov %eax,0x4(%esi)
827: 8b 06 mov (%esi),%eax
829: 01 c8 add %ecx,%eax
82b: 89 46 08 mov %eax,0x8(%esi)
82e: 8b 86 94 07 00 00 mov 0x794(%esi),%eax
834: 01 d8 add %ebx,%eax
836: 89 45 ec mov %eax,-0x14(%ebp)
839: 8b 06 mov (%esi),%eax
83b: 3b 5d ec cmp -0x14(%ebp),%ebx
83e: 73 41 jae 881 <setup_per_zone_pages_min+0x161>
840: 05 ff 01 00 00 add $0x1ff,%eax
845: 89 de mov %ebx,%esi
847: c1 e8 09 shr $0x9,%eax
84a: 89 45 e8 mov %eax,-0x18(%ebp)
84d: c1 e6 05 shl $0x5,%esi
850: 39 1d 00 00 00 00 cmp %ebx,0x0
856: 76 18 jbe 870 <setup_per_zone_pages_min+0x150>
858: 89 f7 mov %esi,%edi
85a: 03 3d 00 00 00 00 add 0x0,%edi
860: 8b 07 mov (%edi),%eax
862: f6 c4 04 test $0x4,%ah
865: 75 09 jne 870 <setup_per_zone_pages_min+0x150>
867: a1 00 00 00 00 mov 0x0,%eax
86c: 85 c0 test %eax,%eax
86e: 74 40 je 8b0 <setup_per_zone_pages_min+0x190>
870: 81 c3 00 02 00 00 add $0x200,%ebx
876: 81 c6 00 40 00 00 add $0x4000,%esi
87c: 39 5d ec cmp %ebx,-0x14(%ebp)
87f: 77 cf ja 850 <setup_per_zone_pages_min+0x130>
881: 8b 55 e4 mov -0x1c(%ebp),%edx
884: 8b 45 dc mov -0x24(%ebp),%eax
887: e8 fc ff ff ff call 888 <setup_per_zone_pages_min+0x168>
88c: 8b 45 f0 mov -0x10(%ebp),%eax
88f: e8 fc ff ff ff call 890 <setup_per_zone_pages_min+0x170>
894: 85 c0 test %eax,%eax
896: 89 45 f0 mov %eax,-0x10(%ebp)
899: 0f 85 09 ff ff ff jne 7a8 <setup_per_zone_pages_min+0x88>
89f: e8 0c fc ff ff call 4b0 <calculate_totalreserve_pages>
8a4: 83 c4 20 add $0x20,%esp
8a7: 5b pop %ebx
8a8: 5e pop %esi
8a9: 5f pop %edi
8aa: 5d pop %ebp
8ab: c3 ret
8ac: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
8b0: 31 d2 xor %edx,%edx
8b2: b9 02 00 00 00 mov $0x2,%ecx
8b7: 89 f8 mov %edi,%eax
8b9: e8 fc ff ff ff call 8ba <setup_per_zone_pages_min+0x19a>
8be: 89 c1 mov %eax,%ecx
8c0: 8b 45 e8 mov -0x18(%ebp),%eax
8c3: 85 c0 test %eax,%eax
8c5: 0f 95 c0 setne %al
8c8: 83 f9 03 cmp $0x3,%ecx
8cb: 0f 94 c2 sete %dl
8ce: 84 c0 test %al,%al
8d0: 75 2e jne 900 <setup_per_zone_pages_min+0x1e0>
8d2: 84 d2 test %dl,%dl
8d4: 74 9a je 870 <setup_per_zone_pages_min+0x150>
8d6: 31 c9 xor %ecx,%ecx
8d8: 89 f8 mov %edi,%eax
8da: ba 02 00 00 00 mov $0x2,%edx
8df: c7 04 24 02 00 00 00 movl $0x2,(%esp)
8e6: e8 fc ff ff ff call 8e7 <setup_per_zone_pages_min+0x1c7>
8eb: 8b 45 f0 mov -0x10(%ebp),%eax
8ee: b9 02 00 00 00 mov $0x2,%ecx
8f3: 89 fa mov %edi,%edx
8f5: e8 d6 f7 ff ff call d0 <move_freepages_block>
8fa: e9 71 ff ff ff jmp 870 <setup_per_zone_pages_min+0x150>
8ff: 90 nop
900: 84 d2 test %dl,%dl
902: 75 2e jne 932 <setup_per_zone_pages_min+0x212>
904: 83 f9 02 cmp $0x2,%ecx
907: 90 nop
908: 0f 85 62 ff ff ff jne 870 <setup_per_zone_pages_min+0x150>
90e: 30 c9 xor %cl,%cl
910: ba 03 00 00 00 mov $0x3,%edx
915: 89 f8 mov %edi,%eax
917: c7 04 24 02 00 00 00 movl $0x2,(%esp)
91e: e8 fc ff ff ff call 91f <setup_per_zone_pages_min+0x1ff>
923: 8b 45 f0 mov -0x10(%ebp),%eax
926: b9 03 00 00 00 mov $0x3,%ecx
92b: 89 fa mov %edi,%edx
92d: e8 9e f7 ff ff call d0 <move_freepages_block>
932: 83 6d e8 01 subl $0x1,-0x18(%ebp)
936: e9 35 ff ff ff jmp 870 <setup_per_zone_pages_min+0x150>
93b: 90 nop
93c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
940: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
947: 0f 85 bd fe ff ff jne 80a <setup_per_zone_pages_min+0xea>
94d: 8d 76 00 lea 0x0(%esi),%esi
950: 89 f0 mov %esi,%eax
952: c1 e8 0a shr $0xa,%eax
955: 83 f8 1f cmp $0x1f,%eax
958: 7f 16 jg 970 <setup_per_zone_pages_min+0x250>
95a: b8 20 00 00 00 mov $0x20,%eax
95f: 89 c2 mov %eax,%edx
961: 8b 75 f0 mov -0x10(%ebp),%esi
964: 89 16 mov %edx,(%esi)
966: e9 a4 fe ff ff jmp 80f <setup_per_zone_pages_min+0xef>
96b: 90 nop
96c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
970: 3d 80 00 00 00 cmp $0x80,%eax
975: ba 80 00 00 00 mov $0x80,%edx
97a: 7f e5 jg 961 <setup_per_zone_pages_min+0x241>
97c: eb e1 jmp 95f <setup_per_zone_pages_min+0x23f>
97e: 66 90 xchg %ax,%ax
00000980 <lowmem_reserve_ratio_sysctl_handler>:
980: 55 push %ebp
981: 89 e5 mov %esp,%ebp
983: 53 push %ebx
984: 83 ec 0c sub $0xc,%esp
987: 8b 5d 10 mov 0x10(%ebp),%ebx
98a: 89 5c 24 08 mov %ebx,0x8(%esp)
98e: 8b 5d 0c mov 0xc(%ebp),%ebx
991: 89 5c 24 04 mov %ebx,0x4(%esp)
995: 8b 5d 08 mov 0x8(%ebp),%ebx
998: 89 1c 24 mov %ebx,(%esp)
99b: e8 fc ff ff ff call 99c <lowmem_reserve_ratio_sysctl_handler+0x1c>
9a0: e8 9b fb ff ff call 540 <setup_per_zone_lowmem_reserve>
9a5: 31 c0 xor %eax,%eax
9a7: 83 c4 0c add $0xc,%esp
9aa: 5b pop %ebx
9ab: 5d pop %ebp
9ac: c3 ret
9ad: 8d 76 00 lea 0x0(%esi),%esi
000009b0 <percpu_pagelist_fraction_sysctl_handler>:
9b0: 55 push %ebp
9b1: 89 e5 mov %esp,%ebp
9b3: 57 push %edi
9b4: 56 push %esi
9b5: 53 push %ebx
9b6: 89 d3 mov %edx,%ebx
9b8: 83 ec 0c sub $0xc,%esp
9bb: 8b 55 10 mov 0x10(%ebp),%edx
9be: 89 54 24 08 mov %edx,0x8(%esp)
9c2: 8b 55 0c mov 0xc(%ebp),%edx
9c5: 89 54 24 04 mov %edx,0x4(%esp)
9c9: 8b 55 08 mov 0x8(%ebp),%edx
9cc: 89 14 24 mov %edx,(%esp)
9cf: 89 da mov %ebx,%edx
9d1: e8 fc ff ff ff call 9d2 <percpu_pagelist_fraction_sysctl_handler+0x22>
9d6: 85 db test %ebx,%ebx
9d8: 0f 84 98 00 00 00 je a76 <percpu_pagelist_fraction_sysctl_handler+0xc6>
9de: 83 f8 ea cmp $0xffffffea,%eax
9e1: 0f 84 8f 00 00 00 je a76 <percpu_pagelist_fraction_sysctl_handler+0xc6>
9e7: 90 nop
9e8: e8 fc ff ff ff call 9e9 <percpu_pagelist_fraction_sysctl_handler+0x39>
9ed: 85 c0 test %eax,%eax
9ef: 89 c7 mov %eax,%edi
9f1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
9f8: 74 7a je a74 <percpu_pagelist_fraction_sysctl_handler+0xc4>
9fa: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
a00: 31 f6 xor %esi,%esi
a02: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
a08: eb 42 jmp a4c <percpu_pagelist_fraction_sysctl_handler+0x9c>
a0a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
a10: 8b 8f 98 07 00 00 mov 0x798(%edi),%ecx
a16: 31 d2 xor %edx,%edx
a18: 8d 73 01 lea 0x1(%ebx),%esi
a1b: 89 f3 mov %esi,%ebx
a1d: c1 e3 07 shl $0x7,%ebx
a20: 89 c8 mov %ecx,%eax
a22: f7 35 00 00 00 00 divl 0x0
a28: 89 c2 mov %eax,%edx
a2a: 89 c1 mov %eax,%ecx
a2c: c1 ea 02 shr $0x2,%edx
a2f: 85 d2 test %edx,%edx
a31: 89 44 3b 04 mov %eax,0x4(%ebx,%edi,1)
a35: b8 01 00 00 00 mov $0x1,%eax
a3a: 0f 44 d0 cmove %eax,%edx
a3d: b0 60 mov $0x60,%al
a3f: 81 f9 84 01 00 00 cmp $0x184,%ecx
a45: 0f 42 c2 cmovb %edx,%eax
a48: 89 44 3b 08 mov %eax,0x8(%ebx,%edi,1)
a4c: a1 00 00 00 00 mov 0x0,%eax
a51: 89 f1 mov %esi,%ecx
a53: ba 08 00 00 00 mov $0x8,%edx
a58: e8 fc ff ff ff call a59 <percpu_pagelist_fraction_sysctl_handler+0xa9>
a5d: 39 05 00 00 00 00 cmp %eax,0x0
a63: 89 c3 mov %eax,%ebx
a65: 77 a9 ja a10 <percpu_pagelist_fraction_sysctl_handler+0x60>
a67: 89 f8 mov %edi,%eax
a69: e8 fc ff ff ff call a6a <percpu_pagelist_fraction_sysctl_handler+0xba>
a6e: 85 c0 test %eax,%eax
a70: 89 c7 mov %eax,%edi
a72: 75 8c jne a00 <percpu_pagelist_fraction_sysctl_handler+0x50>
a74: 31 c0 xor %eax,%eax
a76: 83 c4 0c add $0xc,%esp
a79: 5b pop %ebx
a7a: 5e pop %esi
a7b: 5f pop %edi
a7c: 5d pop %ebp
a7d: c3 ret
a7e: 66 90 xchg %ax,%ax
00000a80 <min_free_kbytes_sysctl_handler>:
a80: 55 push %ebp
a81: 89 e5 mov %esp,%ebp
a83: 53 push %ebx
a84: 89 d3 mov %edx,%ebx
a86: 83 ec 0c sub $0xc,%esp
a89: 8b 55 10 mov 0x10(%ebp),%edx
a8c: 89 54 24 08 mov %edx,0x8(%esp)
a90: 8b 55 0c mov 0xc(%ebp),%edx
a93: 89 54 24 04 mov %edx,0x4(%esp)
a97: 8b 55 08 mov 0x8(%ebp),%edx
a9a: 89 14 24 mov %edx,(%esp)
a9d: 89 da mov %ebx,%edx
a9f: e8 fc ff ff ff call aa0 <min_free_kbytes_sysctl_handler+0x20>
aa4: 85 db test %ebx,%ebx
aa6: 74 05 je aad <min_free_kbytes_sysctl_handler+0x2d>
aa8: e8 fc ff ff ff call aa9 <min_free_kbytes_sysctl_handler+0x29>
aad: 83 c4 0c add $0xc,%esp
ab0: 31 c0 xor %eax,%eax
ab2: 5b pop %ebx
ab3: 5d pop %ebp
ab4: c3 ret
ab5: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
ab9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00000ac0 <show_free_areas>:
ac0: 55 push %ebp
ac1: 89 e5 mov %esp,%ebp
ac3: 57 push %edi
ac4: 56 push %esi
ac5: 53 push %ebx
ac6: 81 ec a0 00 00 00 sub $0xa0,%esp
acc: e8 fc ff ff ff call acd <show_free_areas+0xd>
ad1: 85 c0 test %eax,%eax
ad3: 89 c3 mov %eax,%ebx
ad5: 74 24 je afb <show_free_areas+0x3b>
ad7: 8b 3d 00 00 00 00 mov 0x0,%edi
add: 8d 76 00 lea 0x0(%esi),%esi
ae0: 8b 83 98 07 00 00 mov 0x798(%ebx),%eax
ae6: 85 c0 test %eax,%eax
ae8: 0f 85 ba 01 00 00 jne ca8 <show_free_areas+0x1e8>
aee: 89 d8 mov %ebx,%eax
af0: e8 fc ff ff ff call af1 <show_free_areas+0x31>
af5: 85 c0 test %eax,%eax
af7: 89 c3 mov %eax,%ebx
af9: 75 e5 jne ae0 <show_free_areas+0x20>
afb: 8b 15 40 00 00 00 mov 0x40,%edx
b01: 8b 1d 38 00 00 00 mov 0x38,%ebx
b07: 8b 35 20 00 00 00 mov 0x20,%esi
b0d: a1 30 00 00 00 mov 0x30,%eax
b12: 8b 0d 34 00 00 00 mov 0x34,%ecx
b18: 89 45 94 mov %eax,-0x6c(%ebp)
b1b: a1 00 00 00 00 mov 0x0,%eax
b20: 8b 7d 94 mov -0x6c(%ebp),%edi
b23: 89 45 98 mov %eax,-0x68(%ebp)
b26: a1 3c 00 00 00 mov 0x3c,%eax
b2b: 89 45 bc mov %eax,-0x44(%ebp)
b2e: a1 2c 00 00 00 mov 0x2c,%eax
b33: 89 45 9c mov %eax,-0x64(%ebp)
b36: a1 28 00 00 00 mov 0x28,%eax
b3b: 89 45 a0 mov %eax,-0x60(%ebp)
b3e: a1 14 00 00 00 mov 0x14,%eax
b43: 89 45 a4 mov %eax,-0x5c(%ebp)
b46: a1 0c 00 00 00 mov 0xc,%eax
b4b: 89 45 a8 mov %eax,-0x58(%ebp)
b4e: a1 04 00 00 00 mov 0x4,%eax
b53: 89 45 c0 mov %eax,-0x40(%ebp)
b56: a1 10 00 00 00 mov 0x10,%eax
b5b: 89 45 c4 mov %eax,-0x3c(%ebp)
b5e: a1 08 00 00 00 mov 0x8,%eax
b63: 89 45 ac mov %eax,-0x54(%ebp)
b66: 31 c0 xor %eax,%eax
b68: 85 d2 test %edx,%edx
b6a: 0f 48 d0 cmovs %eax,%edx
b6d: 85 db test %ebx,%ebx
b6f: 89 54 24 34 mov %edx,0x34(%esp)
b73: 8b 55 94 mov -0x6c(%ebp),%edx
b76: 0f 48 d8 cmovs %eax,%ebx
b79: 85 f6 test %esi,%esi
b7b: 0f 48 f0 cmovs %eax,%esi
b7e: 85 c9 test %ecx,%ecx
b80: 0f 48 c8 cmovs %eax,%ecx
b83: 85 ff test %edi,%edi
b85: 0f 48 d0 cmovs %eax,%edx
b88: 89 74 24 2c mov %esi,0x2c(%esp)
b8c: 8b 75 98 mov -0x68(%ebp),%esi
b8f: 01 d1 add %edx,%ecx
b91: 8b 55 98 mov -0x68(%ebp),%edx
b94: 89 5c 24 30 mov %ebx,0x30(%esp)
b98: 8b 5d bc mov -0x44(%ebp),%ebx
b9b: 89 4c 24 28 mov %ecx,0x28(%esp)
b9f: 85 f6 test %esi,%esi
ba1: 0f 48 d0 cmovs %eax,%edx
ba4: 89 54 24 24 mov %edx,0x24(%esp)
ba8: 8b 55 bc mov -0x44(%ebp),%edx
bab: 85 db test %ebx,%ebx
bad: 0f 48 d0 cmovs %eax,%edx
bb0: 89 54 24 20 mov %edx,0x20(%esp)
bb4: 8b 4d 9c mov -0x64(%ebp),%ecx
bb7: 8b 55 9c mov -0x64(%ebp),%edx
bba: 8b 7d a4 mov -0x5c(%ebp),%edi
bbd: 8b 75 a8 mov -0x58(%ebp),%esi
bc0: 85 c9 test %ecx,%ecx
bc2: 8b 5d c0 mov -0x40(%ebp),%ebx
bc5: 0f 48 d0 cmovs %eax,%edx
bc8: 8b 4d c4 mov -0x3c(%ebp),%ecx
bcb: 89 54 24 1c mov %edx,0x1c(%esp)
bcf: 8b 55 a0 mov -0x60(%ebp),%edx
bd2: c7 04 24 a8 02 00 00 movl $0x2a8,(%esp)
bd9: 85 d2 test %edx,%edx
bdb: 8b 55 a0 mov -0x60(%ebp),%edx
bde: 0f 48 d0 cmovs %eax,%edx
be1: 85 ff test %edi,%edi
be3: 89 54 24 18 mov %edx,0x18(%esp)
be7: 8b 55 a4 mov -0x5c(%ebp),%edx
bea: 0f 48 d0 cmovs %eax,%edx
bed: 85 f6 test %esi,%esi
bef: 89 54 24 14 mov %edx,0x14(%esp)
bf3: 8b 55 a8 mov -0x58(%ebp),%edx
bf6: 0f 48 d0 cmovs %eax,%edx
bf9: 85 db test %ebx,%ebx
bfb: 89 54 24 10 mov %edx,0x10(%esp)
bff: 8b 55 c0 mov -0x40(%ebp),%edx
c02: 0f 48 d0 cmovs %eax,%edx
c05: 85 c9 test %ecx,%ecx
c07: 89 54 24 0c mov %edx,0xc(%esp)
c0b: 8b 55 c4 mov -0x3c(%ebp),%edx
c0e: 0f 48 d0 cmovs %eax,%edx
c11: 89 54 24 08 mov %edx,0x8(%esp)
c15: 8b 55 ac mov -0x54(%ebp),%edx
c18: 85 d2 test %edx,%edx
c1a: 0f 49 45 ac cmovns -0x54(%ebp),%eax
c1e: 89 44 24 04 mov %eax,0x4(%esp)
c22: e8 fc ff ff ff call c23 <show_free_areas+0x163>
c27: e8 fc ff ff ff call c28 <show_free_areas+0x168>
c2c: 85 c0 test %eax,%eax
c2e: 89 c7 mov %eax,%edi
c30: 74 21 je c53 <show_free_areas+0x193>
c32: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
c38: 8b 97 98 07 00 00 mov 0x798(%edi),%edx
c3e: 85 d2 test %edx,%edx
c40: 0f 85 ca 00 00 00 jne d10 <show_free_areas+0x250>
c46: 89 f8 mov %edi,%eax
c48: e8 fc ff ff ff call c49 <show_free_areas+0x189>
c4d: 85 c0 test %eax,%eax
c4f: 89 c7 mov %eax,%edi
c51: 75 e5 jne c38 <show_free_areas+0x178>
c53: e8 fc ff ff ff call c54 <show_free_areas+0x194>
c58: 85 c0 test %eax,%eax
c5a: 89 c3 mov %eax,%ebx
c5c: 74 1d je c7b <show_free_areas+0x1bb>
c5e: 66 90 xchg %ax,%ax
c60: 8b 83 98 07 00 00 mov 0x798(%ebx),%eax
c66: 85 c0 test %eax,%eax
c68: 0f 85 f8 01 00 00 jne e66 <show_free_areas+0x3a6>
c6e: 89 d8 mov %ebx,%eax
c70: e8 fc ff ff ff call c71 <show_free_areas+0x1b1>
c75: 85 c0 test %eax,%eax
c77: 89 c3 mov %eax,%ebx
c79: 75 e5 jne c60 <show_free_areas+0x1a0>
c7b: 8b 15 24 00 00 00 mov 0x24,%edx
c81: 31 c0 xor %eax,%eax
c83: c7 04 24 c5 00 00 00 movl $0xc5,(%esp)
c8a: 85 d2 test %edx,%edx
c8c: 0f 49 c2 cmovns %edx,%eax
c8f: 89 44 24 04 mov %eax,0x4(%esp)
c93: e8 fc ff ff ff call c94 <show_free_areas+0x1d4>
c98: e8 fc ff ff ff call c99 <show_free_areas+0x1d9>
c9d: 81 c4 a0 00 00 00 add $0xa0,%esp
ca3: 5b pop %ebx
ca4: 5e pop %esi
ca5: 5f pop %edi
ca6: 5d pop %ebp
ca7: c3 ret
ca8: 8b 83 9c 07 00 00 mov 0x79c(%ebx),%eax
cae: 31 f6 xor %esi,%esi
cb0: c7 04 24 7f 00 00 00 movl $0x7f,(%esp)
cb7: 89 44 24 04 mov %eax,0x4(%esp)
cbb: e8 fc ff ff ff call cbc <show_free_areas+0x1fc>
cc0: 89 f1 mov %esi,%ecx
cc2: ba 08 00 00 00 mov $0x8,%edx
cc7: 89 f8 mov %edi,%eax
cc9: e8 fc ff ff ff call cca <show_free_areas+0x20a>
cce: 3b 05 00 00 00 00 cmp 0x0,%eax
cd4: 89 c1 mov %eax,%ecx
cd6: 0f 8d 12 fe ff ff jge aee <show_free_areas+0x2e>
cdc: 8d 71 01 lea 0x1(%ecx),%esi
cdf: 89 f2 mov %esi,%edx
ce1: c1 e2 07 shl $0x7,%edx
ce4: 8b 04 1a mov (%edx,%ebx,1),%eax
ce7: 89 44 24 10 mov %eax,0x10(%esp)
ceb: 8b 44 1a 08 mov 0x8(%edx,%ebx,1),%eax
cef: 89 44 24 0c mov %eax,0xc(%esp)
cf3: 8b 44 1a 04 mov 0x4(%edx,%ebx,1),%eax
cf7: 89 4c 24 04 mov %ecx,0x4(%esp)
cfb: c7 04 24 84 02 00 00 movl $0x284,(%esp)
d02: 89 44 24 08 mov %eax,0x8(%esp)
d06: e8 fc ff ff ff call d07 <show_free_areas+0x247>
d0b: eb b3 jmp cc0 <show_free_areas+0x200>
d0d: 8d 76 00 lea 0x0(%esi),%esi
d10: f6 87 d4 06 00 00 01 testb $0x1,0x6d4(%edi)
d17: b8 8f 00 00 00 mov $0x8f,%eax
d1c: b9 8c 00 00 00 mov $0x8c,%ecx
d21: 0f 45 c8 cmovne %eax,%ecx
d24: 89 4d 8c mov %ecx,-0x74(%ebp)
d27: 8b 8f ec 06 00 00 mov 0x6ec(%edi),%ecx
d2d: 8b 9f e4 06 00 00 mov 0x6e4(%edi),%ebx
d33: 8b b7 e8 06 00 00 mov 0x6e8(%edi),%esi
d39: 8b 87 dc 06 00 00 mov 0x6dc(%edi),%eax
d3f: 89 45 b0 mov %eax,-0x50(%ebp)
d42: 8b 87 e0 06 00 00 mov 0x6e0(%edi),%eax
d48: 89 45 b4 mov %eax,-0x4c(%ebp)
d4b: 8b 87 d8 06 00 00 mov 0x6d8(%edi),%eax
d51: 89 45 b8 mov %eax,-0x48(%ebp)
d54: 8b 45 8c mov -0x74(%ebp),%eax
d57: 89 44 24 34 mov %eax,0x34(%esp)
d5b: 8b 87 d0 06 00 00 mov 0x6d0(%edi),%eax
d61: 89 44 24 30 mov %eax,0x30(%esp)
d65: 8d 04 95 00 00 00 00 lea 0x0(,%edx,4),%eax
d6c: 31 d2 xor %edx,%edx
d6e: 85 c9 test %ecx,%ecx
d70: 0f 48 ca cmovs %edx,%ecx
d73: c1 e1 02 shl $0x2,%ecx
d76: 85 db test %ebx,%ebx
d78: 89 44 24 2c mov %eax,0x2c(%esp)
d7c: 8b 45 b0 mov -0x50(%ebp),%eax
d7f: 0f 48 da cmovs %edx,%ebx
d82: c1 e3 02 shl $0x2,%ebx
d85: 85 f6 test %esi,%esi
d87: 0f 48 f2 cmovs %edx,%esi
d8a: c1 e6 02 shl $0x2,%esi
d8d: 85 c0 test %eax,%eax
d8f: 8b 45 b0 mov -0x50(%ebp),%eax
d92: 89 4c 24 28 mov %ecx,0x28(%esp)
d96: 89 5c 24 24 mov %ebx,0x24(%esp)
d9a: 89 74 24 20 mov %esi,0x20(%esp)
d9e: 0f 48 c2 cmovs %edx,%eax
da1: c1 e0 02 shl $0x2,%eax
da4: 89 44 24 1c mov %eax,0x1c(%esp)
da8: 8b 45 b4 mov -0x4c(%ebp),%eax
dab: 85 c0 test %eax,%eax
dad: 8b 45 b4 mov -0x4c(%ebp),%eax
db0: 0f 48 c2 cmovs %edx,%eax
db3: c1 e0 02 shl $0x2,%eax
db6: 89 44 24 18 mov %eax,0x18(%esp)
dba: 8b 47 08 mov 0x8(%edi),%eax
dbd: c1 e0 02 shl $0x2,%eax
dc0: 89 44 24 14 mov %eax,0x14(%esp)
dc4: 8b 47 04 mov 0x4(%edi),%eax
dc7: c1 e0 02 shl $0x2,%eax
dca: 89 44 24 10 mov %eax,0x10(%esp)
dce: 8b 07 mov (%edi),%eax
dd0: c1 e0 02 shl $0x2,%eax
dd3: 89 44 24 0c mov %eax,0xc(%esp)
dd7: 8b 45 b8 mov -0x48(%ebp),%eax
dda: 85 c0 test %eax,%eax
ddc: 0f 49 55 b8 cmovns -0x48(%ebp),%edx
de0: c1 e2 02 shl $0x2,%edx
de3: 89 54 24 08 mov %edx,0x8(%esp)
de7: 8b 87 9c 07 00 00 mov 0x79c(%edi),%eax
ded: c7 04 24 5c 03 00 00 movl $0x35c,(%esp)
df4: 89 44 24 04 mov %eax,0x4(%esp)
df8: e8 fc ff ff ff call df9 <show_free_areas+0x339>
dfd: c7 04 24 93 00 00 00 movl $0x93,(%esp)
e04: e8 fc ff ff ff call e05 <show_free_areas+0x345>
e09: 8b 47 0c mov 0xc(%edi),%eax
e0c: c7 04 24 a5 00 00 00 movl $0xa5,(%esp)
e13: 89 44 24 04 mov %eax,0x4(%esp)
e17: e8 fc ff ff ff call e18 <show_free_areas+0x358>
e1c: 8b 47 10 mov 0x10(%edi),%eax
e1f: c7 04 24 a5 00 00 00 movl $0xa5,(%esp)
e26: 89 44 24 04 mov %eax,0x4(%esp)
e2a: e8 fc ff ff ff call e2b <show_free_areas+0x36b>
e2f: 8b 47 14 mov 0x14(%edi),%eax
e32: c7 04 24 a5 00 00 00 movl $0xa5,(%esp)
e39: 89 44 24 04 mov %eax,0x4(%esp)
e3d: e8 fc ff ff ff call e3e <show_free_areas+0x37e>
e42: 8b 47 18 mov 0x18(%edi),%eax
e45: c7 04 24 a5 00 00 00 movl $0xa5,(%esp)
e4c: 89 44 24 04 mov %eax,0x4(%esp)
e50: e8 fc ff ff ff call e51 <show_free_areas+0x391>
e55: c7 04 24 aa 00 00 00 movl $0xaa,(%esp)
e5c: e8 fc ff ff ff call e5d <show_free_areas+0x39d>
e61: e9 e0 fd ff ff jmp c46 <show_free_areas+0x186>
e66: 8b 83 9c 07 00 00 mov 0x79c(%ebx),%eax
e6c: 89 de mov %ebx,%esi
e6e: 31 ff xor %edi,%edi
e70: c7 04 24 ac 00 00 00 movl $0xac,(%esp)
e77: 89 44 24 04 mov %eax,0x4(%esp)
e7b: e8 fc ff ff ff call e7c <show_free_areas+0x3bc>
e80: 8d 8b 80 04 00 00 lea 0x480(%ebx),%ecx
e86: 89 c8 mov %ecx,%eax
e88: 89 4d 90 mov %ecx,-0x70(%ebp)
e8b: e8 fc ff ff ff call e8c <show_free_areas+0x3cc>
e90: 31 c9 xor %ecx,%ecx
e92: 89 c2 mov %eax,%edx
e94: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
e98: 8b 86 ac 04 00 00 mov 0x4ac(%esi),%eax
e9e: 83 c6 2c add $0x2c,%esi
ea1: 89 44 8d c8 mov %eax,-0x38(%ebp,%ecx,4)
ea5: d3 e0 shl %cl,%eax
ea7: 83 c1 01 add $0x1,%ecx
eaa: 01 c7 add %eax,%edi
eac: 83 f9 0b cmp $0xb,%ecx
eaf: 75 e7 jne e98 <show_free_areas+0x3d8>
eb1: 8b 45 90 mov -0x70(%ebp),%eax
eb4: 31 f6 xor %esi,%esi
eb6: e8 fc ff ff ff call eb7 <show_free_areas+0x3f7>
ebb: 90 nop
ebc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
ec0: 89 f1 mov %esi,%ecx
ec2: b8 04 00 00 00 mov $0x4,%eax
ec7: d3 e0 shl %cl,%eax
ec9: 89 44 24 08 mov %eax,0x8(%esp)
ecd: 8b 44 b5 c8 mov -0x38(%ebp,%esi,4),%eax
ed1: 83 c6 01 add $0x1,%esi
ed4: c7 04 24 b1 00 00 00 movl $0xb1,(%esp)
edb: 89 44 24 04 mov %eax,0x4(%esp)
edf: e8 fc ff ff ff call ee0 <show_free_areas+0x420>
ee4: 83 fe 0b cmp $0xb,%esi
ee7: 75 d7 jne ec0 <show_free_areas+0x400>
ee9: 8d 04 bd 00 00 00 00 lea 0x0(,%edi,4),%eax
ef0: 89 44 24 04 mov %eax,0x4(%esp)
ef4: c7 04 24 bc 00 00 00 movl $0xbc,(%esp)
efb: e8 fc ff ff ff call efc <show_free_areas+0x43c>
f00: e9 69 fd ff ff jmp c6e <show_free_areas+0x1ae>
f05: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
f09: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00000f10 <si_meminfo>:
f10: 55 push %ebp
f11: 89 e5 mov %esp,%ebp
f13: 53 push %ebx
f14: 89 c3 mov %eax,%ebx
f16: a1 00 00 00 00 mov 0x0,%eax
f1b: c7 43 18 00 00 00 00 movl $0x0,0x18(%ebx)
f22: 89 43 10 mov %eax,0x10(%ebx)
f25: 8b 15 00 00 00 00 mov 0x0,%edx
f2b: 31 c0 xor %eax,%eax
f2d: 85 d2 test %edx,%edx
f2f: 0f 49 c2 cmovns %edx,%eax
f32: 89 43 14 mov %eax,0x14(%ebx)
f35: e8 fc ff ff ff call f36 <si_meminfo+0x26>
f3a: 89 43 1c mov %eax,0x1c(%ebx)
f3d: a1 00 00 00 00 mov 0x0,%eax
f42: 89 43 2c mov %eax,0x2c(%ebx)
f45: e8 fc ff ff ff call f46 <si_meminfo+0x36>
f4a: c7 43 34 00 10 00 00 movl $0x1000,0x34(%ebx)
f51: 89 43 30 mov %eax,0x30(%ebx)
f54: 5b pop %ebx
f55: 5d pop %ebp
f56: c3 ret
f57: 89 f6 mov %esi,%esi
f59: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00000f60 <nr_free_zone_pages>:
f60: 55 push %ebp
f61: 31 c9 xor %ecx,%ecx
f63: 89 e5 mov %esp,%ebp
f65: 89 c2 mov %eax,%edx
f67: 57 push %edi
f68: 56 push %esi
f69: 89 c6 mov %eax,%esi
f6b: 53 push %ebx
f6c: b8 04 20 00 00 mov $0x2004,%eax
f71: 83 ec 08 sub $0x8,%esp
f74: 31 db xor %ebx,%ebx
f76: 8d 7d f0 lea -0x10(%ebp),%edi
f79: 89 3c 24 mov %edi,(%esp)
f7c: e8 fc ff ff ff call f7d <nr_free_zone_pages+0x1d>
f81: 8b 4d f0 mov -0x10(%ebp),%ecx
f84: 85 c9 test %ecx,%ecx
f86: 74 27 je faf <nr_free_zone_pages+0x4f>
f88: 8b 91 98 07 00 00 mov 0x798(%ecx),%edx
f8e: 8b 49 08 mov 0x8(%ecx),%ecx
f91: 39 ca cmp %ecx,%edx
f93: 76 04 jbe f99 <nr_free_zone_pages+0x39>
f95: 29 ca sub %ecx,%edx
f97: 01 d3 add %edx,%ebx
f99: 31 c9 xor %ecx,%ecx
f9b: 83 c0 08 add $0x8,%eax
f9e: 89 f2 mov %esi,%edx
fa0: 89 3c 24 mov %edi,(%esp)
fa3: e8 fc ff ff ff call fa4 <nr_free_zone_pages+0x44>
fa8: 8b 4d f0 mov -0x10(%ebp),%ecx
fab: 85 c9 test %ecx,%ecx
fad: 75 d9 jne f88 <nr_free_zone_pages+0x28>
faf: 83 c4 08 add $0x8,%esp
fb2: 89 d8 mov %ebx,%eax
fb4: 5b pop %ebx
fb5: 5e pop %esi
fb6: 5f pop %edi
fb7: 5d pop %ebp
fb8: c3 ret
fb9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00000fc0 <nr_free_pagecache_pages>:
fc0: 55 push %ebp
fc1: b8 03 00 00 00 mov $0x3,%eax
fc6: 89 e5 mov %esp,%ebp
fc8: e8 93 ff ff ff call f60 <nr_free_zone_pages>
fcd: 5d pop %ebp
fce: c3 ret
fcf: 90 nop
00000fd0 <build_all_zonelists>:
fd0: 55 push %ebp
fd1: 89 e5 mov %esp,%ebp
fd3: 83 ec 14 sub $0x14,%esp
fd6: a1 00 00 00 00 mov 0x0,%eax
fdb: c7 05 0c 00 00 00 02 movl $0x2,0xc
fe2: 00 00 00
fe5: 85 c0 test %eax,%eax
fe7: 75 5f jne 1048 <build_all_zonelists+0x78>
fe9: 31 c0 xor %eax,%eax
feb: e8 e0 f2 ff ff call 2d0 <__build_all_zonelists>
ff0: e8 fc ff ff ff call ff1 <build_all_zonelists+0x21>
ff5: e8 fc ff ff ff call ff6 <build_all_zonelists+0x26>
ffa: 3d ff 09 00 00 cmp $0x9ff,%eax
fff: a3 00 00 00 00 mov %eax,0x0
1004: 77 52 ja 1058 <build_all_zonelists+0x88>
1006: c7 05 00 00 00 00 01 movl $0x1,0x0
100d: 00 00 00
1010: ba e0 00 00 00 mov $0xe0,%edx
1015: 89 44 24 10 mov %eax,0x10(%esp)
1019: a1 0c 00 00 00 mov 0xc,%eax
101e: 89 54 24 0c mov %edx,0xc(%esp)
1022: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
1029: 00
102a: c7 04 24 20 04 00 00 movl $0x420,(%esp)
1031: 8d 04 c5 10 00 00 00 lea 0x10(,%eax,8),%eax
1038: 89 44 24 08 mov %eax,0x8(%esp)
103c: e8 fc ff ff ff call 103d <build_all_zonelists+0x6d>
1041: c9 leave
1042: c3 ret
1043: 90 nop
1044: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1048: 31 c9 xor %ecx,%ecx
104a: 31 d2 xor %edx,%edx
104c: b8 d0 02 00 00 mov $0x2d0,%eax
1051: e8 fc ff ff ff call 1052 <build_all_zonelists+0x82>
1056: eb 9d jmp ff5 <build_all_zonelists+0x25>
1058: c7 05 00 00 00 00 00 movl $0x0,0x0
105f: 00 00 00
1062: ba e4 00 00 00 mov $0xe4,%edx
1067: eb ac jmp 1015 <build_all_zonelists+0x45>
1069: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00001070 <nr_free_buffer_pages>:
1070: 55 push %ebp
1071: b8 01 00 00 00 mov $0x1,%eax
1076: 89 e5 mov %esp,%ebp
1078: e8 e3 fe ff ff call f60 <nr_free_zone_pages>
107d: 5d pop %ebp
107e: c3 ret
107f: 90 nop
00001080 <bad_page>:
1080: 55 push %ebp
1081: 89 e5 mov %esp,%ebp
1083: 83 ec 28 sub $0x28,%esp
1086: 8b 15 14 00 00 00 mov 0x14,%edx
108c: 89 5d f4 mov %ebx,-0xc(%ebp)
108f: 89 c3 mov %eax,%ebx
1091: 89 75 f8 mov %esi,-0x8(%ebp)
1094: 89 7d fc mov %edi,-0x4(%ebp)
1097: 83 fa 3c cmp $0x3c,%edx
109a: 0f 85 d1 00 00 00 jne 1171 <bad_page+0xf1>
10a0: a1 00 00 00 00 mov 0x0,%eax
10a5: 3b 05 18 00 00 00 cmp 0x18,%eax
10ab: 0f 88 b7 00 00 00 js 1168 <bad_page+0xe8>
10b1: a1 10 00 00 00 mov 0x10,%eax
10b6: 85 c0 test %eax,%eax
10b8: 0f 85 ca 00 00 00 jne 1188 <bad_page+0x108>
10be: c7 05 14 00 00 00 01 movl $0x1,0x14
10c5: 00 00 00
10c8: a1 00 00 00 00 mov 0x0,%eax
10cd: 05 60 ea 00 00 add $0xea60,%eax
10d2: a3 18 00 00 00 mov %eax,0x18
10d7: 89 d8 mov %ebx,%eax
10d9: 2b 05 00 00 00 00 sub 0x0,%eax
10df: 64 8b 15 00 00 00 00 mov %fs:0x0,%edx
10e6: 81 c2 c8 01 00 00 add $0x1c8,%edx
10ec: c1 f8 05 sar $0x5,%eax
10ef: 89 54 24 04 mov %edx,0x4(%esp)
10f3: 89 44 24 08 mov %eax,0x8(%esp)
10f7: c7 04 24 a0 04 00 00 movl $0x4a0,(%esp)
10fe: e8 fc ff ff ff call 10ff <bad_page+0x7f>
1103: 8b 0b mov (%ebx),%ecx
1105: 89 da mov %ebx,%edx
1107: 8b 7b 14 mov 0x14(%ebx),%edi
110a: 8b 73 10 mov 0x10(%ebx),%esi
110d: 8b 43 08 mov 0x8(%ebx),%eax
1110: f6 c5 40 test $0x40,%ch
1113: 75 4b jne 1160 <bad_page+0xe0>
1115: 8b 52 04 mov 0x4(%edx),%edx
1118: 83 c0 01 add $0x1,%eax
111b: 89 4c 24 08 mov %ecx,0x8(%esp)
111f: 89 7c 24 18 mov %edi,0x18(%esp)
1123: 89 74 24 14 mov %esi,0x14(%esp)
1127: 89 54 24 0c mov %edx,0xc(%esp)
112b: 89 44 24 10 mov %eax,0x10(%esp)
112f: 89 5c 24 04 mov %ebx,0x4(%esp)
1133: c7 04 24 d4 04 00 00 movl $0x4d4,(%esp)
113a: e8 fc ff ff ff call 113b <bad_page+0xbb>
113f: e8 fc ff ff ff call 1140 <bad_page+0xc0>
1144: 0f ba 33 12 btrl $0x12,(%ebx)
1148: b8 05 00 00 00 mov $0x5,%eax
114d: e8 fc ff ff ff call 114e <bad_page+0xce>
1152: 8b 5d f4 mov -0xc(%ebp),%ebx
1155: 8b 75 f8 mov -0x8(%ebp),%esi
1158: 8b 7d fc mov -0x4(%ebp),%edi
115b: 89 ec mov %ebp,%esp
115d: 5d pop %ebp
115e: c3 ret
115f: 90 nop
1160: 8b 53 0c mov 0xc(%ebx),%edx
1163: eb b0 jmp 1115 <bad_page+0x95>
1165: 8d 76 00 lea 0x0(%esi),%esi
1168: 83 05 10 00 00 00 01 addl $0x1,0x10
116f: eb d3 jmp 1144 <bad_page+0xc4>
1171: 8d 42 01 lea 0x1(%edx),%eax
1174: 85 d2 test %edx,%edx
1176: a3 14 00 00 00 mov %eax,0x14
117b: 0f 85 56 ff ff ff jne 10d7 <bad_page+0x57>
1181: e9 42 ff ff ff jmp 10c8 <bad_page+0x48>
1186: 66 90 xchg %ax,%ax
1188: 89 44 24 04 mov %eax,0x4(%esp)
118c: c7 04 24 6c 04 00 00 movl $0x46c,(%esp)
1193: e8 fc ff ff ff call 1194 <bad_page+0x114>
1198: c7 05 10 00 00 00 00 movl $0x0,0x10
119f: 00 00 00
11a2: e9 17 ff ff ff jmp 10be <bad_page+0x3e>
11a7: 89 f6 mov %esi,%esi
11a9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
000011b0 <__free_pages_ok>:
11b0: 55 push %ebp
11b1: 89 d1 mov %edx,%ecx
11b3: 89 e5 mov %esp,%ebp
11b5: 57 push %edi
11b6: 56 push %esi
11b7: 53 push %ebx
11b8: 83 ec 28 sub $0x28,%esp
11bb: c7 45 ec 01 00 00 00 movl $0x1,-0x14(%ebp)
11c2: d3 65 ec shll %cl,-0x14(%ebp)
11c5: 89 55 d0 mov %edx,-0x30(%ebp)
11c8: 8b 55 ec mov -0x14(%ebp),%edx
11cb: 89 45 d4 mov %eax,-0x2c(%ebp)
11ce: 85 d2 test %edx,%edx
11d0: 0f 8e ca 00 00 00 jle 12a0 <__free_pages_ok+0xf0>
11d6: bf 00 00 00 00 mov $0x0,%edi
11db: 89 c3 mov %eax,%ebx
11dd: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%ebp)
11e4: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%ebp)
11eb: 89 7d cc mov %edi,-0x34(%ebp)
11ee: eb 5e jmp 124e <__free_pages_ok+0x9e>
11f0: 8b 33 mov (%ebx),%esi
11f2: 89 da mov %ebx,%edx
11f4: 8b 7b 08 mov 0x8(%ebx),%edi
11f7: 8b 43 10 mov 0x10(%ebx),%eax
11fa: f7 c6 00 40 00 00 test $0x4000,%esi
1200: 74 03 je 1205 <__free_pages_ok+0x55>
1202: 8b 53 0c mov 0xc(%ebx),%edx
1205: 8b 4a 04 mov 0x4(%edx),%ecx
1208: 31 d2 xor %edx,%edx
120a: 85 c0 test %eax,%eax
120c: 0f 95 c2 setne %dl
120f: 8d 47 01 lea 0x1(%edi),%eax
1212: 09 c2 or %eax,%edx
1214: 31 c0 xor %eax,%eax
1216: 85 c9 test %ecx,%ecx
1218: 0f 95 c0 setne %al
121b: 09 c2 or %eax,%edx
121d: 89 f0 mov %esi,%eax
121f: 25 e1 9c 34 00 and $0x349ce1,%eax
1224: 09 c2 or %eax,%edx
1226: 75 58 jne 1280 <__free_pages_ok+0xd0>
1228: 31 c0 xor %eax,%eax
122a: f7 c6 ff ff 3f 00 test $0x3fffff,%esi
1230: 74 0a je 123c <__free_pages_ok+0x8c>
1232: 81 e6 00 00 c0 ff and $0xffc00000,%esi
1238: 31 c0 xor %eax,%eax
123a: 89 33 mov %esi,(%ebx)
123c: 83 45 dc 01 addl $0x1,-0x24(%ebp)
1240: 83 c3 20 add $0x20,%ebx
1243: 8b 4d ec mov -0x14(%ebp),%ecx
1246: 01 45 e0 add %eax,-0x20(%ebp)
1249: 39 4d dc cmp %ecx,-0x24(%ebp)
124c: 7d 42 jge 1290 <__free_pages_ok+0xe0>
124e: f0 0f ba 33 15 lock btrl $0x15,(%ebx)
1253: 19 c0 sbb %eax,%eax
1255: 85 c0 test %eax,%eax
1257: 74 97 je 11f0 <__free_pages_ok+0x40>
1259: 9c pushf
125a: 5e pop %esi
125b: fa cli
125c: ba 06 00 00 00 mov $0x6,%edx
1261: 89 d8 mov %ebx,%eax
1263: e8 fc ff ff ff call 1264 <__free_pages_ok+0xb4>
1268: 8b 55 cc mov -0x34(%ebp),%edx
126b: 64 a1 00 00 00 00 mov %fs:0x0,%eax
1271: 83 84 10 b4 00 00 00 addl $0x1,0xb4(%eax,%edx,1)
1278: 01
1279: 56 push %esi
127a: 9d popf
127b: e9 70 ff ff ff jmp 11f0 <__free_pages_ok+0x40>
1280: 89 d8 mov %ebx,%eax
1282: e8 f9 fd ff ff call 1080 <bad_page>
1287: b8 01 00 00 00 mov $0x1,%eax
128c: eb ae jmp 123c <__free_pages_ok+0x8c>
128e: 66 90 xchg %ax,%ax
1290: 8b 45 e0 mov -0x20(%ebp),%eax
1293: 85 c0 test %eax,%eax
1295: 74 09 je 12a0 <__free_pages_ok+0xf0>
1297: 83 c4 28 add $0x28,%esp
129a: 5b pop %ebx
129b: 5e pop %esi
129c: 5f pop %edi
129d: 5d pop %ebp
129e: c3 ret
129f: 90 nop
12a0: 8b 7d d4 mov -0x2c(%ebp),%edi
12a3: 8b 07 mov (%edi),%eax
12a5: c1 e8 1e shr $0x1e,%eax
12a8: c1 e0 0b shl $0xb,%eax
12ab: 05 00 00 00 00 add $0x0,%eax
12b0: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax
12b6: 3d 00 10 00 00 cmp $0x1000,%eax
12bb: 74 1b je 12d8 <__free_pages_ok+0x128>
12bd: 3d 00 18 00 00 cmp $0x1800,%eax
12c2: 0f 84 f8 01 00 00 je 14c0 <__free_pages_ok+0x310>
12c8: 8b 45 d4 mov -0x2c(%ebp),%eax
12cb: e8 fc ff ff ff call 12cc <__free_pages_ok+0x11c>
12d0: 8b 45 d4 mov -0x2c(%ebp),%eax
12d3: e8 fc ff ff ff call 12d4 <__free_pages_ok+0x124>
12d8: 9c pushf
12d9: 8f 45 d8 popl -0x28(%ebp)
12dc: fa cli
12dd: 8b 4d ec mov -0x14(%ebp),%ecx
12e0: b8 00 00 00 00 mov $0x0,%eax
12e5: 64 8b 15 00 00 00 00 mov %fs:0x0,%edx
12ec: 01 4c 10 20 add %ecx,0x20(%eax,%edx,1)
12f0: 8b 7d d4 mov -0x2c(%ebp),%edi
12f3: 8b 07 mov (%edi),%eax
12f5: c1 e8 1e shr $0x1e,%eax
12f8: c1 e0 0b shl $0xb,%eax
12fb: 05 00 00 00 00 add $0x0,%eax
1300: 89 45 e4 mov %eax,-0x1c(%ebp)
1303: 05 80 04 00 00 add $0x480,%eax
1308: 89 45 f0 mov %eax,-0x10(%ebp)
130b: e8 fc ff ff ff call 130c <__free_pages_ok+0x15c>
1310: 8b 45 e4 mov -0x1c(%ebp),%eax
1313: 8b 55 e4 mov -0x1c(%ebp),%edx
1316: 05 d4 06 00 00 add $0x6d4,%eax
131b: f0 80 a2 d4 06 00 00 lock andb $0xfe,0x6d4(%edx)
1322: fe
1323: c7 82 d0 06 00 00 00 movl $0x0,0x6d0(%edx)
132a: 00 00 00
132d: a1 00 00 00 00 mov 0x0,%eax
1332: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
1339: 85 c0 test %eax,%eax
133b: 0f 84 57 01 00 00 je 1498 <__free_pages_ok+0x2e8>
1341: 8b 4d d4 mov -0x2c(%ebp),%ecx
1344: 8b 01 mov (%ecx),%eax
1346: f6 c4 60 test $0x60,%ah
1349: 0f 84 8f 00 00 00 je 13de <__free_pages_ok+0x22e>
134f: c1 e8 0d shr $0xd,%eax
1352: 89 c2 mov %eax,%edx
1354: 83 e2 01 and $0x1,%edx
1357: 0f 84 33 01 00 00 je 1490 <__free_pages_ok+0x2e0>
135d: 8b 7d d4 mov -0x2c(%ebp),%edi
1360: 8b 47 3c mov 0x3c(%edi),%eax
1363: 39 45 d0 cmp %eax,-0x30(%ebp)
1366: 75 06 jne 136e <__free_pages_ok+0x1be>
1368: 31 ff xor %edi,%edi
136a: 85 d2 test %edx,%edx
136c: 75 0d jne 137b <__free_pages_ok+0x1cb>
136e: 8b 45 d4 mov -0x2c(%ebp),%eax
1371: bf 01 00 00 00 mov $0x1,%edi
1376: e8 05 fd ff ff call 1080 <bad_page>
137b: 8b 45 d4 mov -0x2c(%ebp),%eax
137e: 0f ba 30 0d btrl $0xd,(%eax)
1382: 83 7d ec 01 cmpl $0x1,-0x14(%ebp)
1386: 7e 48 jle 13d0 <__free_pages_ok+0x220>
1388: 89 c3 mov %eax,%ebx
138a: be 01 00 00 00 mov $0x1,%esi
138f: 83 c3 20 add $0x20,%ebx
1392: eb 1e jmp 13b2 <__free_pages_ok+0x202>
1394: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1398: 8b 45 d4 mov -0x2c(%ebp),%eax
139b: 83 c7 01 add $0x1,%edi
139e: e8 dd fc ff ff call 1080 <bad_page>
13a3: 0f ba 33 0e btrl $0xe,(%ebx)
13a7: 83 c6 01 add $0x1,%esi
13aa: 83 c3 20 add $0x20,%ebx
13ad: 3b 75 ec cmp -0x14(%ebp),%esi
13b0: 7d 1e jge 13d0 <__free_pages_ok+0x220>
13b2: 8b 03 mov (%ebx),%eax
13b4: f6 c4 40 test $0x40,%ah
13b7: 74 df je 1398 <__free_pages_ok+0x1e8>
13b9: 8b 55 d4 mov -0x2c(%ebp),%edx
13bc: 3b 53 0c cmp 0xc(%ebx),%edx
13bf: 75 d7 jne 1398 <__free_pages_ok+0x1e8>
13c1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
13c8: eb d9 jmp 13a3 <__free_pages_ok+0x1f3>
13ca: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
13d0: 85 ff test %edi,%edi
13d2: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
13d8: 0f 85 99 00 00 00 jne 1477 <__free_pages_ok+0x2c7>
13de: 8b 4d ec mov -0x14(%ebp),%ecx
13e1: 31 d2 xor %edx,%edx
13e3: 8b 45 e4 mov -0x1c(%ebp),%eax
13e6: 8b 1d 00 00 00 00 mov 0x0,%ebx
13ec: e8 fc ff ff ff call 13ed <__free_pages_ok+0x23d>
13f1: 83 7d d0 09 cmpl $0x9,-0x30(%ebp)
13f5: 77 34 ja 142b <__free_pages_ok+0x27b>
13f7: 8b 7d d4 mov -0x2c(%ebp),%edi
13fa: 8b 45 ec mov -0x14(%ebp),%eax
13fd: 8b 55 d4 mov -0x2c(%ebp),%edx
1400: 29 df sub %ebx,%edi
1402: 8b 5d d4 mov -0x2c(%ebp),%ebx
1405: c1 ff 05 sar $0x5,%edi
1408: 81 e7 ff 07 00 00 and $0x7ff,%edi
140e: 31 f8 xor %edi,%eax
1410: 29 f8 sub %edi,%eax
1412: c1 e0 05 shl $0x5,%eax
1415: 01 c3 add %eax,%ebx
1417: 8b 02 mov (%edx),%eax
1419: 8b 0b mov (%ebx),%ecx
141b: c1 e8 1e shr $0x1e,%eax
141e: 89 ca mov %ecx,%edx
1420: c1 ea 1e shr $0x1e,%edx
1423: 39 d0 cmp %edx,%eax
1425: 0f 84 ad 00 00 00 je 14d8 <__free_pages_ok+0x328>
142b: 8b 4d d0 mov -0x30(%ebp),%ecx
142e: 8b 55 d4 mov -0x2c(%ebp),%edx
1431: 89 4a 0c mov %ecx,0xc(%edx)
1434: 0f ba 2a 12 btsl $0x12,(%edx)
1438: 8b 7d e8 mov -0x18(%ebp),%edi
143b: 89 d6 mov %edx,%esi
143d: 6b d1 2c imul $0x2c,%ecx,%edx
1440: 8b 45 e4 mov -0x1c(%ebp),%eax
1443: 83 c6 18 add $0x18,%esi
1446: 8d 0c fa lea (%edx,%edi,8),%ecx
1449: 8d 9c 08 80 04 00 00 lea 0x480(%eax,%ecx,1),%ebx
1450: 8b 43 04 mov 0x4(%ebx),%eax
1453: 89 70 04 mov %esi,0x4(%eax)
1456: 8b 7d d4 mov -0x2c(%ebp),%edi
1459: 89 47 18 mov %eax,0x18(%edi)
145c: 8b 7d e4 mov -0x1c(%ebp),%edi
145f: 8d 84 0f 84 04 00 00 lea 0x484(%edi,%ecx,1),%eax
1466: 8b 4d d4 mov -0x2c(%ebp),%ecx
1469: 89 73 04 mov %esi,0x4(%ebx)
146c: 89 41 1c mov %eax,0x1c(%ecx)
146f: 83 84 17 ac 04 00 00 addl $0x1,0x4ac(%edi,%edx,1)
1476: 01
1477: 8b 45 f0 mov -0x10(%ebp),%eax
147a: e8 fc ff ff ff call 147b <__free_pages_ok+0x2cb>
147f: ff 75 d8 pushl -0x28(%ebp)
1482: 9d popf
1483: 83 c4 28 add $0x28,%esp
1486: 5b pop %ebx
1487: 5e pop %esi
1488: 5f pop %edi
1489: 5d pop %ebp
148a: c3 ret
148b: 90 nop
148c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1490: 31 c0 xor %eax,%eax
1492: e9 cc fe ff ff jmp 1363 <__free_pages_ok+0x1b3>
1497: 90 nop
1498: 8b 45 d4 mov -0x2c(%ebp),%eax
149b: b9 02 00 00 00 mov $0x2,%ecx
14a0: 31 d2 xor %edx,%edx
14a2: e8 fc ff ff ff call 14a3 <__free_pages_ok+0x2f3>
14a7: 8b 4d d4 mov -0x2c(%ebp),%ecx
14aa: 89 45 e8 mov %eax,-0x18(%ebp)
14ad: 8b 01 mov (%ecx),%eax
14af: f6 c4 60 test $0x60,%ah
14b2: 0f 85 97 fe ff ff jne 134f <__free_pages_ok+0x19f>
14b8: e9 21 ff ff ff jmp 13de <__free_pages_ok+0x22e>
14bd: 8d 76 00 lea 0x0(%esi),%esi
14c0: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
14c7: 0f 85 fb fd ff ff jne 12c8 <__free_pages_ok+0x118>
14cd: 8d 76 00 lea 0x0(%esi),%esi
14d0: e9 03 fe ff ff jmp 12d8 <__free_pages_ok+0x128>
14d5: 8d 76 00 lea 0x0(%esi),%esi
14d8: f7 c1 00 00 04 00 test $0x40000,%ecx
14de: 66 90 xchg %ax,%ax
14e0: 0f 84 45 ff ff ff je 142b <__free_pages_ok+0x27b>
14e6: 8b 45 d0 mov -0x30(%ebp),%eax
14e9: 3b 43 0c cmp 0xc(%ebx),%eax
14ec: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
14f0: 0f 85 35 ff ff ff jne 142b <__free_pages_ok+0x27b>
14f6: 66 90 xchg %ax,%ax
14f8: 80 e5 40 and $0x40,%ch
14fb: 89 d8 mov %ebx,%eax
14fd: 74 03 je 1502 <__free_pages_ok+0x352>
14ff: 8b 43 0c mov 0xc(%ebx),%eax
1502: 8b 40 04 mov 0x4(%eax),%eax
1505: 85 c0 test %eax,%eax
1507: 0f 85 9c 00 00 00 jne 15a9 <__free_pages_ok+0x3f9>
150d: 8b 53 18 mov 0x18(%ebx),%edx
1510: 8b 43 1c mov 0x1c(%ebx),%eax
1513: 89 42 04 mov %eax,0x4(%edx)
1516: 89 10 mov %edx,(%eax)
1518: c7 43 1c 00 02 20 00 movl $0x200200,0x1c(%ebx)
151f: c7 43 18 00 01 10 00 movl $0x100100,0x18(%ebx)
1526: 8b 55 e4 mov -0x1c(%ebp),%edx
1529: 6b 45 d0 2c imul $0x2c,-0x30(%ebp),%eax
152d: 83 ac 02 ac 04 00 00 subl $0x1,0x4ac(%edx,%eax,1)
1534: 01
1535: 0f ba 33 12 btrl $0x12,(%ebx)
1539: c7 43 0c 00 00 00 00 movl $0x0,0xc(%ebx)
1540: 8b 75 ec mov -0x14(%ebp),%esi
1543: f7 d6 not %esi
1545: 21 fe and %edi,%esi
1547: 89 f0 mov %esi,%eax
1549: 29 f8 sub %edi,%eax
154b: 8b 7d d0 mov -0x30(%ebp),%edi
154e: c1 e0 05 shl $0x5,%eax
1551: 01 45 d4 add %eax,-0x2c(%ebp)
1554: 83 c7 01 add $0x1,%edi
1557: 83 ff 09 cmp $0x9,%edi
155a: 77 2b ja 1587 <__free_pages_ok+0x3d7>
155c: 89 f9 mov %edi,%ecx
155e: b8 01 00 00 00 mov $0x1,%eax
1563: 8b 5d d4 mov -0x2c(%ebp),%ebx
1566: d3 e0 shl %cl,%eax
1568: 8b 55 d4 mov -0x2c(%ebp),%edx
156b: 89 45 ec mov %eax,-0x14(%ebp)
156e: 31 f0 xor %esi,%eax
1570: 29 f0 sub %esi,%eax
1572: c1 e0 05 shl $0x5,%eax
1575: 01 c3 add %eax,%ebx
1577: 8b 02 mov (%edx),%eax
1579: 8b 0b mov (%ebx),%ecx
157b: c1 e8 1e shr $0x1e,%eax
157e: 89 ca mov %ecx,%edx
1580: c1 ea 1e shr $0x1e,%edx
1583: 39 d0 cmp %edx,%eax
1585: 74 09 je 1590 <__free_pages_ok+0x3e0>
1587: 89 7d d0 mov %edi,-0x30(%ebp)
158a: e9 9c fe ff ff jmp 142b <__free_pages_ok+0x27b>
158f: 90 nop
1590: f7 c1 00 00 04 00 test $0x40000,%ecx
1596: 74 ef je 1587 <__free_pages_ok+0x3d7>
1598: 8b 43 0c mov 0xc(%ebx),%eax
159b: 39 f8 cmp %edi,%eax
159d: 89 45 d0 mov %eax,-0x30(%ebp)
15a0: 75 e5 jne 1587 <__free_pages_ok+0x3d7>
15a2: 89 f7 mov %esi,%edi
15a4: e9 4f ff ff ff jmp 14f8 <__free_pages_ok+0x348>
15a9: 0f 0b ud2a
15ab: eb fe jmp 15ab <__free_pages_ok+0x3fb>
15ad: 8d 76 00 lea 0x0(%esi),%esi
000015b0 <free_compound_page>:
15b0: 55 push %ebp
15b1: 89 c1 mov %eax,%ecx
15b3: 8b 00 mov (%eax),%eax
15b5: 31 d2 xor %edx,%edx
15b7: 89 e5 mov %esp,%ebp
15b9: f6 c4 20 test $0x20,%ah
15bc: 74 03 je 15c1 <free_compound_page+0x11>
15be: 8b 51 3c mov 0x3c(%ecx),%edx
15c1: 89 c8 mov %ecx,%eax
15c3: e8 e8 fb ff ff call 11b0 <__free_pages_ok>
15c8: 5d pop %ebp
15c9: c3 ret
15ca: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
000015d0 <free_pages_bulk>:
15d0: 55 push %ebp
15d1: 89 e5 mov %esp,%ebp
15d3: 57 push %edi
15d4: 56 push %esi
15d5: 53 push %ebx
15d6: 89 d3 mov %edx,%ebx
15d8: 83 ec 28 sub $0x28,%esp
15db: 89 45 d0 mov %eax,-0x30(%ebp)
15de: 05 80 04 00 00 add $0x480,%eax
15e3: 89 45 d4 mov %eax,-0x2c(%ebp)
15e6: 89 4d cc mov %ecx,-0x34(%ebp)
15e9: e8 fc ff ff ff call 15ea <free_pages_bulk+0x1a>
15ee: 8b 45 d0 mov -0x30(%ebp),%eax
15f1: 8b 55 d0 mov -0x30(%ebp),%edx
15f4: 05 d4 06 00 00 add $0x6d4,%eax
15f9: f0 80 a2 d4 06 00 00 lock andb $0xfe,0x6d4(%edx)
1600: fe
1601: c7 82 d0 06 00 00 00 movl $0x0,0x6d0(%edx)
1608: 00 00 00
160b: 0f b6 4d 08 movzbl 0x8(%ebp),%ecx
160f: c7 45 e8 01 00 00 00 movl $0x1,-0x18(%ebp)
1616: 89 5d ec mov %ebx,-0x14(%ebp)
1619: d3 65 e8 shll %cl,-0x18(%ebp)
161c: 8b 4d ec mov -0x14(%ebp),%ecx
161f: 85 c9 test %ecx,%ecx
1621: 0f 84 88 01 00 00 je 17af <free_pages_bulk+0x1df>
1627: 90 nop
1628: 8b 7d cc mov -0x34(%ebp),%edi
162b: 8b 7f 04 mov 0x4(%edi),%edi
162e: 89 7d d8 mov %edi,-0x28(%ebp)
1631: 83 ef 18 sub $0x18,%edi
1634: 89 7d dc mov %edi,-0x24(%ebp)
1637: 8b 47 1c mov 0x1c(%edi),%eax
163a: 8b 57 18 mov 0x18(%edi),%edx
163d: 89 42 04 mov %eax,0x4(%edx)
1640: 89 10 mov %edx,(%eax)
1642: c7 47 1c 00 02 20 00 movl $0x200200,0x1c(%edi)
1649: c7 47 18 00 01 10 00 movl $0x100100,0x18(%edi)
1650: 8b 1d 00 00 00 00 mov 0x0,%ebx
1656: 8b 45 08 mov 0x8(%ebp),%eax
1659: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp)
1660: 85 db test %ebx,%ebx
1662: 89 45 e0 mov %eax,-0x20(%ebp)
1665: 0f 84 65 01 00 00 je 17d0 <free_pages_bulk+0x200>
166b: 8b 55 d8 mov -0x28(%ebp),%edx
166e: 8b 42 e8 mov -0x18(%edx),%eax
1671: f6 c4 60 test $0x60,%ah
1674: 0f 84 8c 00 00 00 je 1706 <free_pages_bulk+0x136>
167a: c1 e8 0d shr $0xd,%eax
167d: 89 c2 mov %eax,%edx
167f: 83 e2 01 and $0x1,%edx
1682: 0f 85 38 01 00 00 jne 17c0 <free_pages_bulk+0x1f0>
1688: 31 c0 xor %eax,%eax
168a: 39 45 08 cmp %eax,0x8(%ebp)
168d: 75 06 jne 1695 <free_pages_bulk+0xc5>
168f: 31 ff xor %edi,%edi
1691: 85 d2 test %edx,%edx
1693: 75 0d jne 16a2 <free_pages_bulk+0xd2>
1695: 8b 45 dc mov -0x24(%ebp),%eax
1698: bf 01 00 00 00 mov $0x1,%edi
169d: e8 de f9 ff ff call 1080 <bad_page>
16a2: 8b 45 d8 mov -0x28(%ebp),%eax
16a5: 8b 55 dc mov -0x24(%ebp),%edx
16a8: 0f ba 70 e8 0d btrl $0xd,-0x18(%eax)
16ad: 83 7d e8 01 cmpl $0x1,-0x18(%ebp)
16b1: 7e 45 jle 16f8 <free_pages_bulk+0x128>
16b3: 89 c3 mov %eax,%ebx
16b5: be 01 00 00 00 mov $0x1,%esi
16ba: 83 c3 08 add $0x8,%ebx
16bd: eb 1b jmp 16da <free_pages_bulk+0x10a>
16bf: 90 nop
16c0: 8b 45 dc mov -0x24(%ebp),%eax
16c3: 83 c7 01 add $0x1,%edi
16c6: e8 b5 f9 ff ff call 1080 <bad_page>
16cb: 0f ba 33 0e btrl $0xe,(%ebx)
16cf: 83 c6 01 add $0x1,%esi
16d2: 83 c3 20 add $0x20,%ebx
16d5: 39 75 e8 cmp %esi,-0x18(%ebp)
16d8: 7e 1e jle 16f8 <free_pages_bulk+0x128>
16da: 8b 03 mov (%ebx),%eax
16dc: f6 c4 40 test $0x40,%ah
16df: 74 df je 16c0 <free_pages_bulk+0xf0>
16e1: 8b 4d dc mov -0x24(%ebp),%ecx
16e4: 3b 4b 0c cmp 0xc(%ebx),%ecx
16e7: 75 d7 jne 16c0 <free_pages_bulk+0xf0>
16e9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
16f0: eb d9 jmp 16cb <free_pages_bulk+0xfb>
16f2: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
16f8: 85 ff test %edi,%edi
16fa: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1700: 0f 85 9a 00 00 00 jne 17a0 <free_pages_bulk+0x1d0>
1706: 8b 4d e8 mov -0x18(%ebp),%ecx
1709: 31 d2 xor %edx,%edx
170b: 8b 45 d0 mov -0x30(%ebp),%eax
170e: 8b 1d 00 00 00 00 mov 0x0,%ebx
1714: e8 fc ff ff ff call 1715 <free_pages_bulk+0x145>
1719: 83 7d 08 09 cmpl $0x9,0x8(%ebp)
171d: 77 35 ja 1754 <free_pages_bulk+0x184>
171f: 8b 7d dc mov -0x24(%ebp),%edi
1722: 8b 45 e8 mov -0x18(%ebp),%eax
1725: 8b 55 d8 mov -0x28(%ebp),%edx
1728: 29 df sub %ebx,%edi
172a: 8b 5d dc mov -0x24(%ebp),%ebx
172d: c1 ff 05 sar $0x5,%edi
1730: 81 e7 ff 07 00 00 and $0x7ff,%edi
1736: 31 f8 xor %edi,%eax
1738: 29 f8 sub %edi,%eax
173a: c1 e0 05 shl $0x5,%eax
173d: 01 c3 add %eax,%ebx
173f: 8b 42 e8 mov -0x18(%edx),%eax
1742: 8b 0b mov (%ebx),%ecx
1744: c1 e8 1e shr $0x1e,%eax
1747: 89 ca mov %ecx,%edx
1749: c1 ea 1e shr $0x1e,%edx
174c: 39 d0 cmp %edx,%eax
174e: 0f 84 94 00 00 00 je 17e8 <free_pages_bulk+0x218>
1754: 8b 7d e0 mov -0x20(%ebp),%edi
1757: 8b 4d dc mov -0x24(%ebp),%ecx
175a: 89 79 0c mov %edi,0xc(%ecx)
175d: 0f ba 29 12 btsl $0x12,(%ecx)
1761: 8b 45 e4 mov -0x1c(%ebp),%eax
1764: 6b d7 2c imul $0x2c,%edi,%edx
1767: 89 ce mov %ecx,%esi
1769: 8b 7d d0 mov -0x30(%ebp),%edi
176c: 83 c6 18 add $0x18,%esi
176f: 8d 0c c2 lea (%edx,%eax,8),%ecx
1772: 8d 9c 0f 80 04 00 00 lea 0x480(%edi,%ecx,1),%ebx
1779: 8b 43 04 mov 0x4(%ebx),%eax
177c: 89 70 04 mov %esi,0x4(%eax)
177f: 8b 7d dc mov -0x24(%ebp),%edi
1782: 89 47 18 mov %eax,0x18(%edi)
1785: 8b 7d d0 mov -0x30(%ebp),%edi
1788: 8d 84 0f 84 04 00 00 lea 0x484(%edi,%ecx,1),%eax
178f: 8b 4d dc mov -0x24(%ebp),%ecx
1792: 89 73 04 mov %esi,0x4(%ebx)
1795: 89 41 1c mov %eax,0x1c(%ecx)
1798: 83 84 17 ac 04 00 00 addl $0x1,0x4ac(%edi,%edx,1)
179f: 01
17a0: 83 6d ec 01 subl $0x1,-0x14(%ebp)
17a4: 8b 4d ec mov -0x14(%ebp),%ecx
17a7: 85 c9 test %ecx,%ecx
17a9: 0f 85 79 fe ff ff jne 1628 <free_pages_bulk+0x58>
17af: 8b 45 d4 mov -0x2c(%ebp),%eax
17b2: e8 fc ff ff ff call 17b3 <free_pages_bulk+0x1e3>
17b7: 83 c4 28 add $0x28,%esp
17ba: 5b pop %ebx
17bb: 5e pop %esi
17bc: 5f pop %edi
17bd: 5d pop %ebp
17be: c3 ret
17bf: 90 nop
17c0: 8b 4d dc mov -0x24(%ebp),%ecx
17c3: 8b 41 3c mov 0x3c(%ecx),%eax
17c6: e9 bf fe ff ff jmp 168a <free_pages_bulk+0xba>
17cb: 90 nop
17cc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
17d0: 8b 45 dc mov -0x24(%ebp),%eax
17d3: b9 02 00 00 00 mov $0x2,%ecx
17d8: 31 d2 xor %edx,%edx
17da: e8 fc ff ff ff call 17db <free_pages_bulk+0x20b>
17df: 89 45 e4 mov %eax,-0x1c(%ebp)
17e2: e9 84 fe ff ff jmp 166b <free_pages_bulk+0x9b>
17e7: 90 nop
17e8: f7 c1 00 00 04 00 test $0x40000,%ecx
17ee: 0f 84 60 ff ff ff je 1754 <free_pages_bulk+0x184>
17f4: 8b 45 e8 mov -0x18(%ebp),%eax
17f7: 8b 55 08 mov 0x8(%ebp),%edx
17fa: 89 45 f0 mov %eax,-0x10(%ebp)
17fd: 3b 53 0c cmp 0xc(%ebx),%edx
1800: 0f 85 4e ff ff ff jne 1754 <free_pages_bulk+0x184>
1806: 66 90 xchg %ax,%ax
1808: 80 e5 40 and $0x40,%ch
180b: 89 d8 mov %ebx,%eax
180d: 74 03 je 1812 <free_pages_bulk+0x242>
180f: 8b 43 0c mov 0xc(%ebx),%eax
1812: 8b 40 04 mov 0x4(%eax),%eax
1815: 85 c0 test %eax,%eax
1817: 0f 85 9c 00 00 00 jne 18b9 <free_pages_bulk+0x2e9>
181d: 8b 53 18 mov 0x18(%ebx),%edx
1820: 8b 43 1c mov 0x1c(%ebx),%eax
1823: 89 42 04 mov %eax,0x4(%edx)
1826: 89 10 mov %edx,(%eax)
1828: c7 43 1c 00 02 20 00 movl $0x200200,0x1c(%ebx)
182f: c7 43 18 00 01 10 00 movl $0x100100,0x18(%ebx)
1836: 8b 55 d0 mov -0x30(%ebp),%edx
1839: 6b 45 e0 2c imul $0x2c,-0x20(%ebp),%eax
183d: 83 ac 02 ac 04 00 00 subl $0x1,0x4ac(%edx,%eax,1)
1844: 01
1845: 0f ba 33 12 btrl $0x12,(%ebx)
1849: c7 43 0c 00 00 00 00 movl $0x0,0xc(%ebx)
1850: 8b 75 f0 mov -0x10(%ebp),%esi
1853: f7 d6 not %esi
1855: 21 fe and %edi,%esi
1857: 89 f0 mov %esi,%eax
1859: 29 f8 sub %edi,%eax
185b: 8b 7d e0 mov -0x20(%ebp),%edi
185e: c1 e0 05 shl $0x5,%eax
1861: 01 45 dc add %eax,-0x24(%ebp)
1864: 83 c7 01 add $0x1,%edi
1867: 83 ff 09 cmp $0x9,%edi
186a: 77 2b ja 1897 <free_pages_bulk+0x2c7>
186c: 89 f9 mov %edi,%ecx
186e: b8 01 00 00 00 mov $0x1,%eax
1873: 8b 5d dc mov -0x24(%ebp),%ebx
1876: d3 e0 shl %cl,%eax
1878: 8b 55 dc mov -0x24(%ebp),%edx
187b: 89 45 f0 mov %eax,-0x10(%ebp)
187e: 31 f0 xor %esi,%eax
1880: 29 f0 sub %esi,%eax
1882: c1 e0 05 shl $0x5,%eax
1885: 01 c3 add %eax,%ebx
1887: 8b 02 mov (%edx),%eax
1889: 8b 0b mov (%ebx),%ecx
188b: c1 e8 1e shr $0x1e,%eax
188e: 89 ca mov %ecx,%edx
1890: c1 ea 1e shr $0x1e,%edx
1893: 39 d0 cmp %edx,%eax
1895: 74 09 je 18a0 <free_pages_bulk+0x2d0>
1897: 89 7d e0 mov %edi,-0x20(%ebp)
189a: e9 b5 fe ff ff jmp 1754 <free_pages_bulk+0x184>
189f: 90 nop
18a0: f7 c1 00 00 04 00 test $0x40000,%ecx
18a6: 74 ef je 1897 <free_pages_bulk+0x2c7>
18a8: 8b 43 0c mov 0xc(%ebx),%eax
18ab: 39 f8 cmp %edi,%eax
18ad: 89 45 e0 mov %eax,-0x20(%ebp)
18b0: 75 e5 jne 1897 <free_pages_bulk+0x2c7>
18b2: 89 f7 mov %esi,%edi
18b4: e9 4f ff ff ff jmp 1808 <free_pages_bulk+0x238>
18b9: 0f 0b ud2a
18bb: eb fe jmp 18bb <free_pages_bulk+0x2eb>
18bd: 8d 76 00 lea 0x0(%esi),%esi
000018c0 <drain_local_pages>:
18c0: 55 push %ebp
18c1: 89 e5 mov %esp,%ebp
18c3: 57 push %edi
18c4: 56 push %esi
18c5: 53 push %ebx
18c6: 83 ec 04 sub $0x4,%esp
18c9: 64 8b 35 00 00 00 00 mov %fs:0x0,%esi
18d0: e8 fc ff ff ff call 18d1 <drain_local_pages+0x11>
18d5: 85 c0 test %eax,%eax
18d7: 89 c3 mov %eax,%ebx
18d9: 74 52 je 192d <drain_local_pages+0x6d>
18db: 8d 7e 01 lea 0x1(%esi),%edi
18de: c1 e7 07 shl $0x7,%edi
18e1: eb 12 jmp 18f5 <drain_local_pages+0x35>
18e3: 90 nop
18e4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
18e8: 89 d8 mov %ebx,%eax
18ea: e8 fc ff ff ff call 18eb <drain_local_pages+0x2b>
18ef: 85 c0 test %eax,%eax
18f1: 89 c3 mov %eax,%ebx
18f3: 74 38 je 192d <drain_local_pages+0x6d>
18f5: 8b b3 98 07 00 00 mov 0x798(%ebx),%esi
18fb: 85 f6 test %esi,%esi
18fd: 74 e9 je 18e8 <drain_local_pages+0x28>
18ff: 9c pushf
1900: 5e pop %esi
1901: fa cli
1902: 8b 14 1f mov (%edi,%ebx,1),%edx
1905: 8d 4c 3b 0c lea 0xc(%ebx,%edi,1),%ecx
1909: 89 d8 mov %ebx,%eax
190b: c7 04 24 00 00 00 00 movl $0x0,(%esp)
1912: e8 b9 fc ff ff call 15d0 <free_pages_bulk>
1917: c7 04 1f 00 00 00 00 movl $0x0,(%edi,%ebx,1)
191e: 56 push %esi
191f: 9d popf
1920: 89 d8 mov %ebx,%eax
1922: e8 fc ff ff ff call 1923 <drain_local_pages+0x63>
1927: 85 c0 test %eax,%eax
1929: 89 c3 mov %eax,%ebx
192b: 75 c8 jne 18f5 <drain_local_pages+0x35>
192d: 83 c4 04 add $0x4,%esp
1930: 5b pop %ebx
1931: 5e pop %esi
1932: 5f pop %edi
1933: 5d pop %ebp
1934: c3 ret
1935: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1939: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00001940 <__rmqueue_smallest>:
1940: 55 push %ebp
1941: 89 e5 mov %esp,%ebp
1943: 57 push %edi
1944: 89 c7 mov %eax,%edi
1946: 56 push %esi
1947: 53 push %ebx
1948: 83 ec 20 sub $0x20,%esp
194b: 83 fa 0a cmp $0xa,%edx
194e: 89 55 e4 mov %edx,-0x1c(%ebp)
1951: 89 4d e0 mov %ecx,-0x20(%ebp)
1954: 77 6b ja 19c1 <__rmqueue_smallest+0x81>
1956: 6b c2 2c imul $0x2c,%edx,%eax
1959: 89 cb mov %ecx,%ebx
195b: 8b 75 e4 mov -0x1c(%ebp),%esi
195e: c1 e3 03 shl $0x3,%ebx
1961: 8d 14 03 lea (%ebx,%eax,1),%edx
1964: 8d 84 07 84 04 00 00 lea 0x484(%edi,%eax,1),%eax
196b: 8d 8c 17 84 04 00 00 lea 0x484(%edi,%edx,1),%ecx
1972: 89 45 e8 mov %eax,-0x18(%ebp)
1975: 39 8c 17 84 04 00 00 cmp %ecx,0x484(%edi,%edx,1)
197c: 75 5a jne 19d8 <__rmqueue_smallest+0x98>
197e: 8b 45 e4 mov -0x1c(%ebp),%eax
1981: 8b 75 e4 mov -0x1c(%ebp),%esi
1984: 83 c0 01 add $0x1,%eax
1987: 6b c0 2c imul $0x2c,%eax,%eax
198a: 8d 84 03 80 04 00 00 lea 0x480(%ebx,%eax,1),%eax
1991: 8d 4c 07 04 lea 0x4(%edi,%eax,1),%ecx
1995: eb 22 jmp 19b9 <__rmqueue_smallest+0x79>
1997: 90 nop
1998: 6b c6 2c imul $0x2c,%esi,%eax
199b: 8d 94 07 84 04 00 00 lea 0x484(%edi,%eax,1),%edx
19a2: 89 55 e8 mov %edx,-0x18(%ebp)
19a5: 8b 11 mov (%ecx),%edx
19a7: 8d 84 18 80 04 00 00 lea 0x480(%eax,%ebx,1),%eax
19ae: 8d 44 07 04 lea 0x4(%edi,%eax,1),%eax
19b2: 83 c1 2c add $0x2c,%ecx
19b5: 39 c2 cmp %eax,%edx
19b7: 75 1f jne 19d8 <__rmqueue_smallest+0x98>
19b9: 83 c6 01 add $0x1,%esi
19bc: 83 fe 0b cmp $0xb,%esi
19bf: 75 d7 jne 1998 <__rmqueue_smallest+0x58>
19c1: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
19c8: 8b 45 ec mov -0x14(%ebp),%eax
19cb: 83 c4 20 add $0x20,%esp
19ce: 5b pop %ebx
19cf: 5e pop %esi
19d0: 5f pop %edi
19d1: 5d pop %ebp
19d2: c3 ret
19d3: 90 nop
19d4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
19d8: 8b 4d e0 mov -0x20(%ebp),%ecx
19db: c1 e1 03 shl $0x3,%ecx
19de: 89 4d dc mov %ecx,-0x24(%ebp)
19e1: 6b ce 2c imul $0x2c,%esi,%ecx
19e4: 8b 45 dc mov -0x24(%ebp),%eax
19e7: 01 c8 add %ecx,%eax
19e9: 8b 9c 07 84 04 00 00 mov 0x484(%edi,%eax,1),%ebx
19f0: 8d 43 e8 lea -0x18(%ebx),%eax
19f3: 89 45 ec mov %eax,-0x14(%ebp)
19f6: 8b 50 18 mov 0x18(%eax),%edx
19f9: 8b 40 1c mov 0x1c(%eax),%eax
19fc: 89 10 mov %edx,(%eax)
19fe: 89 42 04 mov %eax,0x4(%edx)
1a01: 8b 55 ec mov -0x14(%ebp),%edx
1a04: c7 42 18 00 01 10 00 movl $0x100100,0x18(%edx)
1a0b: c7 42 1c 00 02 20 00 movl $0x200200,0x1c(%edx)
1a12: 0f ba 73 e8 12 btrl $0x12,-0x18(%ebx)
1a17: c7 42 0c 00 00 00 00 movl $0x0,0xc(%edx)
1a1e: bb 01 00 00 00 mov $0x1,%ebx
1a23: 31 d2 xor %edx,%edx
1a25: 83 ac 0f ac 04 00 00 subl $0x1,0x4ac(%edi,%ecx,1)
1a2c: 01
1a2d: 89 d8 mov %ebx,%eax
1a2f: 0f b6 4d e4 movzbl -0x1c(%ebp),%ecx
1a33: d3 e0 shl %cl,%eax
1a35: f7 d8 neg %eax
1a37: 89 c1 mov %eax,%ecx
1a39: 89 f8 mov %edi,%eax
1a3b: e8 fc ff ff ff call 1a3c <__rmqueue_smallest+0xfc>
1a40: 89 f7 mov %esi,%edi
1a42: 39 75 e4 cmp %esi,-0x1c(%ebp)
1a45: 7d 81 jge 19c8 <__rmqueue_smallest+0x88>
1a47: 89 f1 mov %esi,%ecx
1a49: 8b 45 dc mov -0x24(%ebp),%eax
1a4c: d3 e3 shl %cl,%ebx
1a4e: 89 5d f0 mov %ebx,-0x10(%ebp)
1a51: 8b 5d e8 mov -0x18(%ebp),%ebx
1a54: 89 45 d8 mov %eax,-0x28(%ebp)
1a57: 83 eb 2c sub $0x2c,%ebx
1a5a: 8d 34 03 lea (%ebx,%eax,1),%esi
1a5d: eb 04 jmp 1a63 <__rmqueue_smallest+0x123>
1a5f: 90 nop
1a60: 83 eb 2c sub $0x2c,%ebx
1a63: d1 6d f0 shrl -0x10(%ebp)
1a66: 83 ef 01 sub $0x1,%edi
1a69: 8b 45 f0 mov -0x10(%ebp),%eax
1a6c: 8b 16 mov (%esi),%edx
1a6e: c1 e0 05 shl $0x5,%eax
1a71: 03 45 ec add -0x14(%ebp),%eax
1a74: 8d 48 18 lea 0x18(%eax),%ecx
1a77: 89 4a 04 mov %ecx,0x4(%edx)
1a7a: 89 50 18 mov %edx,0x18(%eax)
1a7d: 8b 55 d8 mov -0x28(%ebp),%edx
1a80: 89 0e mov %ecx,(%esi)
1a82: 01 da add %ebx,%edx
1a84: 89 50 1c mov %edx,0x1c(%eax)
1a87: 83 43 28 01 addl $0x1,0x28(%ebx)
1a8b: 89 78 0c mov %edi,0xc(%eax)
1a8e: 0f ba 28 12 btsl $0x12,(%eax)
1a92: 83 ee 2c sub $0x2c,%esi
1a95: 39 7d e4 cmp %edi,-0x1c(%ebp)
1a98: 7c c6 jl 1a60 <__rmqueue_smallest+0x120>
1a9a: 8b 45 ec mov -0x14(%ebp),%eax
1a9d: 83 c4 20 add $0x20,%esp
1aa0: 5b pop %ebx
1aa1: 5e pop %esi
1aa2: 5f pop %edi
1aa3: 5d pop %ebp
1aa4: c3 ret
1aa5: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1aa9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00001ab0 <__rmqueue>:
1ab0: 55 push %ebp
1ab1: 89 e5 mov %esp,%ebp
1ab3: 83 ec 3c sub $0x3c,%esp
1ab6: 89 5d f4 mov %ebx,-0xc(%ebp)
1ab9: 89 75 f8 mov %esi,-0x8(%ebp)
1abc: 89 c6 mov %eax,%esi
1abe: 89 7d fc mov %edi,-0x4(%ebp)
1ac1: 89 cf mov %ecx,%edi
1ac3: 89 55 e0 mov %edx,-0x20(%ebp)
1ac6: e8 75 fe ff ff call 1940 <__rmqueue_smallest>
1acb: 85 c0 test %eax,%eax
1acd: 89 c3 mov %eax,%ebx
1acf: 74 0f je 1ae0 <__rmqueue+0x30>
1ad1: 89 d8 mov %ebx,%eax
1ad3: 8b 75 f8 mov -0x8(%ebp),%esi
1ad6: 8b 5d f4 mov -0xc(%ebp),%ebx
1ad9: 8b 7d fc mov -0x4(%ebp),%edi
1adc: 89 ec mov %ebp,%esp
1ade: 5d pop %ebp
1adf: c3 ret
1ae0: 83 7d e0 0a cmpl $0xa,-0x20(%ebp)
1ae4: 7f 70 jg 1b56 <__rmqueue+0xa6>
1ae6: 89 f8 mov %edi,%eax
1ae8: c1 e0 04 shl $0x4,%eax
1aeb: 05 20 00 00 00 add $0x20,%eax
1af0: c7 45 f0 0a 00 00 00 movl $0xa,-0x10(%ebp)
1af7: 89 45 d0 mov %eax,-0x30(%ebp)
1afa: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1b00: 6b 45 f0 2c imul $0x2c,-0x10(%ebp),%eax
1b04: 31 c9 xor %ecx,%ecx
1b06: 8b 5d d0 mov -0x30(%ebp),%ebx
1b09: 8d 94 06 84 04 00 00 lea 0x484(%esi,%eax,1),%edx
1b10: 89 55 e8 mov %edx,-0x18(%ebp)
1b13: 89 45 d4 mov %eax,-0x2c(%ebp)
1b16: 8b 03 mov (%ebx),%eax
1b18: 83 f8 03 cmp $0x3,%eax
1b1b: 89 45 ec mov %eax,-0x14(%ebp)
1b1e: 74 1f je 1b3f <__rmqueue+0x8f>
1b20: 8b 55 d4 mov -0x2c(%ebp),%edx
1b23: 8d 14 c2 lea (%edx,%eax,8),%edx
1b26: 8d 84 16 84 04 00 00 lea 0x484(%esi,%edx,1),%eax
1b2d: 89 45 c8 mov %eax,-0x38(%ebp)
1b30: 8d 84 16 80 04 00 00 lea 0x480(%esi,%edx,1),%eax
1b37: 8b 55 c8 mov -0x38(%ebp),%edx
1b3a: 39 50 04 cmp %edx,0x4(%eax)
1b3d: 75 2d jne 1b6c <__rmqueue+0xbc>
1b3f: 83 c1 01 add $0x1,%ecx
1b42: 83 c3 04 add $0x4,%ebx
1b45: 83 f9 04 cmp $0x4,%ecx
1b48: 75 cc jne 1b16 <__rmqueue+0x66>
1b4a: 83 6d f0 01 subl $0x1,-0x10(%ebp)
1b4e: 8b 45 f0 mov -0x10(%ebp),%eax
1b51: 39 45 e0 cmp %eax,-0x20(%ebp)
1b54: 7e aa jle 1b00 <__rmqueue+0x50>
1b56: 8b 55 e0 mov -0x20(%ebp),%edx
1b59: b9 03 00 00 00 mov $0x3,%ecx
1b5e: 89 f0 mov %esi,%eax
1b60: e8 db fd ff ff call 1940 <__rmqueue_smallest>
1b65: 89 c3 mov %eax,%ebx
1b67: e9 65 ff ff ff jmp 1ad1 <__rmqueue+0x21>
1b6c: 8b 40 04 mov 0x4(%eax),%eax
1b6f: 8b 4d d4 mov -0x2c(%ebp),%ecx
1b72: 89 45 dc mov %eax,-0x24(%ebp)
1b75: 89 c3 mov %eax,%ebx
1b77: 83 ac 0e ac 04 00 00 subl $0x1,0x4ac(%esi,%ecx,1)
1b7e: 01
1b7f: 83 eb 18 sub $0x18,%ebx
1b82: 83 7d f0 03 cmpl $0x3,-0x10(%ebp)
1b86: 0f 8e d7 00 00 00 jle 1c63 <__rmqueue+0x1b3>
1b8c: 89 f9 mov %edi,%ecx
1b8e: 89 da mov %ebx,%edx
1b90: 89 f0 mov %esi,%eax
1b92: e8 39 e5 ff ff call d0 <move_freepages_block>
1b97: 89 7d ec mov %edi,-0x14(%ebp)
1b9a: 3d ff 00 00 00 cmp $0xff,%eax
1b9f: 0f 87 e7 00 00 00 ja 1c8c <__rmqueue+0x1dc>
1ba5: 8b 43 1c mov 0x1c(%ebx),%eax
1ba8: 8b 53 18 mov 0x18(%ebx),%edx
1bab: 89 42 04 mov %eax,0x4(%edx)
1bae: 89 10 mov %edx,(%eax)
1bb0: c7 43 1c 00 02 20 00 movl $0x200200,0x1c(%ebx)
1bb7: c7 43 18 00 01 10 00 movl $0x100100,0x18(%ebx)
1bbe: 8b 45 dc mov -0x24(%ebp),%eax
1bc1: 0f ba 70 e8 12 btrl $0x12,-0x18(%eax)
1bc6: c7 43 0c 00 00 00 00 movl $0x0,0xc(%ebx)
1bcd: 0f b6 4d e0 movzbl -0x20(%ebp),%ecx
1bd1: b8 ff ff ff ff mov $0xffffffff,%eax
1bd6: 31 d2 xor %edx,%edx
1bd8: d3 e0 shl %cl,%eax
1bda: 89 c1 mov %eax,%ecx
1bdc: 89 f0 mov %esi,%eax
1bde: e8 fc ff ff ff call 1bdf <__rmqueue+0x12f>
1be3: 83 7d f0 09 cmpl $0x9,-0x10(%ebp)
1be7: 0f 84 88 00 00 00 je 1c75 <__rmqueue+0x1c5>
1bed: 8b 45 f0 mov -0x10(%ebp),%eax
1bf0: 39 45 e0 cmp %eax,-0x20(%ebp)
1bf3: 0f 8d d8 fe ff ff jge 1ad1 <__rmqueue+0x21>
1bf9: 89 c1 mov %eax,%ecx
1bfb: 8b 75 e8 mov -0x18(%ebp),%esi
1bfe: 8b 45 ec mov -0x14(%ebp),%eax
1c01: c7 45 e4 01 00 00 00 movl $0x1,-0x1c(%ebp)
1c08: d3 65 e4 shll %cl,-0x1c(%ebp)
1c0b: 83 ee 2c sub $0x2c,%esi
1c0e: c1 e0 03 shl $0x3,%eax
1c11: 8d 3c 06 lea (%esi,%eax,1),%edi
1c14: 89 45 d8 mov %eax,-0x28(%ebp)
1c17: eb 0a jmp 1c23 <__rmqueue+0x173>
1c19: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
1c20: 83 ee 2c sub $0x2c,%esi
1c23: d1 6d e4 shrl -0x1c(%ebp)
1c26: 8b 45 e4 mov -0x1c(%ebp),%eax
1c29: 83 6d f0 01 subl $0x1,-0x10(%ebp)
1c2d: 8b 17 mov (%edi),%edx
1c2f: c1 e0 05 shl $0x5,%eax
1c32: 8d 04 03 lea (%ebx,%eax,1),%eax
1c35: 8d 48 18 lea 0x18(%eax),%ecx
1c38: 89 4a 04 mov %ecx,0x4(%edx)
1c3b: 89 50 18 mov %edx,0x18(%eax)
1c3e: 8b 55 d8 mov -0x28(%ebp),%edx
1c41: 89 0f mov %ecx,(%edi)
1c43: 01 f2 add %esi,%edx
1c45: 89 50 1c mov %edx,0x1c(%eax)
1c48: 83 46 28 01 addl $0x1,0x28(%esi)
1c4c: 8b 4d f0 mov -0x10(%ebp),%ecx
1c4f: 89 48 0c mov %ecx,0xc(%eax)
1c52: 0f ba 28 12 btsl $0x12,(%eax)
1c56: 83 ef 2c sub $0x2c,%edi
1c59: 39 4d e0 cmp %ecx,-0x20(%ebp)
1c5c: 7c c2 jl 1c20 <__rmqueue+0x170>
1c5e: e9 6e fe ff ff jmp 1ad1 <__rmqueue+0x21>
1c63: 83 ff 01 cmp $0x1,%edi
1c66: 0f 85 39 ff ff ff jne 1ba5 <__rmqueue+0xf5>
1c6c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1c70: e9 17 ff ff ff jmp 1b8c <__rmqueue+0xdc>
1c75: 31 c9 xor %ecx,%ecx
1c77: 89 fa mov %edi,%edx
1c79: 89 d8 mov %ebx,%eax
1c7b: c7 04 24 02 00 00 00 movl $0x2,(%esp)
1c82: e8 fc ff ff ff call 1c83 <__rmqueue+0x1d3>
1c87: e9 61 ff ff ff jmp 1bed <__rmqueue+0x13d>
1c8c: 31 c9 xor %ecx,%ecx
1c8e: 89 fa mov %edi,%edx
1c90: 89 d8 mov %ebx,%eax
1c92: c7 04 24 02 00 00 00 movl $0x2,(%esp)
1c99: e8 fc ff ff ff call 1c9a <__rmqueue+0x1ea>
1c9e: 89 7d ec mov %edi,-0x14(%ebp)
1ca1: e9 ff fe ff ff jmp 1ba5 <__rmqueue+0xf5>
1ca6: 8d 76 00 lea 0x0(%esi),%esi
1ca9: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00001cb0 <rmqueue_bulk>:
1cb0: 55 push %ebp
1cb1: 89 e5 mov %esp,%ebp
1cb3: 57 push %edi
1cb4: 89 cf mov %ecx,%edi
1cb6: 56 push %esi
1cb7: 31 f6 xor %esi,%esi
1cb9: 53 push %ebx
1cba: 83 ec 0c sub $0xc,%esp
1cbd: 8b 5d 08 mov 0x8(%ebp),%ebx
1cc0: 89 45 ec mov %eax,-0x14(%ebp)
1cc3: 05 80 04 00 00 add $0x480,%eax
1cc8: 89 55 e8 mov %edx,-0x18(%ebp)
1ccb: 89 45 f0 mov %eax,-0x10(%ebp)
1cce: e8 fc ff ff ff call 1ccf <rmqueue_bulk+0x1f>
1cd3: 85 ff test %edi,%edi
1cd5: 75 0b jne 1ce2 <rmqueue_bulk+0x32>
1cd7: eb 3a jmp 1d13 <rmqueue_bulk+0x63>
1cd9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
1ce0: 89 cb mov %ecx,%ebx
1ce2: 8b 55 e8 mov -0x18(%ebp),%edx
1ce5: 8b 4d 0c mov 0xc(%ebp),%ecx
1ce8: 8b 45 ec mov -0x14(%ebp),%eax
1ceb: e8 c0 fd ff ff call 1ab0 <__rmqueue>
1cf0: 85 c0 test %eax,%eax
1cf2: 89 c2 mov %eax,%edx
1cf4: 74 1d je 1d13 <rmqueue_bulk+0x63>
1cf6: 8d 48 18 lea 0x18(%eax),%ecx
1cf9: 8b 03 mov (%ebx),%eax
1cfb: 83 c6 01 add $0x1,%esi
1cfe: 39 fe cmp %edi,%esi
1d00: 89 48 04 mov %ecx,0x4(%eax)
1d03: 89 42 18 mov %eax,0x18(%edx)
1d06: 89 5a 1c mov %ebx,0x1c(%edx)
1d09: 89 0b mov %ecx,(%ebx)
1d0b: 8b 45 0c mov 0xc(%ebp),%eax
1d0e: 89 42 0c mov %eax,0xc(%edx)
1d11: 72 cd jb 1ce0 <rmqueue_bulk+0x30>
1d13: 8b 45 f0 mov -0x10(%ebp),%eax
1d16: e8 fc ff ff ff call 1d17 <rmqueue_bulk+0x67>
1d1b: 89 f0 mov %esi,%eax
1d1d: 83 c4 0c add $0xc,%esp
1d20: 5b pop %ebx
1d21: 5e pop %esi
1d22: 5f pop %edi
1d23: 5d pop %ebp
1d24: c3 ret
1d25: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1d29: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00001d30 <free_hot_cold_page>:
1d30: 55 push %ebp
1d31: 89 e5 mov %esp,%ebp
1d33: 57 push %edi
1d34: 56 push %esi
1d35: 89 c6 mov %eax,%esi
1d37: 53 push %ebx
1d38: 83 ec 14 sub $0x14,%esp
1d3b: 89 55 e8 mov %edx,-0x18(%ebp)
1d3e: 8b 00 mov (%eax),%eax
1d40: 89 45 f0 mov %eax,-0x10(%ebp)
1d43: f6 46 10 01 testb $0x1,0x10(%esi)
1d47: 74 07 je 1d50 <free_hot_cold_page+0x20>
1d49: c7 46 10 00 00 00 00 movl $0x0,0x10(%esi)
1d50: f0 0f ba 36 15 lock btrl $0x15,(%esi)
1d55: 19 c0 sbb %eax,%eax
1d57: 85 c0 test %eax,%eax
1d59: 0f 85 81 01 00 00 jne 1ee0 <free_hot_cold_page+0x1b0>
1d5f: 8b 1e mov (%esi),%ebx
1d61: 89 f2 mov %esi,%edx
1d63: 8b 7e 08 mov 0x8(%esi),%edi
1d66: 8b 46 10 mov 0x10(%esi),%eax
1d69: f6 c7 40 test $0x40,%bh
1d6c: 74 03 je 1d71 <free_hot_cold_page+0x41>
1d6e: 8b 56 0c mov 0xc(%esi),%edx
1d71: 8b 4a 04 mov 0x4(%edx),%ecx
1d74: 31 d2 xor %edx,%edx
1d76: 85 c0 test %eax,%eax
1d78: 0f 95 c2 setne %dl
1d7b: 8d 47 01 lea 0x1(%edi),%eax
1d7e: 09 c2 or %eax,%edx
1d80: 31 c0 xor %eax,%eax
1d82: 85 c9 test %ecx,%ecx
1d84: 0f 95 c0 setne %al
1d87: 09 c2 or %eax,%edx
1d89: 89 d8 mov %ebx,%eax
1d8b: 25 e1 9c 34 00 and $0x349ce1,%eax
1d90: 09 c2 or %eax,%edx
1d92: 0f 85 38 01 00 00 jne 1ed0 <free_hot_cold_page+0x1a0>
1d98: f7 c3 ff ff 3f 00 test $0x3fffff,%ebx
1d9e: 74 08 je 1da8 <free_hot_cold_page+0x78>
1da0: 81 e3 00 00 c0 ff and $0xffc00000,%ebx
1da6: 89 1e mov %ebx,(%esi)
1da8: c1 eb 1e shr $0x1e,%ebx
1dab: c1 e3 0b shl $0xb,%ebx
1dae: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax
1db4: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax
1dba: 3d 00 10 00 00 cmp $0x1000,%eax
1dbf: 74 19 je 1dda <free_hot_cold_page+0xaa>
1dc1: 3d 00 18 00 00 cmp $0x1800,%eax
1dc6: 0f 84 74 01 00 00 je 1f40 <free_hot_cold_page+0x210>
1dcc: 89 f0 mov %esi,%eax
1dce: e8 fc ff ff ff call 1dcf <free_hot_cold_page+0x9f>
1dd3: 89 f0 mov %esi,%eax
1dd5: e8 fc ff ff ff call 1dd6 <free_hot_cold_page+0xa6>
1dda: 8b 55 f0 mov -0x10(%ebp),%edx
1ddd: 89 e0 mov %esp,%eax
1ddf: 25 00 f0 ff ff and $0xfffff000,%eax
1de4: c1 ea 1e shr $0x1e,%edx
1de7: c1 e2 0b shl $0xb,%edx
1dea: 89 d7 mov %edx,%edi
1dec: 89 55 e4 mov %edx,-0x1c(%ebp)
1def: 81 c7 00 00 00 00 add $0x0,%edi
1df5: 83 40 14 01 addl $0x1,0x14(%eax)
1df9: 64 8b 1d 00 00 00 00 mov %fs:0x0,%ebx
1e00: 9c pushf
1e01: 8f 45 ec popl -0x14(%ebp)
1e04: fa cli
1e05: 64 8b 15 00 00 00 00 mov %fs:0x0,%edx
1e0c: b8 00 00 00 00 mov $0x0,%eax
1e11: 83 44 10 20 01 addl $0x1,0x20(%eax,%edx,1)
1e16: 8b 4d e8 mov -0x18(%ebp),%ecx
1e19: 85 c9 test %ecx,%ecx
1e1b: 75 73 jne 1e90 <free_hot_cold_page+0x160>
1e1d: 83 c3 01 add $0x1,%ebx
1e20: 89 da mov %ebx,%edx
1e22: c1 e2 07 shl $0x7,%edx
1e25: 8b 44 3a 0c mov 0xc(%edx,%edi,1),%eax
1e29: 8d 4e 18 lea 0x18(%esi),%ecx
1e2c: 89 48 04 mov %ecx,0x4(%eax)
1e2f: 89 46 18 mov %eax,0x18(%esi)
1e32: 8d 44 17 0c lea 0xc(%edi,%edx,1),%eax
1e36: 89 46 1c mov %eax,0x1c(%esi)
1e39: 31 c0 xor %eax,%eax
1e3b: 89 4c 3a 0c mov %ecx,0xc(%edx,%edi,1)
1e3f: 8b 15 00 00 00 00 mov 0x0,%edx
1e45: 85 d2 test %edx,%edx
1e47: 74 72 je 1ebb <free_hot_cold_page+0x18b>
1e49: 89 46 0c mov %eax,0xc(%esi)
1e4c: 8b 55 e4 mov -0x1c(%ebp),%edx
1e4f: c1 e3 07 shl $0x7,%ebx
1e52: 8b 84 1a 00 00 00 00 mov 0x0(%edx,%ebx,1),%eax
1e59: 83 c0 01 add $0x1,%eax
1e5c: 3b 44 3b 04 cmp 0x4(%ebx,%edi,1),%eax
1e60: 89 84 1a 00 00 00 00 mov %eax,0x0(%edx,%ebx,1)
1e67: 0f 8d a3 00 00 00 jge 1f10 <free_hot_cold_page+0x1e0>
1e6d: ff 75 ec pushl -0x14(%ebp)
1e70: 9d popf
1e71: 89 e0 mov %esp,%eax
1e73: 25 00 f0 ff ff and $0xfffff000,%eax
1e78: 83 68 14 01 subl $0x1,0x14(%eax)
1e7c: f6 40 08 08 testb $0x8,0x8(%eax)
1e80: 0f 85 cc 00 00 00 jne 1f52 <free_hot_cold_page+0x222>
1e86: 83 c4 14 add $0x14,%esp
1e89: 5b pop %ebx
1e8a: 5e pop %esi
1e8b: 5f pop %edi
1e8c: 5d pop %ebp
1e8d: c3 ret
1e8e: 66 90 xchg %ax,%ax
1e90: 83 c3 01 add $0x1,%ebx
1e93: 89 d8 mov %ebx,%eax
1e95: c1 e0 07 shl $0x7,%eax
1e98: 8b 54 38 10 mov 0x10(%eax,%edi,1),%edx
1e9c: 8d 4e 18 lea 0x18(%esi),%ecx
1e9f: 89 4c 38 10 mov %ecx,0x10(%eax,%edi,1)
1ea3: 8d 44 07 0c lea 0xc(%edi,%eax,1),%eax
1ea7: 89 46 18 mov %eax,0x18(%esi)
1eaa: 31 c0 xor %eax,%eax
1eac: 89 56 1c mov %edx,0x1c(%esi)
1eaf: 89 0a mov %ecx,(%edx)
1eb1: 8b 15 00 00 00 00 mov 0x0,%edx
1eb7: 85 d2 test %edx,%edx
1eb9: 75 8e jne 1e49 <free_hot_cold_page+0x119>
1ebb: b9 02 00 00 00 mov $0x2,%ecx
1ec0: 31 d2 xor %edx,%edx
1ec2: 89 f0 mov %esi,%eax
1ec4: e8 fc ff ff ff call 1ec5 <free_hot_cold_page+0x195>
1ec9: e9 7b ff ff ff jmp 1e49 <free_hot_cold_page+0x119>
1ece: 66 90 xchg %ax,%ax
1ed0: 89 f0 mov %esi,%eax
1ed2: e8 a9 f1 ff ff call 1080 <bad_page>
1ed7: 83 c4 14 add $0x14,%esp
1eda: 5b pop %ebx
1edb: 5e pop %esi
1edc: 5f pop %edi
1edd: 5d pop %ebp
1ede: c3 ret
1edf: 90 nop
1ee0: 9c pushf
1ee1: 5b pop %ebx
1ee2: fa cli
1ee3: ba 06 00 00 00 mov $0x6,%edx
1ee8: 89 f0 mov %esi,%eax
1eea: e8 fc ff ff ff call 1eeb <free_hot_cold_page+0x1bb>
1eef: b8 00 00 00 00 mov $0x0,%eax
1ef4: 64 8b 15 00 00 00 00 mov %fs:0x0,%edx
1efb: 83 84 10 b4 00 00 00 addl $0x1,0xb4(%eax,%edx,1)
1f02: 01
1f03: 53 push %ebx
1f04: 9d popf
1f05: e9 55 fe ff ff jmp 1d5f <free_hot_cold_page+0x2f>
1f0a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1f10: 8b 54 3b 08 mov 0x8(%ebx,%edi,1),%edx
1f14: 89 f8 mov %edi,%eax
1f16: 8d 4c 1f 0c lea 0xc(%edi,%ebx,1),%ecx
1f1a: c7 04 24 00 00 00 00 movl $0x0,(%esp)
1f21: e8 aa f6 ff ff call 15d0 <free_pages_bulk>
1f26: 8b 55 e4 mov -0x1c(%ebp),%edx
1f29: 8b 84 1a 00 00 00 00 mov 0x0(%edx,%ebx,1),%eax
1f30: 2b 44 1f 08 sub 0x8(%edi,%ebx,1),%eax
1f34: 89 84 1a 00 00 00 00 mov %eax,0x0(%edx,%ebx,1)
1f3b: e9 2d ff ff ff jmp 1e6d <free_hot_cold_page+0x13d>
1f40: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
1f47: 0f 85 7f fe ff ff jne 1dcc <free_hot_cold_page+0x9c>
1f4d: e9 88 fe ff ff jmp 1dda <free_hot_cold_page+0xaa>
1f52: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1f58: e8 fc ff ff ff call 1f59 <free_hot_cold_page+0x229>
1f5d: 8d 76 00 lea 0x0(%esi),%esi
1f60: e9 21 ff ff ff jmp 1e86 <free_hot_cold_page+0x156>
1f65: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
1f69: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00001f70 <__pagevec_free>:
1f70: 55 push %ebp
1f71: 89 e5 mov %esp,%ebp
1f73: 57 push %edi
1f74: 89 c7 mov %eax,%edi
1f76: 56 push %esi
1f77: 53 push %ebx
1f78: 8b 00 mov (%eax),%eax
1f7a: 89 c6 mov %eax,%esi
1f7c: 83 ee 01 sub $0x1,%esi
1f7f: 78 19 js 1f9a <__pagevec_free+0x2a>
1f81: 8d 5c b7 08 lea 0x8(%edi,%esi,4),%ebx
1f85: 8d 76 00 lea 0x0(%esi),%esi
1f88: 8b 03 mov (%ebx),%eax
1f8a: 83 eb 04 sub $0x4,%ebx
1f8d: 8b 57 04 mov 0x4(%edi),%edx
1f90: e8 9b fd ff ff call 1d30 <free_hot_cold_page>
1f95: 83 ee 01 sub $0x1,%esi
1f98: 79 ee jns 1f88 <__pagevec_free+0x18>
1f9a: 5b pop %ebx
1f9b: 5e pop %esi
1f9c: 5f pop %edi
1f9d: 5d pop %ebp
1f9e: c3 ret
1f9f: 90 nop
00001fa0 <free_cold_page>:
1fa0: 55 push %ebp
1fa1: ba 01 00 00 00 mov $0x1,%edx
1fa6: 89 e5 mov %esp,%ebp
1fa8: e8 83 fd ff ff call 1d30 <free_hot_cold_page>
1fad: 5d pop %ebp
1fae: c3 ret
1faf: 90 nop
00001fb0 <free_hot_page>:
1fb0: 55 push %ebp
1fb1: 31 d2 xor %edx,%edx
1fb3: 89 e5 mov %esp,%ebp
1fb5: e8 76 fd ff ff call 1d30 <free_hot_cold_page>
1fba: 5d pop %ebp
1fbb: c3 ret
1fbc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
00001fc0 <__free_pages>:
1fc0: 55 push %ebp
1fc1: 89 c1 mov %eax,%ecx
1fc3: 89 e5 mov %esp,%ebp
1fc5: 8d 40 04 lea 0x4(%eax),%eax
1fc8: 53 push %ebx
1fc9: 89 d3 mov %edx,%ebx
1fcb: f0 ff 08 lock decl (%eax)
1fce: 0f 94 c2 sete %dl
1fd1: 84 d2 test %dl,%dl
1fd3: 74 0d je 1fe2 <__free_pages+0x22>
1fd5: 85 db test %ebx,%ebx
1fd7: 74 0f je 1fe8 <__free_pages+0x28>
1fd9: 89 da mov %ebx,%edx
1fdb: 89 c8 mov %ecx,%eax
1fdd: e8 ce f1 ff ff call 11b0 <__free_pages_ok>
1fe2: 5b pop %ebx
1fe3: 5d pop %ebp
1fe4: c3 ret
1fe5: 8d 76 00 lea 0x0(%esi),%esi
1fe8: 89 c8 mov %ecx,%eax
1fea: e8 fc ff ff ff call 1feb <__free_pages+0x2b>
1fef: 5b pop %ebx
1ff0: 5d pop %ebp
1ff1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
1ff8: c3 ret
1ff9: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00002000 <free_pages>:
2000: 55 push %ebp
2001: 85 c0 test %eax,%eax
2003: 89 e5 mov %esp,%ebp
2005: 75 09 jne 2010 <free_pages+0x10>
2007: 5d pop %ebp
2008: c3 ret
2009: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
2010: 05 00 00 00 40 add $0x40000000,%eax
2015: c1 e8 0c shr $0xc,%eax
2018: c1 e0 05 shl $0x5,%eax
201b: 03 05 00 00 00 00 add 0x0,%eax
2021: e8 fc ff ff ff call 2022 <free_pages+0x22>
2026: 5d pop %ebp
2027: c3 ret
2028: 90 nop
2029: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
00002030 <free_pages_exact>:
2030: 81 c2 ff 0f 00 00 add $0xfff,%edx
2036: 55 push %ebp
2037: 81 e2 00 f0 ff ff and $0xfffff000,%edx
203d: 89 e5 mov %esp,%ebp
203f: 56 push %esi
2040: 8d 34 10 lea (%eax,%edx,1),%esi
2043: 39 f0 cmp %esi,%eax
2045: 53 push %ebx
2046: 89 c3 mov %eax,%ebx
2048: 73 19 jae 2063 <free_pages_exact+0x33>
204a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2050: 31 d2 xor %edx,%edx
2052: 89 d8 mov %ebx,%eax
2054: 81 c3 00 10 00 00 add $0x1000,%ebx
205a: e8 fc ff ff ff call 205b <free_pages_exact+0x2b>
205f: 39 de cmp %ebx,%esi
2061: 77 ed ja 2050 <free_pages_exact+0x20>
2063: 5b pop %ebx
2064: 5e pop %esi
2065: 5d pop %ebp
2066: c3 ret
2067: 89 f6 mov %esi,%esi
2069: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00002070 <get_page_from_freelist>:
2070: 55 push %ebp
2071: 89 e5 mov %esp,%ebp
2073: 57 push %edi
2074: 56 push %esi
2075: 53 push %ebx
2076: 83 ec 54 sub $0x54,%esp
2079: 8b 5d 08 mov 0x8(%ebp),%ebx
207c: 89 45 c8 mov %eax,-0x38(%ebp)
207f: 8d 45 ec lea -0x14(%ebp),%eax
2082: 89 55 c4 mov %edx,-0x3c(%ebp)
2085: 89 4d c0 mov %ecx,-0x40(%ebp)
2088: 89 d1 mov %edx,%ecx
208a: 89 04 24 mov %eax,(%esp)
208d: 8b 55 0c mov 0xc(%ebp),%edx
2090: 83 c3 04 add $0x4,%ebx
2093: 89 d8 mov %ebx,%eax
2095: e8 fc ff ff ff call 2096 <get_page_from_freelist+0x26>
209a: 8b 45 ec mov -0x14(%ebp),%eax
209d: 85 c0 test %eax,%eax
209f: 0f 84 e3 03 00 00 je 2488 <get_page_from_freelist+0x418>
20a5: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax
20ab: c1 f8 0b sar $0xb,%eax
20ae: 89 45 bc mov %eax,-0x44(%ebp)
20b1: 8d 45 f0 lea -0x10(%ebp),%eax
20b4: 89 04 24 mov %eax,(%esp)
20b7: 8b 55 0c mov 0xc(%ebp),%edx
20ba: 89 d8 mov %ebx,%eax
20bc: 8b 4d c4 mov -0x3c(%ebp),%ecx
20bf: e8 fc ff ff ff call 20c0 <get_page_from_freelist+0x50>
20c4: 8b 55 f0 mov -0x10(%ebp),%edx
20c7: 85 d2 test %edx,%edx
20c9: 89 55 b8 mov %edx,-0x48(%ebp)
20cc: 89 45 e8 mov %eax,-0x18(%ebp)
20cf: 0f 84 b3 03 00 00 je 2488 <get_page_from_freelist+0x418>
20d5: 8b 4d 10 mov 0x10(%ebp),%ecx
20d8: b8 00 00 00 00 mov $0x0,%eax
20dd: 89 45 b4 mov %eax,-0x4c(%ebp)
20e0: 83 e1 01 and $0x1,%ecx
20e3: 89 4d e0 mov %ecx,-0x20(%ebp)
20e6: 66 90 xchg %ax,%ax
20e8: 8b 75 e0 mov -0x20(%ebp),%esi
20eb: 85 f6 test %esi,%esi
20ed: 75 35 jne 2124 <get_page_from_freelist+0xb4>
20ef: f6 45 10 02 testb $0x2,0x10(%ebp)
20f3: 0f 84 9f 03 00 00 je 2498 <get_page_from_freelist+0x428>
20f9: 8b 55 b8 mov -0x48(%ebp),%edx
20fc: 8b 0a mov (%edx),%ecx
20fe: 8b 45 10 mov 0x10(%ebp),%eax
2101: 89 44 24 04 mov %eax,0x4(%esp)
2105: 8b 55 bc mov -0x44(%ebp),%edx
2108: 89 14 24 mov %edx,(%esp)
210b: 8b 55 c0 mov -0x40(%ebp),%edx
210e: 8b 45 b8 mov -0x48(%ebp),%eax
2111: e8 fc ff ff ff call 2112 <get_page_from_freelist+0xa2>
2116: 85 c0 test %eax,%eax
2118: 0f 84 42 03 00 00 je 2460 <get_page_from_freelist+0x3f0>
211e: 8b 4d f0 mov -0x10(%ebp),%ecx
2121: 89 4d b8 mov %ecx,-0x48(%ebp)
2124: 8b 45 c8 mov -0x38(%ebp),%eax
2127: 25 00 01 00 00 and $0x100,%eax
212c: 89 45 dc mov %eax,-0x24(%ebp)
212f: 8b 45 c8 mov -0x38(%ebp),%eax
2132: 25 00 00 18 00 and $0x180000,%eax
2137: 3d 00 00 18 00 cmp $0x180000,%eax
213c: 0f 84 76 03 00 00 je 24b8 <get_page_from_freelist+0x448>
2142: 8b 1d 00 00 00 00 mov 0x0,%ebx
2148: c7 45 cc 00 00 00 00 movl $0x0,-0x34(%ebp)
214f: 85 db test %ebx,%ebx
2151: 75 20 jne 2173 <get_page_from_freelist+0x103>
2153: 8b 45 c8 mov -0x38(%ebp),%eax
2156: 25 00 00 10 00 and $0x100000,%eax
215b: 83 f8 01 cmp $0x1,%eax
215e: 8b 45 c8 mov -0x38(%ebp),%eax
2161: 19 d2 sbb %edx,%edx
2163: f7 d2 not %edx
2165: 83 e2 02 and $0x2,%edx
2168: c1 e8 13 shr $0x13,%eax
216b: 83 e0 01 and $0x1,%eax
216e: 09 c2 or %eax,%edx
2170: 89 55 cc mov %edx,-0x34(%ebp)
2173: 8b 4d b8 mov -0x48(%ebp),%ecx
2176: c7 45 d4 01 00 00 00 movl $0x1,-0x2c(%ebp)
217d: 81 c1 80 04 00 00 add $0x480,%ecx
2183: 89 4d d8 mov %ecx,-0x28(%ebp)
2186: 0f b6 4d c0 movzbl -0x40(%ebp),%ecx
218a: d3 65 d4 shll %cl,-0x2c(%ebp)
218d: 89 e0 mov %esp,%eax
218f: 25 00 f0 ff ff and $0xfffff000,%eax
2194: 83 40 14 01 addl $0x1,0x14(%eax)
2198: 8b 4d c0 mov -0x40(%ebp),%ecx
219b: 64 a1 00 00 00 00 mov %fs:0x0,%eax
21a1: 85 c9 test %ecx,%ecx
21a3: 0f 85 3c 03 00 00 jne 24e5 <get_page_from_freelist+0x475>
21a9: 9c pushf
21aa: 8f 45 d0 popl -0x30(%ebp)
21ad: fa cli
21ae: 8d 78 01 lea 0x1(%eax),%edi
21b1: 8b 45 b8 mov -0x48(%ebp),%eax
21b4: 89 fb mov %edi,%ebx
21b6: c1 e3 07 shl $0x7,%ebx
21b9: 8b 14 18 mov (%eax,%ebx,1),%edx
21bc: 85 d2 test %edx,%edx
21be: 0f 84 54 02 00 00 je 2418 <get_page_from_freelist+0x3a8>
21c4: 8b 45 dc mov -0x24(%ebp),%eax
21c7: 85 c0 test %eax,%eax
21c9: 0f 84 81 01 00 00 je 2350 <get_page_from_freelist+0x2e0>
21cf: 8b 45 b8 mov -0x48(%ebp),%eax
21d2: 89 fb mov %edi,%ebx
21d4: c1 e3 07 shl $0x7,%ebx
21d7: 8b 54 18 10 mov 0x10(%eax,%ebx,1),%edx
21db: 8d 72 e8 lea -0x18(%edx),%esi
21de: 8b 4e 1c mov 0x1c(%esi),%ecx
21e1: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
21e5: 8d 5c 18 0c lea 0xc(%eax,%ebx,1),%ebx
21e9: 39 d3 cmp %edx,%ebx
21eb: 89 d8 mov %ebx,%eax
21ed: 74 30 je 221f <get_page_from_freelist+0x1af>
21ef: 8b 55 cc mov -0x34(%ebp),%edx
21f2: 39 56 0c cmp %edx,0xc(%esi)
21f5: 75 17 jne 220e <get_page_from_freelist+0x19e>
21f7: e9 94 02 00 00 jmp 2490 <get_page_from_freelist+0x420>
21fc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2200: 8b 45 cc mov -0x34(%ebp),%eax
2203: 39 46 0c cmp %eax,0xc(%esi)
2206: 66 90 xchg %ax,%ax
2208: 0f 84 82 02 00 00 je 2490 <get_page_from_freelist+0x420>
220e: 8d 71 e8 lea -0x18(%ecx),%esi
2211: 8b 4e 1c mov 0x1c(%esi),%ecx
2214: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2218: 8d 46 18 lea 0x18(%esi),%eax
221b: 39 c3 cmp %eax,%ebx
221d: 75 e1 jne 2200 <get_page_from_freelist+0x190>
221f: 8b 55 b8 mov -0x48(%ebp),%edx
2222: 89 fb mov %edi,%ebx
2224: c1 e3 07 shl $0x7,%ebx
2227: 8b 34 1a mov (%edx,%ebx,1),%esi
222a: 8b 4c 1a 08 mov 0x8(%edx,%ebx,1),%ecx
222e: 8b 55 cc mov -0x34(%ebp),%edx
2231: 89 04 24 mov %eax,(%esp)
2234: 89 54 24 04 mov %edx,0x4(%esp)
2238: 8b 45 b8 mov -0x48(%ebp),%eax
223b: 31 d2 xor %edx,%edx
223d: e8 6e fa ff ff call 1cb0 <rmqueue_bulk>
2242: 8b 4d b8 mov -0x48(%ebp),%ecx
2245: 01 f0 add %esi,%eax
2247: 89 04 19 mov %eax,(%ecx,%ebx,1)
224a: 8b 44 19 0c mov 0xc(%ecx,%ebx,1),%eax
224e: 8d 70 e8 lea -0x18(%eax),%esi
2251: 8b 5e 18 mov 0x18(%esi),%ebx
2254: 8b 4e 1c mov 0x1c(%esi),%ecx
2257: 89 4b 04 mov %ecx,0x4(%ebx)
225a: c1 e7 07 shl $0x7,%edi
225d: 89 19 mov %ebx,(%ecx)
225f: c7 46 1c 00 02 20 00 movl $0x200200,0x1c(%esi)
2266: c7 46 18 00 01 10 00 movl $0x100100,0x18(%esi)
226d: 8b 55 b8 mov -0x48(%ebp),%edx
2270: 83 2c 3a 01 subl $0x1,(%edx,%edi,1)
2274: 8b 55 b8 mov -0x48(%ebp),%edx
2277: 64 a1 00 00 00 00 mov %fs:0x0,%eax
227d: 03 45 b4 add -0x4c(%ebp),%eax
2280: 8b 4d d4 mov -0x2c(%ebp),%ecx
2283: 2b 92 8c 07 00 00 sub 0x78c(%edx),%edx
2289: c1 fa 0b sar $0xb,%edx
228c: 01 4c 90 10 add %ecx,0x10(%eax,%edx,4)
2290: ff 75 d0 pushl -0x30(%ebp)
2293: 9d popf
2294: 89 e0 mov %esp,%eax
2296: 25 00 f0 ff ff and $0xfffff000,%eax
229b: 83 68 14 01 subl $0x1,0x14(%eax)
229f: f6 40 08 08 testb $0x8,0x8(%eax)
22a3: 0f 85 30 02 00 00 jne 24d9 <get_page_from_freelist+0x469>
22a9: 8b 1e mov (%esi),%ebx
22ab: 89 f2 mov %esi,%edx
22ad: 8b 46 08 mov 0x8(%esi),%eax
22b0: 8b 7e 10 mov 0x10(%esi),%edi
22b3: f6 c7 40 test $0x40,%bh
22b6: 74 03 je 22bb <get_page_from_freelist+0x24b>
22b8: 8b 56 0c mov 0xc(%esi),%edx
22bb: 8b 4a 04 mov 0x4(%edx),%ecx
22be: 31 d2 xor %edx,%edx
22c0: 85 ff test %edi,%edi
22c2: 0f 95 c2 setne %dl
22c5: 83 c0 01 add $0x1,%eax
22c8: 09 c2 or %eax,%edx
22ca: 31 c0 xor %eax,%eax
22cc: 85 c9 test %ecx,%ecx
22ce: 0f 95 c0 setne %al
22d1: 81 e3 ff ff 3f 00 and $0x3fffff,%ebx
22d7: 09 c2 or %eax,%edx
22d9: 09 da or %ebx,%edx
22db: 0f 85 27 01 00 00 jne 2408 <get_page_from_freelist+0x398>
22e1: c7 46 0c 00 00 00 00 movl $0x0,0xc(%esi)
22e8: c7 46 04 01 00 00 00 movl $0x1,0x4(%esi)
22ef: 66 83 7d c8 00 cmpw $0x0,-0x38(%ebp)
22f4: 79 46 jns 233c <get_page_from_freelist+0x2cc>
22f6: 8b 7d d4 mov -0x2c(%ebp),%edi
22f9: 85 ff test %edi,%edi
22fb: 7e 3f jle 233c <get_page_from_freelist+0x2cc>
22fd: 89 75 e4 mov %esi,-0x1c(%ebp)
2300: 31 db xor %ebx,%ebx
2302: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2308: 8b 45 e4 mov -0x1c(%ebp),%eax
230b: ba 03 00 00 00 mov $0x3,%edx
2310: e8 fc ff ff ff call 2311 <get_page_from_freelist+0x2a1>
2315: b9 00 04 00 00 mov $0x400,%ecx
231a: 89 45 b0 mov %eax,-0x50(%ebp)
231d: 89 c7 mov %eax,%edi
231f: 31 c0 xor %eax,%eax
2321: f3 ab rep stos %eax,%es:(%edi)
2323: 8b 45 b0 mov -0x50(%ebp),%eax
2326: ba 03 00 00 00 mov $0x3,%edx
232b: 83 c3 01 add $0x1,%ebx
232e: e8 fc ff ff ff call 232f <get_page_from_freelist+0x2bf>
2333: 83 45 e4 20 addl $0x20,-0x1c(%ebp)
2337: 39 5d d4 cmp %ebx,-0x2c(%ebp)
233a: 7f cc jg 2308 <get_page_from_freelist+0x298>
233c: 8b 5d c0 mov -0x40(%ebp),%ebx
233f: 85 db test %ebx,%ebx
2341: 75 75 jne 23b8 <get_page_from_freelist+0x348>
2343: 83 c4 54 add $0x54,%esp
2346: 89 f0 mov %esi,%eax
2348: 5b pop %ebx
2349: 5e pop %esi
234a: 5f pop %edi
234b: 5d pop %ebp
234c: c3 ret
234d: 8d 76 00 lea 0x0(%esi),%esi
2350: 8b 4d b8 mov -0x48(%ebp),%ecx
2353: 89 fa mov %edi,%edx
2355: c1 e2 07 shl $0x7,%edx
2358: 8b 4c 11 0c mov 0xc(%ecx,%edx,1),%ecx
235c: 89 ce mov %ecx,%esi
235e: 83 ee 18 sub $0x18,%esi
2361: 89 4d ac mov %ecx,-0x54(%ebp)
2364: 8b 5e 18 mov 0x18(%esi),%ebx
2367: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
236b: 8b 45 b8 mov -0x48(%ebp),%eax
236e: 8d 4c 10 0c lea 0xc(%eax,%edx,1),%ecx
2372: 3b 4d ac cmp -0x54(%ebp),%ecx
2375: 89 c8 mov %ecx,%eax
2377: 0f 84 a2 fe ff ff je 221f <get_page_from_freelist+0x1af>
237d: 8b 55 cc mov -0x34(%ebp),%edx
2380: 39 56 0c cmp %edx,0xc(%esi)
2383: 75 19 jne 239e <get_page_from_freelist+0x32e>
2385: e9 ca fe ff ff jmp 2254 <get_page_from_freelist+0x1e4>
238a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2390: 8b 45 cc mov -0x34(%ebp),%eax
2393: 39 46 0c cmp %eax,0xc(%esi)
2396: 66 90 xchg %ax,%ax
2398: 0f 84 b6 fe ff ff je 2254 <get_page_from_freelist+0x1e4>
239e: 8d 73 e8 lea -0x18(%ebx),%esi
23a1: 8b 5e 18 mov 0x18(%esi),%ebx
23a4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
23a8: 8d 46 18 lea 0x18(%esi),%eax
23ab: 39 c1 cmp %eax,%ecx
23ad: 75 e1 jne 2390 <get_page_from_freelist+0x320>
23af: e9 6b fe ff ff jmp 221f <get_page_from_freelist+0x1af>
23b4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
23b8: f7 45 c8 00 40 00 00 testl $0x4000,-0x38(%ebp)
23bf: 74 82 je 2343 <get_page_from_freelist+0x2d3>
23c1: 8d 46 20 lea 0x20(%esi),%eax
23c4: c7 40 18 b0 15 00 00 movl $0x15b0,0x18(%eax)
23cb: 8b 55 c0 mov -0x40(%ebp),%edx
23ce: 89 50 1c mov %edx,0x1c(%eax)
23d1: 0f ba 2e 0d btsl $0xd,(%esi)
23d5: 83 7d d4 01 cmpl $0x1,-0x2c(%ebp)
23d9: 0f 8e 64 ff ff ff jle 2343 <get_page_from_freelist+0x2d3>
23df: ba 01 00 00 00 mov $0x1,%edx
23e4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
23e8: 0f ba 28 0e btsl $0xe,(%eax)
23ec: 89 70 0c mov %esi,0xc(%eax)
23ef: 83 c2 01 add $0x1,%edx
23f2: 83 c0 20 add $0x20,%eax
23f5: 39 55 d4 cmp %edx,-0x2c(%ebp)
23f8: 7f ee jg 23e8 <get_page_from_freelist+0x378>
23fa: 83 c4 54 add $0x54,%esp
23fd: 89 f0 mov %esi,%eax
23ff: 5b pop %ebx
2400: 5e pop %esi
2401: 5f pop %edi
2402: 5d pop %ebp
2403: c3 ret
2404: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2408: 89 f0 mov %esi,%eax
240a: e8 71 ec ff ff call 1080 <bad_page>
240f: e9 79 fd ff ff jmp 218d <get_page_from_freelist+0x11d>
2414: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2418: 8b 55 cc mov -0x34(%ebp),%edx
241b: 8b 4c 18 08 mov 0x8(%eax,%ebx,1),%ecx
241f: 8d 44 18 0c lea 0xc(%eax,%ebx,1),%eax
2423: 89 04 24 mov %eax,(%esp)
2426: 89 54 24 04 mov %edx,0x4(%esp)
242a: 8b 45 b8 mov -0x48(%ebp),%eax
242d: 31 d2 xor %edx,%edx
242f: e8 7c f8 ff ff call 1cb0 <rmqueue_bulk>
2434: 8b 4d b8 mov -0x48(%ebp),%ecx
2437: 85 c0 test %eax,%eax
2439: 89 04 19 mov %eax,(%ecx,%ebx,1)
243c: 0f 85 82 fd ff ff jne 21c4 <get_page_from_freelist+0x154>
2442: ff 75 d0 pushl -0x30(%ebp)
2445: 9d popf
2446: 89 e0 mov %esp,%eax
2448: 25 00 f0 ff ff and $0xfffff000,%eax
244d: 83 68 14 01 subl $0x1,0x14(%eax)
2451: f6 40 08 08 testb $0x8,0x8(%eax)
2455: 0f 85 ba 00 00 00 jne 2515 <get_page_from_freelist+0x4a5>
245b: 90 nop
245c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2460: 8b 45 e8 mov -0x18(%ebp),%eax
2463: 8d 4d f0 lea -0x10(%ebp),%ecx
2466: 89 0c 24 mov %ecx,(%esp)
2469: 8b 4d c4 mov -0x3c(%ebp),%ecx
246c: 8b 55 0c mov 0xc(%ebp),%edx
246f: 83 c0 08 add $0x8,%eax
2472: e8 fc ff ff ff call 2473 <get_page_from_freelist+0x403>
2477: 89 45 e8 mov %eax,-0x18(%ebp)
247a: 8b 45 f0 mov -0x10(%ebp),%eax
247d: 85 c0 test %eax,%eax
247f: 89 45 b8 mov %eax,-0x48(%ebp)
2482: 0f 85 60 fc ff ff jne 20e8 <get_page_from_freelist+0x78>
2488: 31 f6 xor %esi,%esi
248a: e9 b4 fe ff ff jmp 2343 <get_page_from_freelist+0x2d3>
248f: 90 nop
2490: 8b 5e 18 mov 0x18(%esi),%ebx
2493: e9 bf fd ff ff jmp 2257 <get_page_from_freelist+0x1e7>
2498: f6 45 10 04 testb $0x4,0x10(%ebp)
249c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
24a0: 74 0b je 24ad <get_page_from_freelist+0x43d>
24a2: 8b 45 b8 mov -0x48(%ebp),%eax
24a5: 8b 48 04 mov 0x4(%eax),%ecx
24a8: e9 51 fc ff ff jmp 20fe <get_page_from_freelist+0x8e>
24ad: 8b 55 b8 mov -0x48(%ebp),%edx
24b0: 8b 4a 08 mov 0x8(%edx),%ecx
24b3: e9 46 fc ff ff jmp 20fe <get_page_from_freelist+0x8e>
24b8: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp)
24bf: 00
24c0: c7 44 24 04 68 00 00 movl $0x68,0x4(%esp)
24c7: 00
24c8: c7 04 24 e7 00 00 00 movl $0xe7,(%esp)
24cf: e8 fc ff ff ff call 24d0 <get_page_from_freelist+0x460>
24d4: e9 69 fc ff ff jmp 2142 <get_page_from_freelist+0xd2>
24d9: e8 fc ff ff ff call 24da <get_page_from_freelist+0x46a>
24de: 66 90 xchg %ax,%ax
24e0: e9 c4 fd ff ff jmp 22a9 <get_page_from_freelist+0x239>
24e5: 8b 45 d8 mov -0x28(%ebp),%eax
24e8: e8 fc ff ff ff call 24e9 <get_page_from_freelist+0x479>
24ed: 8b 4d cc mov -0x34(%ebp),%ecx
24f0: 8b 55 c0 mov -0x40(%ebp),%edx
24f3: 89 45 d0 mov %eax,-0x30(%ebp)
24f6: 8b 45 b8 mov -0x48(%ebp),%eax
24f9: e8 b2 f5 ff ff call 1ab0 <__rmqueue>
24fe: 89 c6 mov %eax,%esi
2500: 8b 45 d8 mov -0x28(%ebp),%eax
2503: e8 fc ff ff ff call 2504 <get_page_from_freelist+0x494>
2508: 85 f6 test %esi,%esi
250a: 0f 85 64 fd ff ff jne 2274 <get_page_from_freelist+0x204>
2510: e9 2d ff ff ff jmp 2442 <get_page_from_freelist+0x3d2>
2515: 8d 76 00 lea 0x0(%esi),%esi
2518: e8 fc ff ff ff call 2519 <get_page_from_freelist+0x4a9>
251d: 8d 76 00 lea 0x0(%esi),%esi
2520: e9 3b ff ff ff jmp 2460 <get_page_from_freelist+0x3f0>
2525: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2529: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00002530 <drain_all_pages>:
2530: 55 push %ebp
2531: b9 01 00 00 00 mov $0x1,%ecx
2536: 89 e5 mov %esp,%ebp
2538: 31 d2 xor %edx,%edx
253a: b8 00 00 00 00 mov $0x0,%eax
253f: e8 fc ff ff ff call 2540 <drain_all_pages+0x10>
2544: 5d pop %ebp
2545: c3 ret
2546: 8d 76 00 lea 0x0(%esi),%esi
2549: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00002550 <set_migratetype_isolate>:
2550: 55 push %ebp
2551: 89 e5 mov %esp,%ebp
2553: 83 ec 14 sub $0x14,%esp
2556: 89 5d f4 mov %ebx,-0xc(%ebp)
2559: 89 c3 mov %eax,%ebx
255b: 89 75 f8 mov %esi,-0x8(%ebp)
255e: 89 7d fc mov %edi,-0x4(%ebp)
2561: 8b 00 mov (%eax),%eax
2563: c1 e8 1e shr $0x1e,%eax
2566: c1 e0 0b shl $0xb,%eax
2569: 8d b8 00 00 00 00 lea 0x0(%eax),%edi
256f: 8d b7 80 04 00 00 lea 0x480(%edi),%esi
2575: 89 f0 mov %esi,%eax
2577: e8 fc ff ff ff call 2578 <set_migratetype_isolate+0x28>
257c: 89 45 f0 mov %eax,-0x10(%ebp)
257f: a1 00 00 00 00 mov 0x0,%eax
2584: 85 c0 test %eax,%eax
2586: 74 20 je 25a8 <set_migratetype_isolate+0x58>
2588: 8b 55 f0 mov -0x10(%ebp),%edx
258b: 89 f0 mov %esi,%eax
258d: e8 fc ff ff ff call 258e <set_migratetype_isolate+0x3e>
2592: b8 f0 ff ff ff mov $0xfffffff0,%eax
2597: 8b 5d f4 mov -0xc(%ebp),%ebx
259a: 8b 75 f8 mov -0x8(%ebp),%esi
259d: 8b 7d fc mov -0x4(%ebp),%edi
25a0: 89 ec mov %ebp,%esp
25a2: 5d pop %ebp
25a3: c3 ret
25a4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
25a8: 31 d2 xor %edx,%edx
25aa: b9 02 00 00 00 mov $0x2,%ecx
25af: 89 d8 mov %ebx,%eax
25b1: e8 fc ff ff ff call 25b2 <set_migratetype_isolate+0x62>
25b6: 83 f8 02 cmp $0x2,%eax
25b9: 75 cd jne 2588 <set_migratetype_isolate+0x38>
25bb: 31 c9 xor %ecx,%ecx
25bd: ba 04 00 00 00 mov $0x4,%edx
25c2: 89 d8 mov %ebx,%eax
25c4: c7 04 24 02 00 00 00 movl $0x2,(%esp)
25cb: e8 fc ff ff ff call 25cc <set_migratetype_isolate+0x7c>
25d0: b9 04 00 00 00 mov $0x4,%ecx
25d5: 89 da mov %ebx,%edx
25d7: 89 f8 mov %edi,%eax
25d9: e8 f2 da ff ff call d0 <move_freepages_block>
25de: 8b 55 f0 mov -0x10(%ebp),%edx
25e1: 89 f0 mov %esi,%eax
25e3: e8 fc ff ff ff call 25e4 <set_migratetype_isolate+0x94>
25e8: b9 01 00 00 00 mov $0x1,%ecx
25ed: 31 d2 xor %edx,%edx
25ef: b8 00 00 00 00 mov $0x0,%eax
25f4: e8 fc ff ff ff call 25f5 <set_migratetype_isolate+0xa5>
25f9: 31 c0 xor %eax,%eax
25fb: eb 9a jmp 2597 <set_migratetype_isolate+0x47>
25fd: 8d 76 00 lea 0x0(%esi),%esi
00002600 <__alloc_pages_internal>:
2600: 55 push %ebp
2601: 89 e5 mov %esp,%ebp
2603: 57 push %edi
2604: 56 push %esi
2605: 53 push %ebx
2606: 83 ec 48 sub $0x48,%esp
2609: 89 45 c8 mov %eax,-0x38(%ebp)
260c: 83 e0 10 and $0x10,%eax
260f: f6 45 c8 01 testb $0x1,-0x38(%ebp)
2613: 89 55 c4 mov %edx,-0x3c(%ebp)
2616: 89 4d c0 mov %ecx,-0x40(%ebp)
2619: 89 45 d4 mov %eax,-0x2c(%ebp)
261c: c7 45 d8 00 00 00 00 movl $0x0,-0x28(%ebp)
2623: 75 27 jne 264c <__alloc_pages_internal+0x4c>
2625: 8b 45 c8 mov -0x38(%ebp),%eax
2628: c7 45 d8 03 00 00 00 movl $0x3,-0x28(%ebp)
262f: 25 02 00 10 00 and $0x100002,%eax
2634: 3d 02 00 10 00 cmp $0x100002,%eax
2639: 74 11 je 264c <__alloc_pages_internal+0x4c>
263b: 8b 45 c8 mov -0x38(%ebp),%eax
263e: 83 e0 02 and $0x2,%eax
2641: 83 f8 01 cmp $0x1,%eax
2644: 19 c0 sbb %eax,%eax
2646: 83 c0 02 add $0x2,%eax
2649: 89 45 d8 mov %eax,-0x28(%ebp)
264c: 8b 4d c0 mov -0x40(%ebp),%ecx
264f: c7 45 d0 01 00 00 00 movl $0x1,-0x30(%ebp)
2656: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%ebp)
265d: 64 8b 35 00 00 00 00 mov %fs:0x0,%esi
2664: 83 c1 04 add $0x4,%ecx
2667: 89 4d e4 mov %ecx,-0x1c(%ebp)
266a: 0f b6 4d c4 movzbl -0x3c(%ebp),%ecx
266e: d3 65 d0 shll %cl,-0x30(%ebp)
2671: 8b 45 c0 mov -0x40(%ebp),%eax
2674: 8b 58 04 mov 0x4(%eax),%ebx
2677: 85 db test %ebx,%ebx
2679: 0f 84 bd 02 00 00 je 293c <__alloc_pages_internal+0x33c>
267f: 8b 4d c8 mov -0x38(%ebp),%ecx
2682: 8b 45 d8 mov -0x28(%ebp),%eax
2685: 8b 55 08 mov 0x8(%ebp),%edx
2688: c7 44 24 08 44 00 00 movl $0x44,0x8(%esp)
268f: 00
2690: 81 c9 00 00 02 00 or $0x20000,%ecx
2696: 89 4d cc mov %ecx,-0x34(%ebp)
2699: 8b 4d c0 mov -0x40(%ebp),%ecx
269c: 89 44 24 04 mov %eax,0x4(%esp)
26a0: 8b 45 cc mov -0x34(%ebp),%eax
26a3: 89 0c 24 mov %ecx,(%esp)
26a6: 8b 4d c4 mov -0x3c(%ebp),%ecx
26a9: e8 c2 f9 ff ff call 2070 <get_page_from_freelist>
26ae: 85 c0 test %eax,%eax
26b0: 89 c3 mov %eax,%ebx
26b2: 0f 85 71 01 00 00 jne 2829 <__alloc_pages_internal+0x229>
26b8: 8d 7d f0 lea -0x10(%ebp),%edi
26bb: 31 c9 xor %ecx,%ecx
26bd: 8b 55 d8 mov -0x28(%ebp),%edx
26c0: 89 3c 24 mov %edi,(%esp)
26c3: 8b 45 e4 mov -0x1c(%ebp),%eax
26c6: eb 13 jmp 26db <__alloc_pages_internal+0xdb>
26c8: 8b 55 c4 mov -0x3c(%ebp),%edx
26cb: e8 fc ff ff ff call 26cc <__alloc_pages_internal+0xcc>
26d0: 8b 55 d8 mov -0x28(%ebp),%edx
26d3: 8d 43 08 lea 0x8(%ebx),%eax
26d6: 31 c9 xor %ecx,%ecx
26d8: 89 3c 24 mov %edi,(%esp)
26db: e8 fc ff ff ff call 26dc <__alloc_pages_internal+0xdc>
26e0: 89 c3 mov %eax,%ebx
26e2: 8b 45 f0 mov -0x10(%ebp),%eax
26e5: 85 c0 test %eax,%eax
26e7: 75 df jne 26c8 <__alloc_pages_internal+0xc8>
26e9: 83 7e 18 63 cmpl $0x63,0x18(%esi)
26ed: 0f 8f 45 01 00 00 jg 2838 <__alloc_pages_internal+0x238>
26f3: 89 e0 mov %esp,%eax
26f5: 25 00 f0 ff ff and $0xfffff000,%eax
26fa: f7 40 14 00 ff ff 0f testl $0xfffff00,0x14(%eax)
2701: 0f 85 31 01 00 00 jne 2838 <__alloc_pages_internal+0x238>
2707: c7 45 dc 12 00 00 00 movl $0x12,-0x24(%ebp)
270e: 8b 45 dc mov -0x24(%ebp),%eax
2711: 8b 55 d4 mov -0x2c(%ebp),%edx
2714: 8b 4d c0 mov -0x40(%ebp),%ecx
2717: 83 c8 20 or $0x20,%eax
271a: f6 45 c8 20 testb $0x20,-0x38(%ebp)
271e: 0f 44 45 dc cmove -0x24(%ebp),%eax
2722: 89 0c 24 mov %ecx,(%esp)
2725: 8b 4d c4 mov -0x3c(%ebp),%ecx
2728: 89 45 dc mov %eax,-0x24(%ebp)
272b: 83 c8 40 or $0x40,%eax
272e: 85 d2 test %edx,%edx
2730: 0f 44 45 dc cmove -0x24(%ebp),%eax
2734: 8b 55 08 mov 0x8(%ebp),%edx
2737: 89 45 dc mov %eax,-0x24(%ebp)
273a: 89 44 24 08 mov %eax,0x8(%esp)
273e: 8b 45 d8 mov -0x28(%ebp),%eax
2741: 89 44 24 04 mov %eax,0x4(%esp)
2745: 8b 45 c8 mov -0x38(%ebp),%eax
2748: e8 23 f9 ff ff call 2070 <get_page_from_freelist>
274d: 85 c0 test %eax,%eax
274f: 89 45 e8 mov %eax,-0x18(%ebp)
2752: 0f 85 ce 00 00 00 jne 2826 <__alloc_pages_internal+0x226>
2758: 8b 45 c8 mov -0x38(%ebp),%eax
275b: 25 80 10 00 00 and $0x1080,%eax
2760: 89 45 bc mov %eax,-0x44(%ebp)
2763: f6 46 0d 08 testb $0x8,0xd(%esi)
2767: 0f 84 2d 01 00 00 je 289a <__alloc_pages_internal+0x29a>
276d: 8d 76 00 lea 0x0(%esi),%esi
2770: 89 e0 mov %esp,%eax
2772: 25 00 f0 ff ff and $0xfffff000,%eax
2777: f7 40 14 00 ff ff 0f testl $0xfffff00,0x14(%eax)
277e: 0f 84 c4 01 00 00 je 2948 <__alloc_pages_internal+0x348>
2784: 8b 45 d4 mov -0x2c(%ebp),%eax
2787: 85 c0 test %eax,%eax
2789: 0f 84 86 00 00 00 je 2815 <__alloc_pages_internal+0x215>
278f: e8 fc ff ff ff call 2790 <__alloc_pages_internal+0x190>
2794: 8d 4d ec lea -0x14(%ebp),%ecx
2797: 81 4e 0c 00 08 00 00 orl $0x800,0xc(%esi)
279e: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
27a5: 89 8e 00 03 00 00 mov %ecx,0x300(%esi)
27ab: 8b 4d c8 mov -0x38(%ebp),%ecx
27ae: 8b 55 c4 mov -0x3c(%ebp),%edx
27b1: 8b 45 c0 mov -0x40(%ebp),%eax
27b4: e8 fc ff ff ff call 27b5 <__alloc_pages_internal+0x1b5>
27b9: 81 66 0c ff f7 ff ff andl $0xfffff7ff,0xc(%esi)
27c0: c7 86 00 03 00 00 00 movl $0x0,0x300(%esi)
27c7: 00 00 00
27ca: 89 c7 mov %eax,%edi
27cc: e8 fc ff ff ff call 27cd <__alloc_pages_internal+0x1cd>
27d1: 8b 45 c4 mov -0x3c(%ebp),%eax
27d4: 85 c0 test %eax,%eax
27d6: 0f 85 dc 00 00 00 jne 28b8 <__alloc_pages_internal+0x2b8>
27dc: 85 ff test %edi,%edi
27de: 0f 84 ed 00 00 00 je 28d1 <__alloc_pages_internal+0x2d1>
27e4: 8b 45 dc mov -0x24(%ebp),%eax
27e7: 8b 4d d8 mov -0x28(%ebp),%ecx
27ea: 8b 55 08 mov 0x8(%ebp),%edx
27ed: 89 44 24 08 mov %eax,0x8(%esp)
27f1: 8b 45 c0 mov -0x40(%ebp),%eax
27f4: 89 4c 24 04 mov %ecx,0x4(%esp)
27f8: 8b 4d c4 mov -0x3c(%ebp),%ecx
27fb: 89 04 24 mov %eax,(%esp)
27fe: 8b 45 c8 mov -0x38(%ebp),%eax
2801: e8 6a f8 ff ff call 2070 <get_page_from_freelist>
2806: 85 c0 test %eax,%eax
2808: 89 c3 mov %eax,%ebx
280a: 75 1d jne 2829 <__alloc_pages_internal+0x229>
280c: f7 45 c8 00 10 00 00 testl $0x1000,-0x38(%ebp)
2813: 74 3b je 2850 <__alloc_pages_internal+0x250>
2815: f7 45 c8 00 02 00 00 testl $0x200,-0x38(%ebp)
281c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2820: 0f 84 da 00 00 00 je 2900 <__alloc_pages_internal+0x300>
2826: 8b 5d e8 mov -0x18(%ebp),%ebx
2829: 83 c4 48 add $0x48,%esp
282c: 89 d8 mov %ebx,%eax
282e: 5b pop %ebx
282f: 5e pop %esi
2830: 5f pop %edi
2831: 5d pop %ebp
2832: c3 ret
2833: 90 nop
2834: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2838: 8b 4d d4 mov -0x2c(%ebp),%ecx
283b: c7 45 dc 02 00 00 00 movl $0x2,-0x24(%ebp)
2842: 85 c9 test %ecx,%ecx
2844: 0f 85 c4 fe ff ff jne 270e <__alloc_pages_internal+0x10e>
284a: e9 b8 fe ff ff jmp 2707 <__alloc_pages_internal+0x107>
284f: 90 nop
2850: 01 7d e0 add %edi,-0x20(%ebp)
2853: b8 01 00 00 00 mov $0x1,%eax
2858: 83 7d c4 03 cmpl $0x3,-0x3c(%ebp)
285c: 76 16 jbe 2874 <__alloc_pages_internal+0x274>
285e: 31 c0 xor %eax,%eax
2860: f7 45 c8 00 04 00 00 testl $0x400,-0x38(%ebp)
2867: 74 0b je 2874 <__alloc_pages_internal+0x274>
2869: 8b 4d d0 mov -0x30(%ebp),%ecx
286c: 31 c0 xor %eax,%eax
286e: 39 4d e0 cmp %ecx,-0x20(%ebp)
2871: 0f 92 c0 setb %al
2874: f7 45 c8 00 08 00 00 testl $0x800,-0x38(%ebp)
287b: 75 04 jne 2881 <__alloc_pages_internal+0x281>
287d: 85 c0 test %eax,%eax
287f: 74 94 je 2815 <__alloc_pages_internal+0x215>
2881: ba 14 00 00 00 mov $0x14,%edx
2886: b8 01 00 00 00 mov $0x1,%eax
288b: e8 fc ff ff ff call 288c <__alloc_pages_internal+0x28c>
2890: f6 46 0d 08 testb $0x8,0xd(%esi)
2894: 0f 85 d6 fe ff ff jne 2770 <__alloc_pages_internal+0x170>
289a: 89 e0 mov %esp,%eax
289c: 25 00 f0 ff ff and $0xfffff000,%eax
28a1: f6 40 0a 10 testb $0x10,0xa(%eax)
28a5: 0f 84 d9 fe ff ff je 2784 <__alloc_pages_internal+0x184>
28ab: 90 nop
28ac: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
28b0: e9 bb fe ff ff jmp 2770 <__alloc_pages_internal+0x170>
28b5: 8d 76 00 lea 0x0(%esi),%esi
28b8: 31 d2 xor %edx,%edx
28ba: b9 01 00 00 00 mov $0x1,%ecx
28bf: b8 00 00 00 00 mov $0x0,%eax
28c4: e8 fc ff ff ff call 28c5 <__alloc_pages_internal+0x2c5>
28c9: 85 ff test %edi,%edi
28cb: 0f 85 13 ff ff ff jne 27e4 <__alloc_pages_internal+0x1e4>
28d1: 81 7d bc 80 00 00 00 cmpl $0x80,-0x44(%ebp)
28d8: 0f 85 2e ff ff ff jne 280c <__alloc_pages_internal+0x20c>
28de: 8b 55 c8 mov -0x38(%ebp),%edx
28e1: 8b 45 c0 mov -0x40(%ebp),%eax
28e4: e8 fc ff ff ff call 28e5 <__alloc_pages_internal+0x2e5>
28e9: 85 c0 test %eax,%eax
28eb: 0f 85 c2 00 00 00 jne 29b3 <__alloc_pages_internal+0x3b3>
28f1: b0 01 mov $0x1,%al
28f3: e8 fc ff ff ff call 28f4 <__alloc_pages_internal+0x2f4>
28f8: e9 74 fd ff ff jmp 2671 <__alloc_pages_internal+0x71>
28fd: 8d 76 00 lea 0x0(%esi),%esi
2900: e8 fc ff ff ff call 2901 <__alloc_pages_internal+0x301>
2905: 85 c0 test %eax,%eax
2907: 90 nop
2908: 0f 84 18 ff ff ff je 2826 <__alloc_pages_internal+0x226>
290e: 8b 45 c8 mov -0x38(%ebp),%eax
2911: 8b 4d c4 mov -0x3c(%ebp),%ecx
2914: c7 04 24 14 05 00 00 movl $0x514,(%esp)
291b: 89 44 24 0c mov %eax,0xc(%esp)
291f: 8d 86 c8 01 00 00 lea 0x1c8(%esi),%eax
2925: 89 4c 24 08 mov %ecx,0x8(%esp)
2929: 89 44 24 04 mov %eax,0x4(%esp)
292d: e8 fc ff ff ff call 292e <__alloc_pages_internal+0x32e>
2932: e8 fc ff ff ff call 2933 <__alloc_pages_internal+0x333>
2937: e8 fc ff ff ff call 2938 <__alloc_pages_internal+0x338>
293c: 31 db xor %ebx,%ebx
293e: 66 90 xchg %ax,%ax
2940: e9 e4 fe ff ff jmp 2829 <__alloc_pages_internal+0x229>
2945: 8d 76 00 lea 0x0(%esi),%esi
2948: f7 45 c8 00 00 01 00 testl $0x10000,-0x38(%ebp)
294f: 90 nop
2950: 0f 85 bf fe ff ff jne 2815 <__alloc_pages_internal+0x215>
2956: 8b 7d c8 mov -0x38(%ebp),%edi
2959: 81 e7 00 08 00 00 and $0x800,%edi
295f: 90 nop
2960: eb 23 jmp 2985 <__alloc_pages_internal+0x385>
2962: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2968: 85 ff test %edi,%edi
296a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2970: 0f 84 9f fe ff ff je 2815 <__alloc_pages_internal+0x215>
2976: ba 14 00 00 00 mov $0x14,%edx
297b: b8 01 00 00 00 mov $0x1,%eax
2980: e8 fc ff ff ff call 2981 <__alloc_pages_internal+0x381>
2985: 8b 4d d8 mov -0x28(%ebp),%ecx
2988: 8b 45 c0 mov -0x40(%ebp),%eax
298b: 8b 55 08 mov 0x8(%ebp),%edx
298e: c7 44 24 08 01 00 00 movl $0x1,0x8(%esp)
2995: 00
2996: 89 4c 24 04 mov %ecx,0x4(%esp)
299a: 8b 4d c4 mov -0x3c(%ebp),%ecx
299d: 89 04 24 mov %eax,(%esp)
29a0: 8b 45 c8 mov -0x38(%ebp),%eax
29a3: e8 c8 f6 ff ff call 2070 <get_page_from_freelist>
29a8: 85 c0 test %eax,%eax
29aa: 89 c3 mov %eax,%ebx
29ac: 74 ba je 2968 <__alloc_pages_internal+0x368>
29ae: e9 76 fe ff ff jmp 2829 <__alloc_pages_internal+0x229>
29b3: 8b 4d d8 mov -0x28(%ebp),%ecx
29b6: 8b 45 c0 mov -0x40(%ebp),%eax
29b9: 8b 55 08 mov 0x8(%ebp),%edx
29bc: c7 44 24 08 48 00 00 movl $0x48,0x8(%esp)
29c3: 00
29c4: 89 4c 24 04 mov %ecx,0x4(%esp)
29c8: 8b 4d c4 mov -0x3c(%ebp),%ecx
29cb: 89 04 24 mov %eax,(%esp)
29ce: 8b 45 cc mov -0x34(%ebp),%eax
29d1: e8 9a f6 ff ff call 2070 <get_page_from_freelist>
29d6: 85 c0 test %eax,%eax
29d8: 89 c3 mov %eax,%ebx
29da: 75 24 jne 2a00 <__alloc_pages_internal+0x400>
29dc: 83 7d c4 03 cmpl $0x3,-0x3c(%ebp)
29e0: 77 33 ja 2a15 <__alloc_pages_internal+0x415>
29e2: 8b 55 c8 mov -0x38(%ebp),%edx
29e5: 8b 45 c0 mov -0x40(%ebp),%eax
29e8: 8b 4d c4 mov -0x3c(%ebp),%ecx
29eb: e8 fc ff ff ff call 29ec <__alloc_pages_internal+0x3ec>
29f0: 8b 55 c8 mov -0x38(%ebp),%edx
29f3: 8b 45 c0 mov -0x40(%ebp),%eax
29f6: e8 fc ff ff ff call 29f7 <__alloc_pages_internal+0x3f7>
29fb: e9 71 fc ff ff jmp 2671 <__alloc_pages_internal+0x71>
2a00: 8b 55 c8 mov -0x38(%ebp),%edx
2a03: 8b 45 c0 mov -0x40(%ebp),%eax
2a06: e8 fc ff ff ff call 2a07 <__alloc_pages_internal+0x407>
2a0b: 90 nop
2a0c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2a10: e9 14 fe ff ff jmp 2829 <__alloc_pages_internal+0x229>
2a15: 8b 55 c8 mov -0x38(%ebp),%edx
2a18: 8b 45 c0 mov -0x40(%ebp),%eax
2a1b: e8 fc ff ff ff call 2a1c <__alloc_pages_internal+0x41c>
2a20: e9 f0 fd ff ff jmp 2815 <__alloc_pages_internal+0x215>
2a25: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2a29: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
00002a30 <get_zeroed_page>:
2a30: 55 push %ebp
2a31: 31 d2 xor %edx,%edx
2a33: 89 e5 mov %esp,%ebp
2a35: 80 cc 80 or $0x80,%ah
2a38: 83 ec 04 sub $0x4,%esp
2a3b: b9 00 20 00 00 mov $0x2000,%ecx
2a40: c7 04 24 00 00 00 00 movl $0x0,(%esp)
2a47: e8 fc ff ff ff call 2a48 <get_zeroed_page+0x18>
2a4c: 31 d2 xor %edx,%edx
2a4e: 85 c0 test %eax,%eax
2a50: 74 07 je 2a59 <get_zeroed_page+0x29>
2a52: e8 fc ff ff ff call 2a53 <get_zeroed_page+0x23>
2a57: 89 c2 mov %eax,%edx
2a59: 89 d0 mov %edx,%eax
2a5b: c9 leave
2a5c: c3 ret
2a5d: 8d 76 00 lea 0x0(%esi),%esi
00002a60 <__get_free_pages>:
2a60: 55 push %ebp
2a61: 89 e5 mov %esp,%ebp
2a63: 83 ec 04 sub $0x4,%esp
2a66: 83 fa 0a cmp $0xa,%edx
2a69: 76 05 jbe 2a70 <__get_free_pages+0x10>
2a6b: 31 c0 xor %eax,%eax
2a6d: c9 leave
2a6e: c3 ret
2a6f: 90 nop
2a70: c7 04 24 00 00 00 00 movl $0x0,(%esp)
2a77: b9 00 20 00 00 mov $0x2000,%ecx
2a7c: e8 fc ff ff ff call 2a7d <__get_free_pages+0x1d>
2a81: 85 c0 test %eax,%eax
2a83: 74 e6 je 2a6b <__get_free_pages+0xb>
2a85: e8 fc ff ff ff call 2a86 <__get_free_pages+0x26>
2a8a: c9 leave
2a8b: 90 nop
2a8c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2a90: c3 ret
2a91: eb 0d jmp 2aa0 <alloc_pages_exact>
2a93: 90 nop
2a94: 90 nop
2a95: 90 nop
2a96: 90 nop
2a97: 90 nop
2a98: 90 nop
2a99: 90 nop
2a9a: 90 nop
2a9b: 90 nop
2a9c: 90 nop
2a9d: 90 nop
2a9e: 90 nop
2a9f: 90 nop
00002aa0 <alloc_pages_exact>:
2aa0: 55 push %ebp
2aa1: 89 e5 mov %esp,%ebp
2aa3: 57 push %edi
2aa4: 56 push %esi
2aa5: be ff ff ff ff mov $0xffffffff,%esi
2aaa: 53 push %ebx
2aab: 89 c3 mov %eax,%ebx
2aad: 89 d0 mov %edx,%eax
2aaf: 83 ec 08 sub $0x8,%esp
2ab2: 8d 53 ff lea -0x1(%ebx),%edx
2ab5: c1 ea 0b shr $0xb,%edx
2ab8: 83 c6 01 add $0x1,%esi
2abb: d1 ea shr %edx
2abd: 75 f9 jne 2ab8 <alloc_pages_exact+0x18>
2abf: 89 f2 mov %esi,%edx
2ac1: e8 fc ff ff ff call 2ac2 <alloc_pages_exact+0x22>
2ac6: 85 c0 test %eax,%eax
2ac8: 89 c7 mov %eax,%edi
2aca: 74 78 je 2b44 <alloc_pages_exact+0xa4>
2acc: 89 f1 mov %esi,%ecx
2ace: b8 00 10 00 00 mov $0x1000,%eax
2ad3: d3 e0 shl %cl,%eax
2ad5: 01 f8 add %edi,%eax
2ad7: 89 45 f0 mov %eax,-0x10(%ebp)
2ada: 8d 83 ff 0f 00 00 lea 0xfff(%ebx),%eax
2ae0: 25 00 f0 ff ff and $0xfffff000,%eax
2ae5: 8d 1c 07 lea (%edi,%eax,1),%ebx
2ae8: 8d 87 00 00 00 40 lea 0x40000000(%edi),%eax
2aee: c1 e8 0c shr $0xc,%eax
2af1: c7 45 ec 01 00 00 00 movl $0x1,-0x14(%ebp)
2af8: c1 e0 05 shl $0x5,%eax
2afb: d3 65 ec shll %cl,-0x14(%ebp)
2afe: 03 05 00 00 00 00 add 0x0,%eax
2b04: 83 7d ec 01 cmpl $0x1,-0x14(%ebp)
2b08: 7e 35 jle 2b3f <alloc_pages_exact+0x9f>
2b0a: 8d 50 20 lea 0x20(%eax),%edx
2b0d: b8 01 00 00 00 mov $0x1,%eax
2b12: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
2b18: c7 42 04 01 00 00 00 movl $0x1,0x4(%edx)
2b1f: 83 c0 01 add $0x1,%eax
2b22: 83 c2 20 add $0x20,%edx
2b25: 3b 45 ec cmp -0x14(%ebp),%eax
2b28: 7c ee jl 2b18 <alloc_pages_exact+0x78>
2b2a: 39 5d f0 cmp %ebx,-0x10(%ebp)
2b2d: 76 15 jbe 2b44 <alloc_pages_exact+0xa4>
2b2f: 90 nop
2b30: 89 d8 mov %ebx,%eax
2b32: 31 d2 xor %edx,%edx
2b34: e8 fc ff ff ff call 2b35 <alloc_pages_exact+0x95>
2b39: 81 c3 00 10 00 00 add $0x1000,%ebx
2b3f: 39 5d f0 cmp %ebx,-0x10(%ebp)
2b42: 77 ec ja 2b30 <alloc_pages_exact+0x90>
2b44: 83 c4 08 add $0x8,%esp
2b47: 89 f8 mov %edi,%eax
2b49: 5b pop %ebx
2b4a: 5e pop %esi
2b4b: 5f pop %edi
2b4c: 5d pop %ebp
2b4d: c3 ret
Disassembly of section .meminit.text:
00000000 <__early_pfn_to_nid>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 57 push %edi
4: 8b 3d 20 0c 00 00 mov 0xc20,%edi
a: 56 push %esi
b: 89 c6 mov %eax,%esi
d: 53 push %ebx
e: 85 ff test %edi,%edi
10: 7e 43 jle 55 <__early_pfn_to_nid+0x55>
12: 39 05 20 00 00 00 cmp %eax,0x20
18: 77 19 ja 33 <__early_pfn_to_nid+0x33>
1a: 31 db xor %ebx,%ebx
1c: 3b 05 24 00 00 00 cmp 0x24,%eax
22: 73 0f jae 33 <__early_pfn_to_nid+0x33>
24: 8d 04 5b lea (%ebx,%ebx,2),%eax
27: 8b 04 85 28 00 00 00 mov 0x28(,%eax,4),%eax
2e: 5b pop %ebx
2f: 5e pop %esi
30: 5f pop %edi
31: 5d pop %ebp
32: c3 ret
33: b9 2c 00 00 00 mov $0x2c,%ecx
38: 31 db xor %ebx,%ebx
3a: eb 12 jmp 4e <__early_pfn_to_nid+0x4e>
3c: 39 31 cmp %esi,(%ecx)
3e: 0f 96 c2 setbe %dl
41: 3b 71 04 cmp 0x4(%ecx),%esi
44: 0f 92 c0 setb %al
47: 83 c1 0c add $0xc,%ecx
4a: 84 c2 test %al,%dl
4c: 75 d6 jne 24 <__early_pfn_to_nid+0x24>
4e: 83 c3 01 add $0x1,%ebx
51: 39 fb cmp %edi,%ebx
53: 7c e7 jl 3c <__early_pfn_to_nid+0x3c>
55: b8 ff ff ff ff mov $0xffffffff,%eax
5a: eb d2 jmp 2e <__early_pfn_to_nid+0x2e>
0000005c <early_pfn_to_nid>:
5c: 55 push %ebp
5d: 89 e5 mov %esp,%ebp
5f: 57 push %edi
60: 8b 3d 20 0c 00 00 mov 0xc20,%edi
66: 56 push %esi
67: 89 c6 mov %eax,%esi
69: 53 push %ebx
6a: 85 ff test %edi,%edi
6c: 7e 4c jle ba <early_pfn_to_nid+0x5e>
6e: 3b 05 20 00 00 00 cmp 0x20,%eax
74: 72 22 jb 98 <early_pfn_to_nid+0x3c>
76: 31 db xor %ebx,%ebx
78: 3b 05 24 00 00 00 cmp 0x24,%eax
7e: 73 18 jae 98 <early_pfn_to_nid+0x3c>
80: 8d 04 5b lea (%ebx,%ebx,2),%eax
83: 31 d2 xor %edx,%edx
85: 8b 04 85 28 00 00 00 mov 0x28(,%eax,4),%eax
8c: 85 c0 test %eax,%eax
8e: 0f 49 d0 cmovns %eax,%edx
91: 89 d0 mov %edx,%eax
93: 5b pop %ebx
94: 5e pop %esi
95: 5f pop %edi
96: 5d pop %ebp
97: c3 ret
98: b9 2c 00 00 00 mov $0x2c,%ecx
9d: 31 db xor %ebx,%ebx
9f: eb 12 jmp b3 <early_pfn_to_nid+0x57>
a1: 3b 31 cmp (%ecx),%esi
a3: 0f 93 c2 setae %dl
a6: 3b 71 04 cmp 0x4(%ecx),%esi
a9: 0f 92 c0 setb %al
ac: 83 c1 0c add $0xc,%ecx
af: 84 c2 test %al,%dl
b1: 75 cd jne 80 <early_pfn_to_nid+0x24>
b3: 83 c3 01 add $0x1,%ebx
b6: 39 fb cmp %edi,%ebx
b8: 7c e7 jl a1 <early_pfn_to_nid+0x45>
ba: 31 d2 xor %edx,%edx
bc: eb d3 jmp 91 <early_pfn_to_nid+0x35>
000000be <get_pfn_range_for_nid>:
be: 55 push %ebp
bf: 89 e5 mov %esp,%ebp
c1: 57 push %edi
c2: 89 c7 mov %eax,%edi
c4: 56 push %esi
c5: 53 push %ebx
c6: 83 ec 08 sub $0x8,%esp
c9: 89 4d ec mov %ecx,-0x14(%ebp)
cc: 89 55 f0 mov %edx,-0x10(%ebp)
cf: c7 02 ff ff ff ff movl $0xffffffff,(%edx)
d5: 8b 45 ec mov -0x14(%ebp),%eax
d8: c7 00 00 00 00 00 movl $0x0,(%eax)
de: 8b 35 20 0c 00 00 mov 0xc20,%esi
e4: 85 f6 test %esi,%esi
e6: 7e 26 jle 10e <get_pfn_range_for_nid+0x50>
e8: 83 ff 01 cmp $0x1,%edi
eb: 74 3b je 128 <get_pfn_range_for_nid+0x6a>
ed: 31 c9 xor %ecx,%ecx
ef: ba 34 00 00 00 mov $0x34,%edx
f4: 3b 3d 28 00 00 00 cmp 0x28,%edi
fa: 75 0b jne 107 <get_pfn_range_for_nid+0x49>
fc: eb 2a jmp 128 <get_pfn_range_for_nid+0x6a>
fe: 8b 02 mov (%edx),%eax
100: 83 c2 0c add $0xc,%edx
103: 39 c7 cmp %eax,%edi
105: 74 23 je 12a <get_pfn_range_for_nid+0x6c>
107: 83 c1 01 add $0x1,%ecx
10a: 39 f1 cmp %esi,%ecx
10c: 7c f0 jl fe <get_pfn_range_for_nid+0x40>
10e: 8b 5d f0 mov -0x10(%ebp),%ebx
111: ba 00 00 00 00 mov $0x0,%edx
116: 8b 03 mov (%ebx),%eax
118: 83 f8 ff cmp $0xffffffff,%eax
11b: 0f 44 c2 cmove %edx,%eax
11e: 89 03 mov %eax,(%ebx)
120: 83 c4 08 add $0x8,%esp
123: 5b pop %ebx
124: 5e pop %esi
125: 5f pop %edi
126: 5d pop %ebp
127: c3 ret
128: 31 c9 xor %ecx,%ecx
12a: 8b 5d f0 mov -0x10(%ebp),%ebx
12d: 8d 04 49 lea (%ecx,%ecx,2),%eax
130: 8b 14 85 20 00 00 00 mov 0x20(,%eax,4),%edx
137: 39 13 cmp %edx,(%ebx)
139: 0f 46 13 cmovbe (%ebx),%edx
13c: 89 13 mov %edx,(%ebx)
13e: 8b 55 ec mov -0x14(%ebp),%edx
141: 8d 59 01 lea 0x1(%ecx),%ebx
144: 8b 04 85 24 00 00 00 mov 0x24(,%eax,4),%eax
14b: 39 02 cmp %eax,(%edx)
14d: 0f 43 02 cmovae (%edx),%eax
150: 39 f3 cmp %esi,%ebx
152: 89 02 mov %eax,(%edx)
154: 7d b8 jge 10e <get_pfn_range_for_nid+0x50>
156: 83 ff 01 cmp $0x1,%edi
159: 74 2b je 186 <get_pfn_range_for_nid+0xc8>
15b: 8d 14 5b lea (%ebx,%ebx,2),%edx
15e: 3b 3c 95 28 00 00 00 cmp 0x28(,%edx,4),%edi
165: 8d 44 49 06 lea 0x6(%ecx,%ecx,2),%eax
169: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
170: 75 0b jne 17d <get_pfn_range_for_nid+0xbf>
172: eb 12 jmp 186 <get_pfn_range_for_nid+0xc8>
174: 8b 01 mov (%ecx),%eax
176: 83 c1 0c add $0xc,%ecx
179: 39 c7 cmp %eax,%edi
17b: 74 09 je 186 <get_pfn_range_for_nid+0xc8>
17d: 83 c3 01 add $0x1,%ebx
180: 39 f3 cmp %esi,%ebx
182: 7c f0 jl 174 <get_pfn_range_for_nid+0xb6>
184: eb 88 jmp 10e <get_pfn_range_for_nid+0x50>
186: 89 d9 mov %ebx,%ecx
188: eb a0 jmp 12a <get_pfn_range_for_nid+0x6c>
0000018a <zone_spanned_pages_in_node>:
18a: 55 push %ebp
18b: 89 e5 mov %esp,%ebp
18d: 57 push %edi
18e: 56 push %esi
18f: 89 d6 mov %edx,%esi
191: 53 push %ebx
192: 89 c3 mov %eax,%ebx
194: 83 ec 0c sub $0xc,%esp
197: 8d 55 f0 lea -0x10(%ebp),%edx
19a: 8d 4d ec lea -0x14(%ebp),%ecx
19d: e8 fc ff ff ff call 19e <zone_spanned_pages_in_node+0x14>
1a2: 8b 55 ec mov -0x14(%ebp),%edx
1a5: 8b 3c b5 24 0c 00 00 mov 0xc24(,%esi,4),%edi
1ac: 8b 04 b5 34 0c 00 00 mov 0xc34(,%esi,4),%eax
1b3: 89 55 e8 mov %edx,-0x18(%ebp)
1b6: 8b 14 9d 44 0c 00 00 mov 0xc44(,%ebx,4),%edx
1bd: 85 d2 test %edx,%edx
1bf: 74 35 je 1f6 <zone_spanned_pages_in_node+0x6c>
1c1: 83 fe 03 cmp $0x3,%esi
1c4: 74 3c je 202 <zone_spanned_pages_in_node+0x78>
1c6: 39 d7 cmp %edx,%edi
1c8: 72 28 jb 1f2 <zone_spanned_pages_in_node+0x68>
1ca: 89 c7 mov %eax,%edi
1cc: 89 c2 mov %eax,%edx
1ce: 8b 4d f0 mov -0x10(%ebp),%ecx
1d1: 39 d1 cmp %edx,%ecx
1d3: 77 25 ja 1fa <zone_spanned_pages_in_node+0x70>
1d5: 39 7d e8 cmp %edi,-0x18(%ebp)
1d8: 72 20 jb 1fa <zone_spanned_pages_in_node+0x70>
1da: 8b 45 e8 mov -0x18(%ebp),%eax
1dd: 3b 55 e8 cmp -0x18(%ebp),%edx
1e0: 0f 46 c2 cmovbe %edx,%eax
1e3: 39 cf cmp %ecx,%edi
1e5: 0f 43 cf cmovae %edi,%ecx
1e8: 29 c8 sub %ecx,%eax
1ea: 83 c4 0c add $0xc,%esp
1ed: 5b pop %ebx
1ee: 5e pop %esi
1ef: 5f pop %edi
1f0: 5d pop %ebp
1f1: c3 ret
1f2: 39 d0 cmp %edx,%eax
1f4: 77 d8 ja 1ce <zone_spanned_pages_in_node+0x44>
1f6: 89 c2 mov %eax,%edx
1f8: eb d4 jmp 1ce <zone_spanned_pages_in_node+0x44>
1fa: 31 c0 xor %eax,%eax
1fc: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
200: eb e8 jmp 1ea <zone_spanned_pages_in_node+0x60>
202: a1 00 00 00 00 mov 0x0,%eax
207: 89 d7 mov %edx,%edi
209: 8b 4d e8 mov -0x18(%ebp),%ecx
20c: 39 0c 85 34 0c 00 00 cmp %ecx,0xc34(,%eax,4)
213: 89 ca mov %ecx,%edx
215: 0f 46 14 85 34 0c 00 cmovbe 0xc34(,%eax,4),%edx
21c: 00
21d: eb af jmp 1ce <zone_spanned_pages_in_node+0x44>
0000021f <__absent_pages_in_range>:
21f: 55 push %ebp
220: 89 e5 mov %esp,%ebp
222: 57 push %edi
223: 89 c7 mov %eax,%edi
225: 56 push %esi
226: 53 push %ebx
227: 83 ec 10 sub $0x10,%esp
22a: 8b 35 20 0c 00 00 mov 0xc20,%esi
230: 89 55 e8 mov %edx,-0x18(%ebp)
233: 89 4d e4 mov %ecx,-0x1c(%ebp)
236: 85 f6 test %esi,%esi
238: 7e 2d jle 267 <__absent_pages_in_range+0x48>
23a: 83 f8 01 cmp $0x1,%eax
23d: 0f 84 e0 00 00 00 je 323 <__absent_pages_in_range+0x104>
243: 31 d2 xor %edx,%edx
245: bb 34 00 00 00 mov $0x34,%ebx
24a: 3b 05 28 00 00 00 cmp 0x28,%eax
250: 75 0e jne 260 <__absent_pages_in_range+0x41>
252: e9 cc 00 00 00 jmp 323 <__absent_pages_in_range+0x104>
257: 8b 03 mov (%ebx),%eax
259: 83 c3 0c add $0xc,%ebx
25c: 39 c7 cmp %eax,%edi
25e: 74 19 je 279 <__absent_pages_in_range+0x5a>
260: 83 c2 01 add $0x1,%edx
263: 39 f2 cmp %esi,%edx
265: 7c f0 jl 257 <__absent_pages_in_range+0x38>
267: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
26e: 8b 45 f0 mov -0x10(%ebp),%eax
271: 83 c4 10 add $0x10,%esp
274: 5b pop %ebx
275: 5e pop %esi
276: 5f pop %edi
277: 5d pop %ebp
278: c3 ret
279: 89 d1 mov %edx,%ecx
27b: 8d 04 52 lea (%edx,%edx,2),%eax
27e: 8b 14 85 20 00 00 00 mov 0x20(,%eax,4),%edx
285: 8b 45 e4 mov -0x1c(%ebp),%eax
288: 39 55 e4 cmp %edx,-0x1c(%ebp)
28b: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
292: 0f 47 c2 cmova %edx,%eax
295: 89 45 ec mov %eax,-0x14(%ebp)
298: 2b 45 e8 sub -0x18(%ebp),%eax
29b: 3b 55 e8 cmp -0x18(%ebp),%edx
29e: 0f 46 45 f0 cmovbe -0x10(%ebp),%eax
2a2: 89 45 f0 mov %eax,-0x10(%ebp)
2a5: 8b 45 ec mov -0x14(%ebp),%eax
2a8: 39 45 e4 cmp %eax,-0x1c(%ebp)
2ab: 76 c1 jbe 26e <__absent_pages_in_range+0x4f>
2ad: 3b 55 e4 cmp -0x1c(%ebp),%edx
2b0: 0f 47 55 e4 cmova -0x1c(%ebp),%edx
2b4: 39 55 e8 cmp %edx,-0x18(%ebp)
2b7: 0f 82 8c 00 00 00 jb 349 <__absent_pages_in_range+0x12a>
2bd: 8d 04 49 lea (%ecx,%ecx,2),%eax
2c0: 8b 04 85 24 00 00 00 mov 0x24(,%eax,4),%eax
2c7: 8d 59 01 lea 0x1(%ecx),%ebx
2ca: 39 f3 cmp %esi,%ebx
2cc: 89 45 ec mov %eax,-0x14(%ebp)
2cf: 7d 2e jge 2ff <__absent_pages_in_range+0xe0>
2d1: 83 ff 01 cmp $0x1,%edi
2d4: 74 56 je 32c <__absent_pages_in_range+0x10d>
2d6: 8d 14 5b lea (%ebx,%ebx,2),%edx
2d9: 3b 3c 95 28 00 00 00 cmp 0x28(,%edx,4),%edi
2e0: 8d 44 49 06 lea 0x6(%ecx,%ecx,2),%eax
2e4: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
2eb: 75 0b jne 2f8 <__absent_pages_in_range+0xd9>
2ed: eb 3d jmp 32c <__absent_pages_in_range+0x10d>
2ef: 8b 01 mov (%ecx),%eax
2f1: 83 c1 0c add $0xc,%ecx
2f4: 39 c7 cmp %eax,%edi
2f6: 74 34 je 32c <__absent_pages_in_range+0x10d>
2f8: 83 c3 01 add $0x1,%ebx
2fb: 39 f3 cmp %esi,%ebx
2fd: 7c f0 jl 2ef <__absent_pages_in_range+0xd0>
2ff: 8b 45 ec mov -0x14(%ebp),%eax
302: 39 45 e4 cmp %eax,-0x1c(%ebp)
305: 0f 86 63 ff ff ff jbe 26e <__absent_pages_in_range+0x4f>
30b: 8b 45 e4 mov -0x1c(%ebp),%eax
30e: 01 45 f0 add %eax,-0x10(%ebp)
311: 8b 45 e8 mov -0x18(%ebp),%eax
314: 39 45 ec cmp %eax,-0x14(%ebp)
317: 0f 43 45 ec cmovae -0x14(%ebp),%eax
31b: 29 45 f0 sub %eax,-0x10(%ebp)
31e: e9 4b ff ff ff jmp 26e <__absent_pages_in_range+0x4f>
323: 31 d2 xor %edx,%edx
325: 31 c9 xor %ecx,%ecx
327: e9 4f ff ff ff jmp 27b <__absent_pages_in_range+0x5c>
32c: 8b 45 ec mov -0x14(%ebp),%eax
32f: 39 45 e4 cmp %eax,-0x1c(%ebp)
332: 0f 86 36 ff ff ff jbe 26e <__absent_pages_in_range+0x4f>
338: 8d 04 5b lea (%ebx,%ebx,2),%eax
33b: 89 d9 mov %ebx,%ecx
33d: 8b 14 85 20 00 00 00 mov 0x20(,%eax,4),%edx
344: e9 64 ff ff ff jmp 2ad <__absent_pages_in_range+0x8e>
349: 8b 45 e8 mov -0x18(%ebp),%eax
34c: 39 45 ec cmp %eax,-0x14(%ebp)
34f: 0f 43 45 ec cmovae -0x14(%ebp),%eax
353: 39 c2 cmp %eax,%edx
355: 72 0b jb 362 <__absent_pages_in_range+0x143>
357: 01 55 f0 add %edx,-0x10(%ebp)
35a: 29 45 f0 sub %eax,-0x10(%ebp)
35d: e9 5b ff ff ff jmp 2bd <__absent_pages_in_range+0x9e>
362: 0f 0b ud2a
364: eb fe jmp 364 <__absent_pages_in_range+0x145>
00000366 <zone_absent_pages_in_node>:
366: 55 push %ebp
367: 89 e5 mov %esp,%ebp
369: 57 push %edi
36a: 89 c7 mov %eax,%edi
36c: 56 push %esi
36d: 53 push %ebx
36e: 89 d3 mov %edx,%ebx
370: 83 ec 08 sub $0x8,%esp
373: 8d 4d ec lea -0x14(%ebp),%ecx
376: 8d 55 f0 lea -0x10(%ebp),%edx
379: e8 fc ff ff ff call 37a <zone_absent_pages_in_node+0x14>
37e: 8b 45 f0 mov -0x10(%ebp),%eax
381: 8b 55 ec mov -0x14(%ebp),%edx
384: 8b 0c bd 44 0c 00 00 mov 0xc44(,%edi,4),%ecx
38b: 39 04 9d 24 0c 00 00 cmp %eax,0xc24(,%ebx,4)
392: 89 c6 mov %eax,%esi
394: 89 d0 mov %edx,%eax
396: 0f 43 34 9d 24 0c 00 cmovae 0xc24(,%ebx,4),%esi
39d: 00
39e: 39 14 9d 34 0c 00 00 cmp %edx,0xc34(,%ebx,4)
3a5: 0f 46 04 9d 34 0c 00 cmovbe 0xc34(,%ebx,4),%eax
3ac: 00
3ad: 85 c9 test %ecx,%ecx
3af: 74 22 je 3d3 <zone_absent_pages_in_node+0x6d>
3b1: 83 fb 03 cmp $0x3,%ebx
3b4: 74 24 je 3da <zone_absent_pages_in_node+0x74>
3b6: 39 ce cmp %ecx,%esi
3b8: 72 15 jb 3cf <zone_absent_pages_in_node+0x69>
3ba: 89 c6 mov %eax,%esi
3bc: 89 c1 mov %eax,%ecx
3be: 89 f2 mov %esi,%edx
3c0: 89 f8 mov %edi,%eax
3c2: e8 58 fe ff ff call 21f <__absent_pages_in_range>
3c7: 83 c4 08 add $0x8,%esp
3ca: 5b pop %ebx
3cb: 5e pop %esi
3cc: 5f pop %edi
3cd: 5d pop %ebp
3ce: c3 ret
3cf: 39 c8 cmp %ecx,%eax
3d1: 77 eb ja 3be <zone_absent_pages_in_node+0x58>
3d3: 89 c1 mov %eax,%ecx
3d5: 8d 76 00 lea 0x0(%esi),%esi
3d8: eb e4 jmp 3be <zone_absent_pages_in_node+0x58>
3da: a1 00 00 00 00 mov 0x0,%eax
3df: 89 ce mov %ecx,%esi
3e1: 89 d1 mov %edx,%ecx
3e3: 39 14 85 34 0c 00 00 cmp %edx,0xc34(,%eax,4)
3ea: 0f 46 0c 85 34 0c 00 cmovbe 0xc34(,%eax,4),%ecx
3f1: 00
3f2: eb ca jmp 3be <zone_absent_pages_in_node+0x58>
000003f4 <init_currently_empty_zone>:
3f4: 55 push %ebp
3f5: 89 e5 mov %esp,%ebp
3f7: 57 push %edi
3f8: 89 c7 mov %eax,%edi
3fa: 56 push %esi
3fb: 89 ce mov %ecx,%esi
3fd: 53 push %ebx
3fe: 89 d3 mov %edx,%ebx
400: 83 ec 20 sub $0x20,%esp
403: 8b 80 8c 07 00 00 mov 0x78c(%eax),%eax
409: 89 ca mov %ecx,%edx
40b: 89 45 e8 mov %eax,-0x18(%ebp)
40e: 89 f8 mov %edi,%eax
410: e8 ac 00 00 00 call 4c1 <init_currently_empty_zone+0xcd>
415: 85 c0 test %eax,%eax
417: 89 45 ec mov %eax,-0x14(%ebp)
41a: 75 70 jne 48c <init_currently_empty_zone+0x98>
41c: 89 f8 mov %edi,%eax
41e: 8b 55 e8 mov -0x18(%ebp),%edx
421: 2b 87 8c 07 00 00 sub 0x78c(%edi),%eax
427: c1 f8 0b sar $0xb,%eax
42a: 83 c0 01 add $0x1,%eax
42d: 89 82 2c 20 00 00 mov %eax,0x202c(%edx)
433: 89 9f 90 07 00 00 mov %ebx,0x790(%edi)
439: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
440: 7f 55 jg 497 <init_currently_empty_zone+0xa3>
442: 89 fb mov %edi,%ebx
444: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
44b: 6b 45 f0 2c imul $0x2c,-0x10(%ebp),%eax
44f: 31 d2 xor %edx,%edx
451: 8d 8c 07 84 04 00 00 lea 0x484(%edi,%eax,1),%ecx
458: 89 c6 mov %eax,%esi
45a: 8d 84 d6 80 04 00 00 lea 0x480(%esi,%edx,8),%eax
461: 83 c2 01 add $0x1,%edx
464: 8d 44 07 04 lea 0x4(%edi,%eax,1),%eax
468: 89 01 mov %eax,(%ecx)
46a: 89 41 04 mov %eax,0x4(%ecx)
46d: 83 c1 08 add $0x8,%ecx
470: 83 fa 05 cmp $0x5,%edx
473: c7 83 ac 04 00 00 00 movl $0x0,0x4ac(%ebx)
47a: 00 00 00
47d: 75 db jne 45a <init_currently_empty_zone+0x66>
47f: 83 45 f0 01 addl $0x1,-0x10(%ebp)
483: 83 c3 2c add $0x2c,%ebx
486: 83 7d f0 0b cmpl $0xb,-0x10(%ebp)
48a: 75 bf jne 44b <init_currently_empty_zone+0x57>
48c: 8b 45 ec mov -0x14(%ebp),%eax
48f: 83 c4 20 add $0x20,%esp
492: 5b pop %ebx
493: 5e pop %esi
494: 5f pop %edi
495: 5d pop %ebp
496: c3 ret
497: c7 04 24 10 00 00 00 movl $0x10,(%esp)
49e: e8 fc ff ff ff call 49f <init_currently_empty_zone+0xab>
4a3: 8d 04 1e lea (%esi,%ebx,1),%eax
4a6: 8b 55 e8 mov -0x18(%ebp),%edx
4a9: 89 44 24 10 mov %eax,0x10(%esp)
4ad: 89 f8 mov %edi,%eax
4af: 2b 87 8c 07 00 00 sub 0x78c(%edi),%eax
4b5: 89 5c 24 0c mov %ebx,0xc(%esp)
4b9: c1 f8 0b sar $0xb,%eax
4bc: 89 44 24 08 mov %eax,0x8(%esp)
4c0: 8b 82 44 20 00 00 mov 0x2044(%edx),%eax
4c6: c7 04 24 dc 00 00 00 movl $0xdc,(%esp)
4cd: 89 44 24 04 mov %eax,0x4(%esp)
4d1: e8 fc ff ff ff call 4d2 <init_currently_empty_zone+0xde>
4d6: e9 67 ff ff ff jmp 442 <init_currently_empty_zone+0x4e>
000004db <memmap_init_zone>:
4db: 55 push %ebp
4dc: 89 e5 mov %esp,%ebp
4de: 57 push %edi
4df: 56 push %esi
4e0: 53 push %ebx
4e1: 83 ec 18 sub $0x18,%esp
4e4: 89 55 e4 mov %edx,-0x1c(%ebp)
4e7: 8b 55 08 mov 0x8(%ebp),%edx
4ea: 89 4d e0 mov %ecx,-0x20(%ebp)
4ed: 8d 04 02 lea (%edx,%eax,1),%eax
4f0: 89 45 e8 mov %eax,-0x18(%ebp)
4f3: 83 e8 01 sub $0x1,%eax
4f6: 3b 05 00 00 00 00 cmp 0x0,%eax
4fc: 76 05 jbe 503 <memmap_init_zone+0x28>
4fe: a3 00 00 00 00 mov %eax,0x0
503: 8b 45 e0 mov -0x20(%ebp),%eax
506: c1 e0 0b shl $0xb,%eax
509: 05 00 00 00 00 add $0x0,%eax
50e: 3b 55 e8 cmp -0x18(%ebp),%edx
511: 89 45 ec mov %eax,-0x14(%ebp)
514: 73 7d jae 593 <memmap_init_zone+0xb8>
516: 8b 45 e0 mov -0x20(%ebp),%eax
519: 89 d7 mov %edx,%edi
51b: 89 d6 mov %edx,%esi
51d: c1 e7 05 shl $0x5,%edi
520: c1 e0 1e shl $0x1e,%eax
523: 89 45 f0 mov %eax,-0x10(%ebp)
526: 89 fb mov %edi,%ebx
528: 03 1d 00 00 00 00 add 0x0,%ebx
52e: 8b 03 mov (%ebx),%eax
530: 25 ff ff ff 3f and $0x3fffffff,%eax
535: 0b 45 f0 or -0x10(%ebp),%eax
538: 89 03 mov %eax,(%ebx)
53a: 8b 4d e4 mov -0x1c(%ebp),%ecx
53d: 89 d8 mov %ebx,%eax
53f: 8b 55 e0 mov -0x20(%ebp),%edx
542: 89 34 24 mov %esi,(%esp)
545: e8 fc ff ff ff call 546 <memmap_init_zone+0x6b>
54a: 8d 43 01 lea 0x1(%ebx),%eax
54d: c7 43 04 01 00 00 00 movl $0x1,0x4(%ebx)
554: c7 43 08 ff ff ff ff movl $0xffffffff,0x8(%ebx)
55b: f0 80 4b 01 04 lock orb $0x4,0x1(%ebx)
560: 8b 55 ec mov -0x14(%ebp),%edx
563: 8b 82 90 07 00 00 mov 0x790(%edx),%eax
569: 39 c6 cmp %eax,%esi
56b: 72 12 jb 57f <memmap_init_zone+0xa4>
56d: 03 82 94 07 00 00 add 0x794(%edx),%eax
573: 39 c6 cmp %eax,%esi
575: 73 08 jae 57f <memmap_init_zone+0xa4>
577: f7 c6 ff 01 00 00 test $0x1ff,%esi
57d: 74 1c je 59b <memmap_init_zone+0xc0>
57f: 8d 43 18 lea 0x18(%ebx),%eax
582: 83 c6 01 add $0x1,%esi
585: 89 43 18 mov %eax,0x18(%ebx)
588: 83 c7 20 add $0x20,%edi
58b: 89 43 1c mov %eax,0x1c(%ebx)
58e: 39 75 e8 cmp %esi,-0x18(%ebp)
591: 77 93 ja 526 <memmap_init_zone+0x4b>
593: 83 c4 18 add $0x18,%esp
596: 5b pop %ebx
597: 5e pop %esi
598: 5f pop %edi
599: 5d pop %ebp
59a: c3 ret
59b: 31 c9 xor %ecx,%ecx
59d: ba 02 00 00 00 mov $0x2,%edx
5a2: 89 d8 mov %ebx,%eax
5a4: c7 04 24 02 00 00 00 movl $0x2,(%esp)
5ab: e8 fc ff ff ff call 5ac <memmap_init_zone+0xd1>
5b0: eb cd jmp 57f <memmap_init_zone+0xa4>
000005b2 <__free_pages_bootmem>:
5b2: 55 push %ebp
5b3: 85 d2 test %edx,%edx
5b5: 89 e5 mov %esp,%ebp
5b7: 56 push %esi
5b8: 89 d6 mov %edx,%esi
5ba: 53 push %ebx
5bb: 89 c3 mov %eax,%ebx
5bd: 74 3b je 5fa <__free_pages_bootmem+0x48>
5bf: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
5c3: 89 c1 mov %eax,%ecx
5c5: 31 c0 xor %eax,%eax
5c7: 83 f8 1f cmp $0x1f,%eax
5ca: 8d 51 20 lea 0x20(%ecx),%edx
5cd: 74 04 je 5d3 <__free_pages_bootmem+0x21>
5cf: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
5d3: 0f ba 31 0a btrl $0xa,(%ecx)
5d7: 83 c0 01 add $0x1,%eax
5da: 83 f8 20 cmp $0x20,%eax
5dd: c7 41 04 00 00 00 00 movl $0x0,0x4(%ecx)
5e4: 89 d1 mov %edx,%ecx
5e6: 75 df jne 5c7 <__free_pages_bootmem+0x15>
5e8: c7 43 04 01 00 00 00 movl $0x1,0x4(%ebx)
5ef: 89 f2 mov %esi,%edx
5f1: 89 d8 mov %ebx,%eax
5f3: e8 fc ff ff ff call 5f4 <__free_pages_bootmem+0x42>
5f8: eb 19 jmp 613 <__free_pages_bootmem+0x61>
5fa: 0f ba 30 0a btrl $0xa,(%eax)
5fe: 31 d2 xor %edx,%edx
600: c7 40 04 00 00 00 00 movl $0x0,0x4(%eax)
607: c7 40 04 01 00 00 00 movl $0x1,0x4(%eax)
60e: e8 fc ff ff ff call 60f <__free_pages_bootmem+0x5d>
613: 5b pop %ebx
614: 5e pop %esi
615: 5d pop %ebp
616: c3 ret
Disassembly of section .init.text:
00000000 <work_with_active_regions>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 57 push %edi
4: 56 push %esi
5: 53 push %ebx
6: 83 ec 0c sub $0xc,%esp
9: 89 4d e8 mov %ecx,-0x18(%ebp)
c: 8b 0d 20 0c 00 00 mov 0xc20,%ecx
12: 89 45 f0 mov %eax,-0x10(%ebp)
15: 89 55 ec mov %edx,-0x14(%ebp)
18: 85 c9 test %ecx,%ecx
1a: 7e 2b jle 47 <work_with_active_regions+0x47>
1c: 83 f8 01 cmp $0x1,%eax
1f: 0f 84 8e 00 00 00 je b3 <work_with_active_regions+0xb3>
25: 31 f6 xor %esi,%esi
27: ba 34 00 00 00 mov $0x34,%edx
2c: 3b 05 28 00 00 00 cmp 0x28,%eax
32: 75 0c jne 40 <work_with_active_regions+0x40>
34: eb 7d jmp b3 <work_with_active_regions+0xb3>
36: 8b 02 mov (%edx),%eax
38: 83 c2 0c add $0xc,%edx
3b: 39 45 f0 cmp %eax,-0x10(%ebp)
3e: 74 16 je 56 <work_with_active_regions+0x56>
40: 83 c6 01 add $0x1,%esi
43: 39 ce cmp %ecx,%esi
45: 7c ef jl 36 <work_with_active_regions+0x36>
47: 83 c4 0c add $0xc,%esp
4a: 5b pop %ebx
4b: 5e pop %esi
4c: 5f pop %edi
4d: 5d pop %ebp
4e: c3 ret
4f: 83 fb ff cmp $0xffffffff,%ebx
52: 74 f3 je 47 <work_with_active_regions+0x47>
54: 89 de mov %ebx,%esi
56: 8d 04 76 lea (%esi,%esi,2),%eax
59: 8b 4d e8 mov -0x18(%ebp),%ecx
5c: 8b 14 85 24 00 00 00 mov 0x24(,%eax,4),%edx
63: 8b 04 85 20 00 00 00 mov 0x20(,%eax,4),%eax
6a: ff 55 ec call *-0x14(%ebp)
6d: 85 c0 test %eax,%eax
6f: 75 d6 jne 47 <work_with_active_regions+0x47>
71: 8b 3d 20 0c 00 00 mov 0xc20,%edi
77: 8d 5e 01 lea 0x1(%esi),%ebx
7a: 39 fb cmp %edi,%ebx
7c: 7d c9 jge 47 <work_with_active_regions+0x47>
7e: 83 7d f0 01 cmpl $0x1,-0x10(%ebp)
82: 74 cb je 4f <work_with_active_regions+0x4f>
84: 8d 44 76 06 lea 0x6(%esi,%esi,2),%eax
88: 8d 14 5b lea (%ebx,%ebx,2),%edx
8b: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
92: 8b 45 f0 mov -0x10(%ebp),%eax
95: 3b 04 95 28 00 00 00 cmp 0x28(,%edx,4),%eax
9c: 75 0c jne aa <work_with_active_regions+0xaa>
9e: eb af jmp 4f <work_with_active_regions+0x4f>
a0: 8b 01 mov (%ecx),%eax
a2: 83 c1 0c add $0xc,%ecx
a5: 39 45 f0 cmp %eax,-0x10(%ebp)
a8: 74 a5 je 4f <work_with_active_regions+0x4f>
aa: 83 c3 01 add $0x1,%ebx
ad: 39 fb cmp %edi,%ebx
af: 7c ef jl a0 <work_with_active_regions+0xa0>
b1: eb 94 jmp 47 <work_with_active_regions+0x47>
b3: 31 f6 xor %esi,%esi
b5: 8d 76 00 lea 0x0(%esi),%esi
b8: eb 9c jmp 56 <work_with_active_regions+0x56>
000000ba <sparse_memory_present_with_active_regions>:
ba: 55 push %ebp
bb: 89 e5 mov %esp,%ebp
bd: 57 push %edi
be: 89 c7 mov %eax,%edi
c0: 56 push %esi
c1: 8b 35 20 0c 00 00 mov 0xc20,%esi
c7: 53 push %ebx
c8: 85 f6 test %esi,%esi
ca: 7e 26 jle f2 <sparse_memory_present_with_active_regions+0x38>
cc: 83 f8 01 cmp $0x1,%eax
cf: 74 26 je f7 <sparse_memory_present_with_active_regions+0x3d>
d1: 31 c9 xor %ecx,%ecx
d3: ba 34 00 00 00 mov $0x34,%edx
d8: 3b 05 28 00 00 00 cmp 0x28,%eax
de: 75 0b jne eb <sparse_memory_present_with_active_regions+0x31>
e0: eb 15 jmp f7 <sparse_memory_present_with_active_regions+0x3d>
e2: 8b 02 mov (%edx),%eax
e4: 83 c2 0c add $0xc,%edx
e7: 39 c7 cmp %eax,%edi
e9: 74 0e je f9 <sparse_memory_present_with_active_regions+0x3f>
eb: 83 c1 01 add $0x1,%ecx
ee: 39 f1 cmp %esi,%ecx
f0: 7c f0 jl e2 <sparse_memory_present_with_active_regions+0x28>
f2: 5b pop %ebx
f3: 5e pop %esi
f4: 5f pop %edi
f5: 5d pop %ebp
f6: c3 ret
f7: 31 c9 xor %ecx,%ecx
f9: 8d 59 01 lea 0x1(%ecx),%ebx
fc: 39 f3 cmp %esi,%ebx
fe: 7d f2 jge f2 <sparse_memory_present_with_active_regions+0x38>
100: 83 ff 01 cmp $0x1,%edi
103: 74 2b je 130 <sparse_memory_present_with_active_regions+0x76>
105: 8d 14 5b lea (%ebx,%ebx,2),%edx
108: 3b 3c 95 28 00 00 00 cmp 0x28(,%edx,4),%edi
10f: 8d 44 49 06 lea 0x6(%ecx,%ecx,2),%eax
113: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
11a: 75 0b jne 127 <sparse_memory_present_with_active_regions+0x6d>
11c: eb 12 jmp 130 <sparse_memory_present_with_active_regions+0x76>
11e: 8b 01 mov (%ecx),%eax
120: 83 c1 0c add $0xc,%ecx
123: 39 c7 cmp %eax,%edi
125: 74 09 je 130 <sparse_memory_present_with_active_regions+0x76>
127: 83 c3 01 add $0x1,%ebx
12a: 39 f3 cmp %esi,%ebx
12c: 7c f0 jl 11e <sparse_memory_present_with_active_regions+0x64>
12e: eb c2 jmp f2 <sparse_memory_present_with_active_regions+0x38>
130: 89 d9 mov %ebx,%ecx
132: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
138: eb bf jmp f9 <sparse_memory_present_with_active_regions+0x3f>
0000013a <push_node_boundaries>:
13a: 55 push %ebp
13b: 89 e5 mov %esp,%ebp
13d: 5d pop %ebp
13e: c3 ret
0000013f <absent_pages_in_range>:
13f: 55 push %ebp
140: 89 d1 mov %edx,%ecx
142: 89 e5 mov %esp,%ebp
144: 89 c2 mov %eax,%edx
146: b8 01 00 00 00 mov $0x1,%eax
14b: e8 1b 02 00 00 call 36b <add_active_range+0x92>
150: 5d pop %ebp
151: c3 ret
00000152 <remove_all_active_ranges>:
152: 55 push %ebp
153: b9 00 03 00 00 mov $0x300,%ecx
158: 89 e5 mov %esp,%ebp
15a: 31 c0 xor %eax,%eax
15c: 57 push %edi
15d: bf 20 00 00 00 mov $0x20,%edi
162: f3 ab rep stos %eax,%es:(%edi)
164: c7 05 20 0c 00 00 00 movl $0x0,0xc20
16b: 00 00 00
16e: 5f pop %edi
16f: 5d pop %ebp
170: c3 ret
00000171 <cmp_node_active_region>:
171: 55 push %ebp
172: 89 e5 mov %esp,%ebp
174: 53 push %ebx
175: 8b 12 mov (%edx),%edx
177: 89 c3 mov %eax,%ebx
179: 39 10 cmp %edx,(%eax)
17b: b8 01 00 00 00 mov $0x1,%eax
180: 19 c9 sbb %ecx,%ecx
182: 39 13 cmp %edx,(%ebx)
184: 5b pop %ebx
185: 5d pop %ebp
186: 0f 46 c1 cmovbe %ecx,%eax
189: c3 ret
0000018a <set_dma_reserve>:
18a: 55 push %ebp
18b: 89 e5 mov %esp,%ebp
18d: a3 00 00 00 00 mov %eax,0x0
192: 5d pop %ebp
193: c3 ret
00000194 <page_alloc_init>:
194: 55 push %ebp
195: 89 e5 mov %esp,%ebp
197: 5d pop %ebp
198: c3 ret
00000199 <cmdline_parse_core>:
199: 55 push %ebp
19a: 89 c1 mov %eax,%ecx
19c: 89 e5 mov %esp,%ebp
19e: 53 push %ebx
19f: 89 d3 mov %edx,%ebx
1a1: 83 ec 10 sub $0x10,%esp
1a4: 85 c9 test %ecx,%ecx
1a6: 89 45 f8 mov %eax,-0x8(%ebp)
1a9: b8 ea ff ff ff mov $0xffffffea,%eax
1ae: 74 1a je 1ca <cmdline_parse_core+0x31>
1b0: 8d 55 f8 lea -0x8(%ebp),%edx
1b3: 89 c8 mov %ecx,%eax
1b5: e8 fc ff ff ff call 1b6 <cmdline_parse_core+0x1d>
1ba: 0f ac d0 0c shrd $0xc,%edx,%eax
1be: c1 ea 0c shr $0xc,%edx
1c1: 89 03 mov %eax,(%ebx)
1c3: 31 c0 xor %eax,%eax
1c5: 83 fa 00 cmp $0x0,%edx
1c8: 77 06 ja 1d0 <cmdline_parse_core+0x37>
1ca: 83 c4 10 add $0x10,%esp
1cd: 5b pop %ebx
1ce: 5d pop %ebp
1cf: c3 ret
1d0: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp)
1d7: 00
1d8: c7 44 24 04 12 10 00 movl $0x1012,0x4(%esp)
1df: 00
1e0: c7 04 24 00 00 00 00 movl $0x0,(%esp)
1e7: e8 fc ff ff ff call 1e8 <cmdline_parse_core+0x4f>
1ec: 31 c0 xor %eax,%eax
1ee: eb da jmp 1ca <cmdline_parse_core+0x31>
000001f0 <cmdline_parse_kernelcore>:
1f0: 55 push %ebp
1f1: ba 00 00 00 00 mov $0x0,%edx
1f6: 89 e5 mov %esp,%ebp
1f8: e8 9c ff ff ff call 199 <cmdline_parse_core>
1fd: 5d pop %ebp
1fe: c3 ret
000001ff <cmdline_parse_movablecore>:
1ff: 55 push %ebp
200: ba 04 00 00 00 mov $0x4,%edx
205: 89 e5 mov %esp,%ebp
207: e8 8d ff ff ff call 199 <cmdline_parse_core>
20c: 5d pop %ebp
20d: c3 ret
0000020e <find_min_pfn_for_node>:
20e: 55 push %ebp
20f: 89 e5 mov %esp,%ebp
211: 57 push %edi
212: 56 push %esi
213: 89 c6 mov %eax,%esi
215: 53 push %ebx
216: 83 ec 0c sub $0xc,%esp
219: 8b 3d 20 0c 00 00 mov 0xc20,%edi
21f: 85 ff test %edi,%edi
221: 7e 26 jle 249 <find_min_pfn_for_node+0x3b>
223: 83 f8 01 cmp $0x1,%eax
226: 74 3b je 263 <find_min_pfn_for_node+0x55>
228: 31 c9 xor %ecx,%ecx
22a: ba 34 00 00 00 mov $0x34,%edx
22f: 3b 05 28 00 00 00 cmp 0x28,%eax
235: 75 0b jne 242 <find_min_pfn_for_node+0x34>
237: eb 2a jmp 263 <find_min_pfn_for_node+0x55>
239: 8b 02 mov (%edx),%eax
23b: 83 c2 0c add $0xc,%edx
23e: 39 c6 cmp %eax,%esi
240: 74 23 je 265 <find_min_pfn_for_node+0x57>
242: 83 c1 01 add $0x1,%ecx
245: 39 f9 cmp %edi,%ecx
247: 7c f0 jl 239 <find_min_pfn_for_node+0x2b>
249: 89 74 24 04 mov %esi,0x4(%esp)
24d: c7 04 24 00 00 00 00 movl $0x0,(%esp)
254: e8 fc ff ff ff call 255 <find_min_pfn_for_node+0x47>
259: 31 c0 xor %eax,%eax
25b: 83 c4 0c add $0xc,%esp
25e: 5b pop %ebx
25f: 5e pop %esi
260: 5f pop %edi
261: 5d pop %ebp
262: c3 ret
263: 31 c9 xor %ecx,%ecx
265: c7 45 f0 ff ff ff ff movl $0xffffffff,-0x10(%ebp)
26c: 8d 04 49 lea (%ecx,%ecx,2),%eax
26f: 8b 04 85 20 00 00 00 mov 0x20(,%eax,4),%eax
276: 8d 59 01 lea 0x1(%ecx),%ebx
279: 39 45 f0 cmp %eax,-0x10(%ebp)
27c: 0f 46 45 f0 cmovbe -0x10(%ebp),%eax
280: 39 fb cmp %edi,%ebx
282: 89 45 f0 mov %eax,-0x10(%ebp)
285: 7d 2e jge 2b5 <find_min_pfn_for_node+0xa7>
287: 83 fe 01 cmp $0x1,%esi
28a: 74 36 je 2c2 <find_min_pfn_for_node+0xb4>
28c: 8d 14 5b lea (%ebx,%ebx,2),%edx
28f: 3b 34 95 28 00 00 00 cmp 0x28(,%edx,4),%esi
296: 8d 44 49 06 lea 0x6(%ecx,%ecx,2),%eax
29a: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
2a1: 75 0b jne 2ae <find_min_pfn_for_node+0xa0>
2a3: eb 1d jmp 2c2 <find_min_pfn_for_node+0xb4>
2a5: 8b 01 mov (%ecx),%eax
2a7: 83 c1 0c add $0xc,%ecx
2aa: 39 c6 cmp %eax,%esi
2ac: 74 14 je 2c2 <find_min_pfn_for_node+0xb4>
2ae: 83 c3 01 add $0x1,%ebx
2b1: 39 fb cmp %edi,%ebx
2b3: 7c f0 jl 2a5 <find_min_pfn_for_node+0x97>
2b5: 8b 45 f0 mov -0x10(%ebp),%eax
2b8: 83 f8 ff cmp $0xffffffff,%eax
2bb: 75 9e jne 25b <find_min_pfn_for_node+0x4d>
2bd: 8d 76 00 lea 0x0(%esi),%esi
2c0: eb 87 jmp 249 <find_min_pfn_for_node+0x3b>
2c2: 89 d9 mov %ebx,%ecx
2c4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2c8: eb a2 jmp 26c <find_min_pfn_for_node+0x5e>
000002ca <find_min_pfn_with_active_regions>:
2ca: 55 push %ebp
2cb: b8 01 00 00 00 mov $0x1,%eax
2d0: 89 e5 mov %esp,%ebp
2d2: e8 37 ff ff ff call 20e <find_min_pfn_for_node>
2d7: 5d pop %ebp
2d8: c3 ret
000002d9 <add_active_range>:
2d9: 55 push %ebp
2da: 89 e5 mov %esp,%ebp
2dc: 57 push %edi
2dd: 56 push %esi
2de: 89 c6 mov %eax,%esi
2e0: 53 push %ebx
2e1: 83 ec 20 sub $0x20,%esp
2e4: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
2eb: 89 55 f0 mov %edx,-0x10(%ebp)
2ee: 89 4d ec mov %ecx,-0x14(%ebp)
2f1: 7f 5e jg 351 <add_active_range+0x78>
2f3: 8b 3d 20 0c 00 00 mov 0xc20,%edi
2f9: 85 ff test %edi,%edi
2fb: 0f 8e c7 00 00 00 jle 3c8 <add_active_range+0xef>
301: b8 28 00 00 00 mov $0x28,%eax
306: 31 d2 xor %edx,%edx
308: eb 0a jmp 314 <add_active_range+0x3b>
30a: 83 c2 01 add $0x1,%edx
30d: 83 c0 0c add $0xc,%eax
310: 39 d7 cmp %edx,%edi
312: 7e 7d jle 391 <add_active_range+0xb8>
314: 39 30 cmp %esi,(%eax)
316: 75 f2 jne 30a <add_active_range+0x31>
318: 8b 58 f8 mov -0x8(%eax),%ebx
31b: 3b 5d f0 cmp -0x10(%ebp),%ebx
31e: 0f 86 d2 00 00 00 jbe 3f6 <add_active_range+0x11d>
324: 8b 48 fc mov -0x4(%eax),%ecx
327: 39 4d f0 cmp %ecx,-0x10(%ebp)
32a: 77 de ja 30a <add_active_range+0x31>
32c: 39 4d ec cmp %ecx,-0x14(%ebp)
32f: 0f 87 b2 00 00 00 ja 3e7 <add_active_range+0x10e>
335: 39 4d f0 cmp %ecx,-0x10(%ebp)
338: 73 d0 jae 30a <add_active_range+0x31>
33a: 3b 5d ec cmp -0x14(%ebp),%ebx
33d: 8d 76 00 lea 0x0(%esi),%esi
340: 77 c8 ja 30a <add_active_range+0x31>
342: 8d 04 52 lea (%edx,%edx,2),%eax
345: 8b 55 f0 mov -0x10(%ebp),%edx
348: 89 14 85 20 00 00 00 mov %edx,0x20(,%eax,4)
34f: eb 6f jmp 3c0 <add_active_range+0xe7>
351: c7 04 24 10 00 00 00 movl $0x10,(%esp)
358: e8 fc ff ff ff call 359 <add_active_range+0x80>
35d: a1 20 0c 00 00 mov 0xc20,%eax
362: 8b 55 f0 mov -0x10(%ebp),%edx
365: 89 44 24 10 mov %eax,0x10(%esp)
369: 8b 45 ec mov -0x14(%ebp),%eax
36c: 89 54 24 08 mov %edx,0x8(%esp)
370: 89 74 24 04 mov %esi,0x4(%esp)
374: c7 44 24 14 00 01 00 movl $0x100,0x14(%esp)
37b: 00
37c: 89 44 24 0c mov %eax,0xc(%esp)
380: c7 04 24 2c 00 00 00 movl $0x2c,(%esp)
387: e8 fc ff ff ff call 388 <add_active_range+0xaf>
38c: e9 62 ff ff ff jmp 2f3 <add_active_range+0x1a>
391: 81 fa ff 00 00 00 cmp $0xff,%edx
397: 8d 4a 01 lea 0x1(%edx),%ecx
39a: 7f 35 jg 3d1 <add_active_range+0xf8>
39c: 8d 04 52 lea (%edx,%edx,2),%eax
39f: 8b 55 f0 mov -0x10(%ebp),%edx
3a2: 89 34 85 28 00 00 00 mov %esi,0x28(,%eax,4)
3a9: 89 0d 20 0c 00 00 mov %ecx,0xc20
3af: 89 14 85 20 00 00 00 mov %edx,0x20(,%eax,4)
3b6: 8b 55 ec mov -0x14(%ebp),%edx
3b9: 89 14 85 24 00 00 00 mov %edx,0x24(,%eax,4)
3c0: 83 c4 20 add $0x20,%esp
3c3: 5b pop %ebx
3c4: 5e pop %esi
3c5: 5f pop %edi
3c6: 5d pop %ebp
3c7: c3 ret
3c8: 31 d2 xor %edx,%edx
3ca: b9 01 00 00 00 mov $0x1,%ecx
3cf: eb cb jmp 39c <add_active_range+0xc3>
3d1: c7 44 24 04 00 01 00 movl $0x100,0x4(%esp)
3d8: 00
3d9: c7 04 24 88 00 00 00 movl $0x88,(%esp)
3e0: e8 fc ff ff ff call 3e1 <add_active_range+0x108>
3e5: eb d9 jmp 3c0 <add_active_range+0xe7>
3e7: 8d 04 52 lea (%edx,%edx,2),%eax
3ea: 8b 55 ec mov -0x14(%ebp),%edx
3ed: 89 14 85 24 00 00 00 mov %edx,0x24(,%eax,4)
3f4: eb ca jmp 3c0 <add_active_range+0xe7>
3f6: 8b 48 fc mov -0x4(%eax),%ecx
3f9: 3b 4d ec cmp -0x14(%ebp),%ecx
3fc: 0f 82 25 ff ff ff jb 327 <add_active_range+0x4e>
402: eb bc jmp 3c0 <add_active_range+0xe7>
00000404 <remove_active_range>:
404: 55 push %ebp
405: 89 e5 mov %esp,%ebp
407: 57 push %edi
408: 56 push %esi
409: 53 push %ebx
40a: 83 ec 30 sub $0x30,%esp
40d: 89 4c 24 0c mov %ecx,0xc(%esp)
411: 89 45 e0 mov %eax,-0x20(%ebp)
414: 89 55 dc mov %edx,-0x24(%ebp)
417: 89 4d d8 mov %ecx,-0x28(%ebp)
41a: 89 54 24 08 mov %edx,0x8(%esp)
41e: 89 44 24 04 mov %eax,0x4(%esp)
422: c7 04 24 b4 00 00 00 movl $0xb4,(%esp)
429: e8 fc ff ff ff call 42a <remove_active_range+0x26>
42e: 8b 3d 20 0c 00 00 mov 0xc20,%edi
434: 85 ff test %edi,%edi
436: 7e 2b jle 463 <remove_active_range+0x5f>
438: 83 7d e0 01 cmpl $0x1,-0x20(%ebp)
43c: 74 2d je 46b <remove_active_range+0x67>
43e: 8b 45 e0 mov -0x20(%ebp),%eax
441: 31 db xor %ebx,%ebx
443: ba 34 00 00 00 mov $0x34,%edx
448: 3b 05 28 00 00 00 cmp 0x28,%eax
44e: 75 0c jne 45c <remove_active_range+0x58>
450: eb 19 jmp 46b <remove_active_range+0x67>
452: 8b 02 mov (%edx),%eax
454: 83 c2 0c add $0xc,%edx
457: 39 45 e0 cmp %eax,-0x20(%ebp)
45a: 74 11 je 46d <remove_active_range+0x69>
45c: 83 c3 01 add $0x1,%ebx
45f: 39 fb cmp %edi,%ebx
461: 7c ef jl 452 <remove_active_range+0x4e>
463: 83 c4 30 add $0x30,%esp
466: 5b pop %ebx
467: 5e pop %esi
468: 5f pop %edi
469: 5d pop %ebp
46a: c3 ret
46b: 31 db xor %ebx,%ebx
46d: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp)
474: 8d 04 5b lea (%ebx,%ebx,2),%eax
477: 8b 14 85 20 00 00 00 mov 0x20(,%eax,4),%edx
47e: 8d 34 85 00 00 00 00 lea 0x0(,%eax,4),%esi
485: 39 55 dc cmp %edx,-0x24(%ebp)
488: 0f 86 22 01 00 00 jbe 5b0 <remove_active_range+0x1ac>
48e: 8b 0c 85 24 00 00 00 mov 0x24(,%eax,4),%ecx
495: 39 4d dc cmp %ecx,-0x24(%ebp)
498: 73 12 jae 4ac <remove_active_range+0xa8>
49a: 8b 45 dc mov -0x24(%ebp),%eax
49d: 39 4d d8 cmp %ecx,-0x28(%ebp)
4a0: 89 86 24 00 00 00 mov %eax,0x24(%esi)
4a6: 0f 82 40 01 00 00 jb 5ec <remove_active_range+0x1e8>
4ac: 8d 73 01 lea 0x1(%ebx),%esi
4af: 39 fe cmp %edi,%esi
4b1: 7d 3e jge 4f1 <remove_active_range+0xed>
4b3: 83 7d e0 01 cmpl $0x1,-0x20(%ebp)
4b7: 0f 84 1f 01 00 00 je 5dc <remove_active_range+0x1d8>
4bd: 8d 44 5b 06 lea 0x6(%ebx,%ebx,2),%eax
4c1: 8d 14 76 lea (%esi,%esi,2),%edx
4c4: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
4cb: 8b 45 e0 mov -0x20(%ebp),%eax
4ce: 3b 04 95 28 00 00 00 cmp 0x28(,%edx,4),%eax
4d5: 75 13 jne 4ea <remove_active_range+0xe6>
4d7: e9 00 01 00 00 jmp 5dc <remove_active_range+0x1d8>
4dc: 8b 01 mov (%ecx),%eax
4de: 83 c1 0c add $0xc,%ecx
4e1: 39 45 e0 cmp %eax,-0x20(%ebp)
4e4: 0f 84 f2 00 00 00 je 5dc <remove_active_range+0x1d8>
4ea: 83 c6 01 add $0x1,%esi
4ed: 39 fe cmp %edi,%esi
4ef: 7c eb jl 4dc <remove_active_range+0xd8>
4f1: 8b 45 e4 mov -0x1c(%ebp),%eax
4f4: 85 c0 test %eax,%eax
4f6: 0f 84 67 ff ff ff je 463 <remove_active_range+0x5f>
4fc: 8d 57 ff lea -0x1(%edi),%edx
4ff: 85 d2 test %edx,%edx
501: 89 55 f0 mov %edx,-0x10(%ebp)
504: 0f 8e 59 ff ff ff jle 463 <remove_active_range+0x5f>
50a: 8d 04 52 lea (%edx,%edx,2),%eax
50d: 8d 04 85 28 00 00 00 lea 0x28(,%eax,4),%eax
514: 8d 3c 7f lea (%edi,%edi,2),%edi
517: 89 45 e8 mov %eax,-0x18(%ebp)
51a: c7 45 ec 00 00 00 00 movl $0x0,-0x14(%ebp)
521: 89 7d d4 mov %edi,-0x2c(%ebp)
524: eb 17 jmp 53d <remove_active_range+0x139>
526: 83 6d f0 01 subl $0x1,-0x10(%ebp)
52a: 8b 7d f0 mov -0x10(%ebp),%edi
52d: 83 6d e8 0c subl $0xc,-0x18(%ebp)
531: 83 6d ec 0c subl $0xc,-0x14(%ebp)
535: 85 ff test %edi,%edi
537: 0f 8e 26 ff ff ff jle 463 <remove_active_range+0x5f>
53d: 8b 4d e8 mov -0x18(%ebp),%ecx
540: 8b 45 e0 mov -0x20(%ebp),%eax
543: 39 01 cmp %eax,(%ecx)
545: 75 df jne 526 <remove_active_range+0x122>
547: 8b 41 fc mov -0x4(%ecx),%eax
54a: 85 c0 test %eax,%eax
54c: 75 d8 jne 526 <remove_active_range+0x122>
54e: a1 20 0c 00 00 mov 0xc20,%eax
553: 83 e8 01 sub $0x1,%eax
556: 3b 45 f0 cmp -0x10(%ebp),%eax
559: 7e 36 jle 591 <remove_active_range+0x18d>
55b: 8b 45 d4 mov -0x2c(%ebp),%eax
55e: 8b 55 ec mov -0x14(%ebp),%edx
561: c1 e0 02 shl $0x2,%eax
564: 8d 9c 02 14 00 00 00 lea 0x14(%edx,%eax,1),%ebx
56b: 8d 8c 02 20 00 00 00 lea 0x20(%edx,%eax,1),%ecx
572: 8b 55 f0 mov -0x10(%ebp),%edx
575: 89 df mov %ebx,%edi
577: 89 ce mov %ecx,%esi
579: a5 movsl %ds:(%esi),%es:(%edi)
57a: a5 movsl %ds:(%esi),%es:(%edi)
57b: a5 movsl %ds:(%esi),%es:(%edi)
57c: a1 20 0c 00 00 mov 0xc20,%eax
581: 83 c2 01 add $0x1,%edx
584: 83 c3 0c add $0xc,%ebx
587: 83 c1 0c add $0xc,%ecx
58a: 83 e8 01 sub $0x1,%eax
58d: 39 d0 cmp %edx,%eax
58f: 7f e4 jg 575 <remove_active_range+0x171>
591: 8d 3c 40 lea (%eax,%eax,2),%edi
594: b9 03 00 00 00 mov $0x3,%ecx
599: 8d 3c bd 20 00 00 00 lea 0x20(,%edi,4),%edi
5a0: 31 c0 xor %eax,%eax
5a2: f3 ab rep stos %eax,%es:(%edi)
5a4: 83 2d 20 0c 00 00 01 subl $0x1,0xc20
5ab: e9 76 ff ff ff jmp 526 <remove_active_range+0x122>
5b0: 8b 4d d8 mov -0x28(%ebp),%ecx
5b3: 3b 0c 85 24 00 00 00 cmp 0x24(,%eax,4),%ecx
5ba: 72 46 jb 602 <remove_active_range+0x1fe>
5bc: c7 86 20 00 00 00 00 movl $0x0,0x20(%esi)
5c3: 00 00 00
5c6: c7 86 24 00 00 00 00 movl $0x0,0x24(%esi)
5cd: 00 00 00
5d0: c7 45 e4 01 00 00 00 movl $0x1,-0x1c(%ebp)
5d7: e9 d0 fe ff ff jmp 4ac <remove_active_range+0xa8>
5dc: 83 fe ff cmp $0xffffffff,%esi
5df: 0f 84 0c ff ff ff je 4f1 <remove_active_range+0xed>
5e5: 89 f3 mov %esi,%ebx
5e7: e9 88 fe ff ff jmp 474 <remove_active_range+0x70>
5ec: 8b 55 d8 mov -0x28(%ebp),%edx
5ef: 8b 45 e0 mov -0x20(%ebp),%eax
5f2: e8 fc ff ff ff call 5f3 <remove_active_range+0x1ef>
5f7: 8b 3d 20 0c 00 00 mov 0xc20,%edi
5fd: e9 aa fe ff ff jmp 4ac <remove_active_range+0xa8>
602: 39 55 d8 cmp %edx,-0x28(%ebp)
605: 0f 86 a1 fe ff ff jbe 4ac <remove_active_range+0xa8>
60b: 8b 55 d8 mov -0x28(%ebp),%edx
60e: 89 96 20 00 00 00 mov %edx,0x20(%esi)
614: e9 93 fe ff ff jmp 4ac <remove_active_range+0xa8>
00000619 <free_bootmem_with_active_regions>:
619: 55 push %ebp
61a: 89 e5 mov %esp,%ebp
61c: 57 push %edi
61d: 56 push %esi
61e: 53 push %ebx
61f: 83 ec 08 sub $0x8,%esp
622: 8b 3d 20 0c 00 00 mov 0xc20,%edi
628: 89 45 f0 mov %eax,-0x10(%ebp)
62b: 89 55 ec mov %edx,-0x14(%ebp)
62e: 85 ff test %edi,%edi
630: 7e 2e jle 660 <free_bootmem_with_active_regions+0x47>
632: 83 f8 01 cmp $0x1,%eax
635: 0f 84 a5 00 00 00 je 6e0 <free_bootmem_with_active_regions+0xc7>
63b: 31 f6 xor %esi,%esi
63d: ba 34 00 00 00 mov $0x34,%edx
642: 3b 05 28 00 00 00 cmp 0x28,%eax
648: 75 0f jne 659 <free_bootmem_with_active_regions+0x40>
64a: e9 91 00 00 00 jmp 6e0 <free_bootmem_with_active_regions+0xc7>
64f: 8b 02 mov (%edx),%eax
651: 83 c2 0c add $0xc,%edx
654: 39 45 f0 cmp %eax,-0x10(%ebp)
657: 74 16 je 66f <free_bootmem_with_active_regions+0x56>
659: 83 c6 01 add $0x1,%esi
65c: 39 fe cmp %edi,%esi
65e: 7c ef jl 64f <free_bootmem_with_active_regions+0x36>
660: 83 c4 08 add $0x8,%esp
663: 5b pop %ebx
664: 5e pop %esi
665: 5f pop %edi
666: 5d pop %ebp
667: c3 ret
668: 83 fb ff cmp $0xffffffff,%ebx
66b: 74 f3 je 660 <free_bootmem_with_active_regions+0x47>
66d: 89 de mov %ebx,%esi
66f: 8d 04 76 lea (%esi,%esi,2),%eax
672: 8b 14 85 20 00 00 00 mov 0x20(,%eax,4),%edx
679: 3b 55 ec cmp -0x14(%ebp),%edx
67c: 8b 0c 85 24 00 00 00 mov 0x24(,%eax,4),%ecx
683: 73 1f jae 6a4 <free_bootmem_with_active_regions+0x8b>
685: 39 4d ec cmp %ecx,-0x14(%ebp)
688: b8 00 00 00 00 mov $0x0,%eax
68d: 0f 46 4d ec cmovbe -0x14(%ebp),%ecx
691: 29 d1 sub %edx,%ecx
693: c1 e1 0c shl $0xc,%ecx
696: c1 e2 0c shl $0xc,%edx
699: e8 fc ff ff ff call 69a <free_bootmem_with_active_regions+0x81>
69e: 8b 3d 20 0c 00 00 mov 0xc20,%edi
6a4: 8d 5e 01 lea 0x1(%esi),%ebx
6a7: 39 fb cmp %edi,%ebx
6a9: 7d b5 jge 660 <free_bootmem_with_active_regions+0x47>
6ab: 83 7d f0 01 cmpl $0x1,-0x10(%ebp)
6af: 74 b7 je 668 <free_bootmem_with_active_regions+0x4f>
6b1: 8d 44 76 06 lea 0x6(%esi,%esi,2),%eax
6b5: 8d 14 5b lea (%ebx,%ebx,2),%edx
6b8: 8d 0c 85 28 00 00 00 lea 0x28(,%eax,4),%ecx
6bf: 8b 45 f0 mov -0x10(%ebp),%eax
6c2: 3b 04 95 28 00 00 00 cmp 0x28(,%edx,4),%eax
6c9: 75 0c jne 6d7 <free_bootmem_with_active_regions+0xbe>
6cb: eb 9b jmp 668 <free_bootmem_with_active_regions+0x4f>
6cd: 8b 01 mov (%ecx),%eax
6cf: 83 c1 0c add $0xc,%ecx
6d2: 39 45 f0 cmp %eax,-0x10(%ebp)
6d5: 74 91 je 668 <free_bootmem_with_active_regions+0x4f>
6d7: 83 c3 01 add $0x1,%ebx
6da: 39 fb cmp %edi,%ebx
6dc: 7c ef jl 6cd <free_bootmem_with_active_regions+0xb4>
6de: eb 80 jmp 660 <free_bootmem_with_active_regions+0x47>
6e0: 31 f6 xor %esi,%esi
6e2: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
6e8: eb 85 jmp 66f <free_bootmem_with_active_regions+0x56>
000006ea <free_area_init_node>:
6ea: 55 push %ebp
6eb: 89 e5 mov %esp,%ebp
6ed: 57 push %edi
6ee: 31 ff xor %edi,%edi
6f0: 56 push %esi
6f1: 31 f6 xor %esi,%esi
6f3: 53 push %ebx
6f4: 31 db xor %ebx,%ebx
6f6: 83 ec 40 sub $0x40,%esp
6f9: 89 45 d4 mov %eax,-0x2c(%ebp)
6fc: 89 55 d0 mov %edx,-0x30(%ebp)
6ff: a3 44 20 00 00 mov %eax,0x2044
704: 89 0d 38 20 00 00 mov %ecx,0x2038
70a: 8b 4d d0 mov -0x30(%ebp),%ecx
70d: 89 fa mov %edi,%edx
70f: 83 c3 01 add $0x1,%ebx
712: a1 44 20 00 00 mov 0x2044,%eax
717: 83 c7 01 add $0x1,%edi
71a: e8 86 01 00 00 call 8a5 <free_area_init_node+0x1bb>
71f: 01 c6 add %eax,%esi
721: 83 fb 04 cmp $0x4,%ebx
724: 75 e4 jne 70a <free_area_init_node+0x20>
726: 89 35 40 20 00 00 mov %esi,0x2040
72c: 31 ff xor %edi,%edi
72e: 30 db xor %bl,%bl
730: 8b 4d 08 mov 0x8(%ebp),%ecx
733: 89 fa mov %edi,%edx
735: 83 c3 01 add $0x1,%ebx
738: a1 44 20 00 00 mov 0x2044,%eax
73d: 83 c7 01 add $0x1,%edi
740: e8 62 03 00 00 call aa7 <free_area_init_node+0x3bd>
745: 29 c6 sub %eax,%esi
747: 83 fb 04 cmp $0x4,%ebx
74a: 75 e4 jne 730 <free_area_init_node+0x46>
74c: a1 44 20 00 00 mov 0x2044,%eax
751: 89 35 3c 20 00 00 mov %esi,0x203c
757: 89 74 24 08 mov %esi,0x8(%esp)
75b: c7 04 24 24 01 00 00 movl $0x124,(%esp)
762: 89 44 24 04 mov %eax,0x4(%esp)
766: e8 fc ff ff ff call 767 <free_area_init_node+0x7d>
76b: b8 00 00 00 00 mov $0x0,%eax
770: e8 fc ff ff ff call 771 <free_area_init_node+0x87>
775: a1 30 20 00 00 mov 0x2030,%eax
77a: 89 44 24 0c mov %eax,0xc(%esp)
77e: 8b 45 d4 mov -0x2c(%ebp),%eax
781: c7 44 24 08 00 00 00 movl $0x0,0x8(%esp)
788: 00
789: c7 04 24 44 01 00 00 movl $0x144,(%esp)
790: 89 44 24 04 mov %eax,0x4(%esp)
794: e8 fc ff ff ff call 795 <free_area_init_node+0xab>
799: 8b 15 44 20 00 00 mov 0x2044,%edx
79f: b8 48 20 00 00 mov $0x2048,%eax
7a4: 8b 0d 38 20 00 00 mov 0x2038,%ecx
7aa: c7 05 2c 20 00 00 00 movl $0x0,0x202c
7b1: 00 00 00
7b4: 89 55 e4 mov %edx,-0x1c(%ebp)
7b7: 89 4d e0 mov %ecx,-0x20(%ebp)
7ba: e8 fc ff ff ff call 7bb <free_area_init_node+0xd1>
7bf: c7 05 58 20 00 00 00 movl $0x0,0x2058
7c6: 00 00 00
7c9: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%ebp)
7d0: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%ebp)
7d7: 8b 4d d0 mov -0x30(%ebp),%ecx
7da: 8b 55 e8 mov -0x18(%ebp),%edx
7dd: 8b 45 e4 mov -0x1c(%ebp),%eax
7e0: e8 86 01 00 00 call 96b <free_area_init_node+0x281>
7e5: 8b 4d 08 mov 0x8(%ebp),%ecx
7e8: 8b 55 e8 mov -0x18(%ebp),%edx
7eb: 89 45 dc mov %eax,-0x24(%ebp)
7ee: 8b 45 e4 mov -0x1c(%ebp),%eax
7f1: e8 62 03 00 00 call b58 <free_area_init+0x2>
7f6: 8b 5d dc mov -0x24(%ebp),%ebx
7f9: 29 c3 sub %eax,%ebx
7fb: 8b 45 dc mov -0x24(%ebp),%eax
7fe: c1 e0 05 shl $0x5,%eax
801: 05 ff 0f 00 00 add $0xfff,%eax
806: c1 e8 0c shr $0xc,%eax
809: 39 c3 cmp %eax,%ebx
80b: 0f 82 e9 01 00 00 jb 9fa <free_area_init_node+0x310>
811: 29 c3 sub %eax,%ebx
813: 85 c0 test %eax,%eax
815: 0f 85 62 02 00 00 jne a7d <free_area_init_node+0x393>
81b: 8b 75 e8 mov -0x18(%ebp),%esi
81e: 85 f6 test %esi,%esi
820: 0f 85 26 02 00 00 jne a4c <free_area_init_node+0x362>
826: a1 00 00 00 00 mov 0x0,%eax
82b: 39 d8 cmp %ebx,%eax
82d: 0f 82 fa 01 00 00 jb a2d <free_area_init_node+0x343>
833: 01 1d 00 00 00 00 add %ebx,0x0
839: 8b 7d e8 mov -0x18(%ebp),%edi
83c: 8b 45 e8 mov -0x18(%ebp),%eax
83f: 8b 4d dc mov -0x24(%ebp),%ecx
842: 01 1d 00 00 00 00 add %ebx,0x0
848: 8b 14 bd 00 00 00 00 mov 0x0(,%edi,4),%edx
84f: c1 e0 0b shl $0xb,%eax
852: 89 88 94 07 00 00 mov %ecx,0x794(%eax)
858: 89 d9 mov %ebx,%ecx
85a: c1 e9 0a shr $0xa,%ecx
85d: 89 90 9c 07 00 00 mov %edx,0x79c(%eax)
863: ba 20 00 00 00 mov $0x20,%edx
868: 89 98 98 07 00 00 mov %ebx,0x798(%eax)
86e: c7 80 80 04 00 00 00 movl $0x0,0x480(%eax)
875: 00 00 00
878: c7 80 80 06 00 00 00 movl $0x0,0x680(%eax)
87f: 00 00 00
882: c7 80 8c 07 00 00 00 movl $0x0,0x78c(%eax)
889: 00 00 00
88c: c7 80 24 07 00 00 0c movl $0xc,0x724(%eax)
893: 00 00 00
896: 89 c8 mov %ecx,%eax
898: c1 e0 0c shl $0xc,%eax
89b: 3d 00 00 08 00 cmp $0x80000,%eax
8a0: 0f 87 7b 01 00 00 ja a21 <free_area_init_node+0x337>
8a6: 89 c8 mov %ecx,%eax
8a8: bb 01 00 00 00 mov $0x1,%ebx
8ad: c1 f8 02 sar $0x2,%eax
8b0: 85 c0 test %eax,%eax
8b2: 89 c2 mov %eax,%edx
8b4: 0f 8f 67 01 00 00 jg a21 <free_area_init_node+0x337>
8ba: ba 01 00 00 00 mov $0x1,%edx
8bf: b8 ff ff ff ff mov $0xffffffff,%eax
8c4: 0f bd cb bsr %ebx,%ecx
8c7: 0f 44 c8 cmove %eax,%ecx
8ca: 89 d0 mov %edx,%eax
8cc: d3 e0 shl %cl,%eax
8ce: 89 c1 mov %eax,%ecx
8d0: 83 e9 01 sub $0x1,%ecx
8d3: 8d 04 49 lea (%ecx,%ecx,2),%eax
8d6: 01 c0 add %eax,%eax
8d8: 85 c9 test %ecx,%ecx
8da: 0f 45 d1 cmovne %ecx,%edx
8dd: 31 db xor %ebx,%ebx
8df: 89 55 ec mov %edx,-0x14(%ebp)
8e2: 8b 55 e8 mov -0x18(%ebp),%edx
8e5: 89 45 cc mov %eax,-0x34(%ebp)
8e8: 89 4d d8 mov %ecx,-0x28(%ebp)
8eb: c1 e2 04 shl $0x4,%edx
8ee: 89 d0 mov %edx,%eax
8f0: 89 d6 mov %edx,%esi
8f2: c1 e0 07 shl $0x7,%eax
8f5: 05 80 00 00 00 add $0x80,%eax
8fa: 89 45 c8 mov %eax,-0x38(%ebp)
8fd: 8d 44 33 01 lea 0x1(%ebx,%esi,1),%eax
901: b9 20 00 00 00 mov $0x20,%ecx
906: c1 e0 07 shl $0x7,%eax
909: 05 00 00 00 00 add $0x0,%eax
90e: 89 45 c4 mov %eax,-0x3c(%ebp)
911: 89 c7 mov %eax,%edi
913: 31 c0 xor %eax,%eax
915: f3 ab rep stos %eax,%es:(%edi)
917: 8b 45 c8 mov -0x38(%ebp),%eax
91a: 83 c3 01 add $0x1,%ebx
91d: c7 00 00 00 00 00 movl $0x0,(%eax)
923: 8b 55 cc mov -0x34(%ebp),%edx
926: 89 50 04 mov %edx,0x4(%eax)
929: 8b 4d ec mov -0x14(%ebp),%ecx
92c: 89 48 08 mov %ecx,0x8(%eax)
92f: 8b 45 c4 mov -0x3c(%ebp),%eax
932: 8b 7d c8 mov -0x38(%ebp),%edi
935: 83 c0 0c add $0xc,%eax
938: 89 47 0c mov %eax,0xc(%edi)
93b: 89 47 10 mov %eax,0x10(%edi)
93e: 83 ef 80 sub $0xffffff80,%edi
941: 83 fb 08 cmp $0x8,%ebx
944: 89 7d c8 mov %edi,-0x38(%ebp)
947: 75 b4 jne 8fd <free_area_init_node+0x213>
949: 8b 55 e8 mov -0x18(%ebp),%edx
94c: c1 e2 0b shl $0xb,%edx
94f: 8b 82 98 07 00 00 mov 0x798(%edx),%eax
955: 85 c0 test %eax,%eax
957: 0f 85 43 01 00 00 jne aa0 <free_area_init_node+0x3b6>
95d: 8b 75 e8 mov -0x18(%ebp),%esi
960: 31 c9 xor %ecx,%ecx
962: 31 db xor %ebx,%ebx
964: c1 e6 0b shl $0xb,%esi
967: 8d 04 49 lea (%ecx,%ecx,2),%eax
96a: 83 c3 01 add $0x1,%ebx
96d: 8d 04 86 lea (%esi,%eax,4),%eax
970: 83 c1 01 add $0x1,%ecx
973: 8d 90 84 06 00 00 lea 0x684(%eax),%edx
979: 83 fb 05 cmp $0x5,%ebx
97c: 89 90 84 06 00 00 mov %edx,0x684(%eax)
982: 89 90 88 06 00 00 mov %edx,0x688(%eax)
988: c7 80 8c 06 00 00 00 movl $0x0,0x68c(%eax)
98f: 00 00 00
992: 75 d3 jne 967 <free_area_init_node+0x27d>
994: c7 86 c0 06 00 00 00 movl $0x0,0x6c0(%esi)
99b: 00 00 00
99e: 8d be d8 06 00 00 lea 0x6d8(%esi),%edi
9a4: b9 13 00 00 00 mov $0x13,%ecx
9a9: c7 86 c4 06 00 00 00 movl $0x0,0x6c4(%esi)
9b0: 00 00 00
9b3: 31 c0 xor %eax,%eax
9b5: c7 86 c8 06 00 00 00 movl $0x0,0x6c8(%esi)
9bc: 00 00 00
9bf: c7 86 cc 06 00 00 00 movl $0x0,0x6cc(%esi)
9c6: 00 00 00
9c9: f3 ab rep stos %eax,%es:(%edi)
9cb: 8b 5d dc mov -0x24(%ebp),%ebx
9ce: c7 86 d4 06 00 00 00 movl $0x0,0x6d4(%esi)
9d5: 00 00 00
9d8: 85 db test %ebx,%ebx
9da: 0f 85 e6 00 00 00 jne ac6 <free_area_init_node+0x3dc>
9e0: 83 45 f0 01 addl $0x1,-0x10(%ebp)
9e4: 83 45 e8 01 addl $0x1,-0x18(%ebp)
9e8: 83 7d f0 04 cmpl $0x4,-0x10(%ebp)
9ec: 0f 85 e5 fd ff ff jne 7d7 <free_area_init_node+0xed>
9f2: 83 c4 40 add $0x40,%esp
9f5: 5b pop %ebx
9f6: 5e pop %esi
9f7: 5f pop %edi
9f8: 5d pop %ebp
9f9: c3 ret
9fa: 8b 55 e8 mov -0x18(%ebp),%edx
9fd: 89 44 24 08 mov %eax,0x8(%esp)
a01: 89 5c 24 0c mov %ebx,0xc(%esp)
a05: c7 04 24 b4 01 00 00 movl $0x1b4,(%esp)
a0c: 8b 04 95 00 00 00 00 mov 0x0(,%edx,4),%eax
a13: 89 44 24 04 mov %eax,0x4(%esp)
a17: e8 fc ff ff ff call a18 <free_area_init_node+0x32e>
a1c: e9 fa fd ff ff jmp 81b <free_area_init_node+0x131>
a21: 89 d0 mov %edx,%eax
a23: d1 f8 sar %eax
a25: 8d 1c 10 lea (%eax,%edx,1),%ebx
a28: e9 8d fe ff ff jmp 8ba <free_area_init_node+0x1d0>
a2d: 29 c3 sub %eax,%ebx
a2f: 89 44 24 08 mov %eax,0x8(%esp)
a33: c7 44 24 04 14 00 00 movl $0x14,0x4(%esp)
a3a: 00
a3b: c7 04 24 e4 01 00 00 movl $0x1e4,(%esp)
a42: e8 fc ff ff ff call a43 <free_area_init_node+0x359>
a47: e9 e7 fd ff ff jmp 833 <free_area_init_node+0x149>
a4c: 83 7d e8 02 cmpl $0x2,-0x18(%ebp)
a50: 0f 84 e3 fd ff ff je 839 <free_area_init_node+0x14f>
a56: 83 7d e8 03 cmpl $0x3,-0x18(%ebp)
a5a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
a60: 0f 85 cd fd ff ff jne 833 <free_area_init_node+0x149>
a66: 83 3d 00 00 00 00 02 cmpl $0x2,0x0
a6d: 8d 76 00 lea 0x0(%esi),%esi
a70: 0f 85 bd fd ff ff jne 833 <free_area_init_node+0x149>
a76: 66 90 xchg %ax,%ax
a78: e9 bc fd ff ff jmp 839 <free_area_init_node+0x14f>
a7d: 8b 7d e8 mov -0x18(%ebp),%edi
a80: 89 44 24 08 mov %eax,0x8(%esp)
a84: c7 04 24 88 01 00 00 movl $0x188,(%esp)
a8b: 8b 04 bd 00 00 00 00 mov 0x0(,%edi,4),%eax
a92: 89 44 24 04 mov %eax,0x4(%esp)
a96: e8 fc ff ff ff call a97 <free_area_init_node+0x3ad>
a9b: e9 7b fd ff ff jmp 81b <free_area_init_node+0x131>
aa0: 8b 4d d8 mov -0x28(%ebp),%ecx
aa3: 89 44 24 08 mov %eax,0x8(%esp)
aa7: 8b 82 9c 07 00 00 mov 0x79c(%edx),%eax
aad: c7 04 24 08 02 00 00 movl $0x208,(%esp)
ab4: 89 4c 24 0c mov %ecx,0xc(%esp)
ab8: 89 44 24 04 mov %eax,0x4(%esp)
abc: e8 fc ff ff ff call abd <free_area_init_node+0x3d3>
ac1: e9 97 fe ff ff jmp 95d <free_area_init_node+0x273>
ac6: 8b 45 dc mov -0x24(%ebp),%eax
ac9: c7 86 68 06 00 00 00 movl $0x0,0x668(%esi)
ad0: 00 00 00
ad3: 05 ff 01 00 00 add $0x1ff,%eax
ad8: c1 e8 09 shr $0x9,%eax
adb: 8d 54 40 1f lea 0x1f(%eax,%eax,2),%edx
adf: 81 e2 e0 ff ff 07 and $0x7ffffe0,%edx
ae5: c1 ea 03 shr $0x3,%edx
ae8: 85 d2 test %edx,%edx
aea: 75 48 jne b34 <free_area_init_node+0x44a>
aec: 8b 45 e8 mov -0x18(%ebp),%eax
aef: 8b 4d dc mov -0x24(%ebp),%ecx
af2: 8b 55 e0 mov -0x20(%ebp),%edx
af5: c7 04 24 00 00 00 00 movl $0x0,(%esp)
afc: c1 e0 0b shl $0xb,%eax
aff: 05 00 00 00 00 add $0x0,%eax
b04: e8 fc ff ff ff call b05 <free_area_init_node+0x41b>
b09: 85 c0 test %eax,%eax
b0b: 75 45 jne b52 <free_area_init_node+0x468>
b0d: 8b 55 e0 mov -0x20(%ebp),%edx
b10: 8b 4d e8 mov -0x18(%ebp),%ecx
b13: 8b 45 dc mov -0x24(%ebp),%eax
b16: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
b1d: 00
b1e: 89 14 24 mov %edx,(%esp)
b21: 8b 55 e4 mov -0x1c(%ebp),%edx
b24: e8 fc ff ff ff call b25 <free_area_init_node+0x43b>
b29: 8b 4d dc mov -0x24(%ebp),%ecx
b2c: 01 4d e0 add %ecx,-0x20(%ebp)
b2f: e9 ac fe ff ff jmp 9e0 <free_area_init_node+0x2f6>
b34: b9 80 00 00 00 mov $0x80,%ecx
b39: b8 00 00 00 00 mov $0x0,%eax
b3e: c7 04 24 00 00 00 01 movl $0x1000000,(%esp)
b45: e8 fc ff ff ff call b46 <free_area_init_node+0x45c>
b4a: 89 86 68 06 00 00 mov %eax,0x668(%esi)
b50: eb 9a jmp aec <free_area_init_node+0x402>
b52: 0f 0b ud2a
b54: eb fe jmp b54 <free_area_init_node+0x46a>
00000b56 <free_area_init>:
b56: 55 push %ebp
b57: 89 c2 mov %eax,%edx
b59: 89 e5 mov %esp,%ebp
b5b: 31 c9 xor %ecx,%ecx
b5d: 83 ec 04 sub $0x4,%esp
b60: 31 c0 xor %eax,%eax
b62: c7 04 24 00 00 00 00 movl $0x0,(%esp)
b69: e8 fc ff ff ff call b6a <free_area_init+0x14>
b6e: c9 leave
b6f: c3 ret
00000b70 <free_area_init_nodes>:
b70: 55 push %ebp
b71: b9 0c 00 00 00 mov $0xc,%ecx
b76: 89 e5 mov %esp,%ebp
b78: 57 push %edi
b79: bf 24 0c 00 00 mov $0xc24,%edi
b7e: 56 push %esi
b7f: be 04 00 00 00 mov $0x4,%esi
b84: 53 push %ebx
b85: 89 c3 mov %eax,%ebx
b87: 83 ec 28 sub $0x28,%esp
b8a: 8b 15 20 0c 00 00 mov 0xc20,%edx
b90: b8 20 00 00 00 mov $0x20,%eax
b95: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
b9c: 00
b9d: c7 04 24 71 01 00 00 movl $0x171,(%esp)
ba4: e8 fc ff ff ff call ba5 <free_area_init_nodes+0x35>
ba9: 31 c0 xor %eax,%eax
bab: 89 f1 mov %esi,%ecx
bad: f3 ab rep stos %eax,%es:(%edi)
baf: bf 34 0c 00 00 mov $0xc34,%edi
bb4: 89 f1 mov %esi,%ecx
bb6: f3 ab rep stos %eax,%es:(%edi)
bb8: e8 fc ff ff ff call bb9 <free_area_init_nodes+0x49>
bbd: a3 24 0c 00 00 mov %eax,0xc24
bc2: 8b 03 mov (%ebx),%eax
bc4: a3 34 0c 00 00 mov %eax,0xc34
bc9: a3 28 0c 00 00 mov %eax,0xc28
bce: 8b 53 04 mov 0x4(%ebx),%edx
bd1: 39 d0 cmp %edx,%eax
bd3: 0f 42 c2 cmovb %edx,%eax
bd6: ba 24 00 00 00 mov $0x24,%edx
bdb: a3 38 0c 00 00 mov %eax,0xc38
be0: a3 2c 0c 00 00 mov %eax,0xc2c
be5: 39 43 08 cmp %eax,0x8(%ebx)
be8: 0f 43 43 08 cmovae 0x8(%ebx),%eax
bec: 31 db xor %ebx,%ebx
bee: c7 05 30 0c 00 00 00 movl $0x0,0xc30
bf5: 00 00 00
bf8: c7 05 40 0c 00 00 00 movl $0x0,0xc40
bff: 00 00 00
c02: a3 3c 0c 00 00 mov %eax,0xc3c
c07: a1 20 0c 00 00 mov 0xc20,%eax
c0c: c7 05 44 0c 00 00 00 movl $0x0,0xc44
c13: 00 00 00
c16: 85 c0 test %eax,%eax
c18: 7e 17 jle c31 <free_area_init_nodes+0xc1>
c1a: 8d 44 40 01 lea 0x1(%eax,%eax,2),%eax
c1e: 8d 04 85 20 00 00 00 lea 0x20(,%eax,4),%eax
c25: 03 1a add (%edx),%ebx
c27: 2b 5a fc sub -0x4(%edx),%ebx
c2a: 83 c2 0c add $0xc,%edx
c2d: 39 c2 cmp %eax,%edx
c2f: 75 f4 jne c25 <free_area_init_nodes+0xb5>
c31: a1 0c 00 00 00 mov 0xc,%eax
c36: 83 e0 01 and $0x1,%eax
c39: e8 fc ff ff ff call c3a <free_area_init_nodes+0xca>
c3e: 89 c1 mov %eax,%ecx
c40: a1 04 00 00 00 mov 0x4,%eax
c45: 85 c0 test %eax,%eax
c47: 0f 85 9b 00 00 00 jne ce8 <free_area_init_nodes+0x178>
c4d: 8b 15 00 00 00 00 mov 0x0,%edx
c53: 85 d2 test %edx,%edx
c55: 89 55 e4 mov %edx,-0x1c(%ebp)
c58: 0f 84 00 01 00 00 je d5e <free_area_init_nodes+0x1ee>
c5e: b8 03 00 00 00 mov $0x3,%eax
c63: ba 02 00 00 00 mov $0x2,%edx
c68: 83 f8 03 cmp $0x3,%eax
c6b: 0f 44 c2 cmove %edx,%eax
c6e: 8b 1c 85 24 0c 00 00 mov 0xc24(,%eax,4),%ebx
c75: 39 1c 85 34 0c 00 00 cmp %ebx,0xc34(,%eax,4)
c7c: 89 5d dc mov %ebx,-0x24(%ebp)
c7f: 77 0f ja c90 <free_area_init_nodes+0x120>
c81: 83 e8 01 sub $0x1,%eax
c84: 79 e2 jns c68 <free_area_init_nodes+0xf8>
c86: 8b 14 85 24 0c 00 00 mov 0xc24(,%eax,4),%edx
c8d: 89 55 dc mov %edx,-0x24(%ebp)
c90: 89 4d e0 mov %ecx,-0x20(%ebp)
c93: 8b 1d 44 0c 00 00 mov 0xc44,%ebx
c99: 8b 0d 28 00 00 00 mov 0x28,%ecx
c9f: 8b 3d 20 0c 00 00 mov 0xc20,%edi
ca5: a3 00 00 00 00 mov %eax,0x0
caa: 89 5d e8 mov %ebx,-0x18(%ebp)
cad: 89 4d f0 mov %ecx,-0x10(%ebp)
cb0: 8b 45 e4 mov -0x1c(%ebp),%eax
cb3: 31 d2 xor %edx,%edx
cb5: f7 75 e0 divl -0x20(%ebp)
cb8: 85 ff test %edi,%edi
cba: 89 45 ec mov %eax,-0x14(%ebp)
cbd: 7e 63 jle d22 <free_area_init_nodes+0x1b2>
cbf: 8b 45 f0 mov -0x10(%ebp),%eax
cc2: 31 db xor %ebx,%ebx
cc4: ba 34 00 00 00 mov $0x34,%edx
cc9: 85 c0 test %eax,%eax
ccb: 75 12 jne cdf <free_area_init_nodes+0x16f>
ccd: e9 9d 01 00 00 jmp e6f <free_area_init_nodes+0x2ff>
cd2: 8b 02 mov (%edx),%eax
cd4: 83 c2 0c add $0xc,%edx
cd7: 85 c0 test %eax,%eax
cd9: 0f 84 92 01 00 00 je e71 <free_area_init_nodes+0x301>
cdf: 83 c3 01 add $0x1,%ebx
ce2: 39 fb cmp %edi,%ebx
ce4: 7c ec jl cd2 <free_area_init_nodes+0x162>
ce6: eb 3a jmp d22 <free_area_init_nodes+0x1b2>
ce8: 8b 15 00 00 00 00 mov 0x0,%edx
cee: 05 ff 03 00 00 add $0x3ff,%eax
cf3: 25 00 fc ff ff and $0xfffffc00,%eax
cf8: 29 c3 sub %eax,%ebx
cfa: a3 04 00 00 00 mov %eax,0x4
cff: 39 d3 cmp %edx,%ebx
d01: 0f 43 d3 cmovae %ebx,%edx
d04: 89 15 00 00 00 00 mov %edx,0x0
d0a: e9 44 ff ff ff jmp c53 <free_area_init_nodes+0xe3>
d0f: 03 4d ec add -0x14(%ebp),%ecx
d12: 89 4d e8 mov %ecx,-0x18(%ebp)
d15: 8b 4d ec mov -0x14(%ebp),%ecx
d18: 39 4d e4 cmp %ecx,-0x1c(%ebp)
d1b: 0f 46 4d e4 cmovbe -0x1c(%ebp),%ecx
d1f: 29 4d e4 sub %ecx,-0x1c(%ebp)
d22: 83 6d e0 01 subl $0x1,-0x20(%ebp)
d26: 0f 84 00 02 00 00 je f2c <free_area_init_nodes+0x3bc>
d2c: 8b 55 e0 mov -0x20(%ebp),%edx
d2f: 39 55 e4 cmp %edx,-0x1c(%ebp)
d32: 0f 87 78 ff ff ff ja cb0 <free_area_init_nodes+0x140>
d38: 8b 4d e8 mov -0x18(%ebp),%ecx
d3b: 8b 5d e4 mov -0x1c(%ebp),%ebx
d3e: 89 0d 44 0c 00 00 mov %ecx,0xc44
d44: 89 1d 00 00 00 00 mov %ebx,0x0
d4a: a1 44 0c 00 00 mov 0xc44,%eax
d4f: 05 ff 03 00 00 add $0x3ff,%eax
d54: 25 00 fc ff ff and $0xfffffc00,%eax
d59: a3 44 0c 00 00 mov %eax,0xc44
d5e: c7 04 24 18 00 00 00 movl $0x18,(%esp)
d65: e8 fc ff ff ff call d66 <free_area_init_nodes+0x1f6>
d6a: a1 34 0c 00 00 mov 0xc34,%eax
d6f: 89 44 24 0c mov %eax,0xc(%esp)
d73: a1 24 0c 00 00 mov 0xc24,%eax
d78: c7 44 24 04 14 00 00 movl $0x14,0x4(%esp)
d7f: 00
d80: c7 04 24 2a 00 00 00 movl $0x2a,(%esp)
d87: 89 44 24 08 mov %eax,0x8(%esp)
d8b: e8 fc ff ff ff call d8c <free_area_init_nodes+0x21c>
d90: a1 38 0c 00 00 mov 0xc38,%eax
d95: 89 44 24 0c mov %eax,0xc(%esp)
d99: a1 28 0c 00 00 mov 0xc28,%eax
d9e: c7 44 24 04 45 00 00 movl $0x45,0x4(%esp)
da5: 00
da6: c7 04 24 2a 00 00 00 movl $0x2a,(%esp)
dad: 89 44 24 08 mov %eax,0x8(%esp)
db1: e8 fc ff ff ff call db2 <free_area_init_nodes+0x242>
db6: a1 3c 0c 00 00 mov 0xc3c,%eax
dbb: 89 44 24 0c mov %eax,0xc(%esp)
dbf: a1 2c 0c 00 00 mov 0xc2c,%eax
dc4: c7 44 24 04 4c 00 00 movl $0x4c,0x4(%esp)
dcb: 00
dcc: c7 04 24 2a 00 00 00 movl $0x2a,(%esp)
dd3: 89 44 24 08 mov %eax,0x8(%esp)
dd7: e8 fc ff ff ff call dd8 <free_area_init_nodes+0x268>
ddc: c7 04 24 34 02 00 00 movl $0x234,(%esp)
de3: e8 fc ff ff ff call de4 <free_area_init_nodes+0x274>
de8: a1 44 0c 00 00 mov 0xc44,%eax
ded: 85 c0 test %eax,%eax
def: 0f 85 4d 01 00 00 jne f42 <free_area_init_nodes+0x3d2>
df5: a1 20 0c 00 00 mov 0xc20,%eax
dfa: c7 04 24 5c 02 00 00 movl $0x25c,(%esp)
e01: 89 44 24 04 mov %eax,0x4(%esp)
e05: e8 fc ff ff ff call e06 <free_area_init_nodes+0x296>
e0a: 8b 3d 20 0c 00 00 mov 0xc20,%edi
e10: 85 ff test %edi,%edi
e12: 7e 35 jle e49 <free_area_init_nodes+0x2d9>
e14: bb 24 00 00 00 mov $0x24,%ebx
e19: 31 f6 xor %esi,%esi
e1b: 8b 03 mov (%ebx),%eax
e1d: 83 c6 01 add $0x1,%esi
e20: 89 44 24 0c mov %eax,0xc(%esp)
e24: 8b 43 fc mov -0x4(%ebx),%eax
e27: 89 44 24 08 mov %eax,0x8(%esp)
e2b: 8b 43 04 mov 0x4(%ebx),%eax
e2e: 83 c3 0c add $0xc,%ebx
e31: c7 04 24 64 00 00 00 movl $0x64,(%esp)
e38: 89 44 24 04 mov %eax,0x4(%esp)
e3c: e8 fc ff ff ff call e3d <free_area_init_nodes+0x2cd>
e41: 39 35 20 0c 00 00 cmp %esi,0xc20
e47: 7f d2 jg e1b <free_area_init_nodes+0x2ab>
e49: e8 fc ff ff ff call e4a <free_area_init_nodes+0x2da>
e4e: 31 c0 xor %eax,%eax
e50: e8 b9 f3 ff ff call 20e <find_min_pfn_for_node>
e55: 31 d2 xor %edx,%edx
e57: 89 c1 mov %eax,%ecx
e59: 31 c0 xor %eax,%eax
e5b: c7 04 24 00 00 00 00 movl $0x0,(%esp)
e62: e8 fc ff ff ff call e63 <free_area_init_nodes+0x2f3>
e67: 83 c4 28 add $0x28,%esp
e6a: 5b pop %ebx
e6b: 5e pop %esi
e6c: 5f pop %edi
e6d: 5d pop %ebp
e6e: c3 ret
e6f: 31 db xor %ebx,%ebx
e71: 8d 14 5b lea (%ebx,%ebx,2),%edx
e74: 8b 4d e8 mov -0x18(%ebp),%ecx
e77: 8b 04 95 20 00 00 00 mov 0x20(,%edx,4),%eax
e7e: 39 45 e8 cmp %eax,-0x18(%ebp)
e81: 8b 34 95 24 00 00 00 mov 0x24(,%edx,4),%esi
e88: 0f 42 c8 cmovb %eax,%ecx
e8b: 39 f1 cmp %esi,%ecx
e8d: 73 56 jae ee5 <free_area_init_nodes+0x375>
e8f: 39 4d dc cmp %ecx,-0x24(%ebp)
e92: 76 29 jbe ebd <free_area_init_nodes+0x34d>
e94: 8b 45 dc mov -0x24(%ebp),%eax
e97: 39 75 dc cmp %esi,-0x24(%ebp)
e9a: 8b 55 ec mov -0x14(%ebp),%edx
e9d: 0f 47 c6 cmova %esi,%eax
ea0: 29 c8 sub %ecx,%eax
ea2: 3b 45 ec cmp -0x14(%ebp),%eax
ea5: 0f 46 d0 cmovbe %eax,%edx
ea8: 29 55 ec sub %edx,-0x14(%ebp)
eab: 3b 45 e4 cmp -0x1c(%ebp),%eax
eae: 0f 47 45 e4 cmova -0x1c(%ebp),%eax
eb2: 29 45 e4 sub %eax,-0x1c(%ebp)
eb5: 39 75 dc cmp %esi,-0x24(%ebp)
eb8: 73 2e jae ee8 <free_area_init_nodes+0x378>
eba: 8b 4d dc mov -0x24(%ebp),%ecx
ebd: 89 f2 mov %esi,%edx
ebf: 29 ca sub %ecx,%edx
ec1: 3b 55 ec cmp -0x14(%ebp),%edx
ec4: 0f 87 45 fe ff ff ja d0f <free_area_init_nodes+0x19f>
eca: 8b 45 e4 mov -0x1c(%ebp),%eax
ecd: 8d 0c 0a lea (%edx,%ecx,1),%ecx
ed0: 39 55 e4 cmp %edx,-0x1c(%ebp)
ed3: 89 4d e8 mov %ecx,-0x18(%ebp)
ed6: 0f 47 c2 cmova %edx,%eax
ed9: 29 45 e4 sub %eax,-0x1c(%ebp)
edc: 29 55 ec sub %edx,-0x14(%ebp)
edf: 0f 84 3d fe ff ff je d22 <free_area_init_nodes+0x1b2>
ee5: 8b 75 e8 mov -0x18(%ebp),%esi
ee8: 8d 4b 01 lea 0x1(%ebx),%ecx
eeb: 39 f9 cmp %edi,%ecx
eed: 7d 2b jge f1a <free_area_init_nodes+0x3aa>
eef: 8d 44 5b 06 lea 0x6(%ebx,%ebx,2),%eax
ef3: 8d 14 49 lea (%ecx,%ecx,2),%edx
ef6: 8d 1c 85 28 00 00 00 lea 0x28(,%eax,4),%ebx
efd: 8b 04 95 28 00 00 00 mov 0x28(,%edx,4),%eax
f04: 85 c0 test %eax,%eax
f06: 75 0b jne f13 <free_area_init_nodes+0x3a3>
f08: eb 18 jmp f22 <free_area_init_nodes+0x3b2>
f0a: 8b 03 mov (%ebx),%eax
f0c: 83 c3 0c add $0xc,%ebx
f0f: 85 c0 test %eax,%eax
f11: 74 0f je f22 <free_area_init_nodes+0x3b2>
f13: 83 c1 01 add $0x1,%ecx
f16: 39 f9 cmp %edi,%ecx
f18: 7c f0 jl f0a <free_area_init_nodes+0x39a>
f1a: 89 75 e8 mov %esi,-0x18(%ebp)
f1d: e9 00 fe ff ff jmp d22 <free_area_init_nodes+0x1b2>
f22: 89 cb mov %ecx,%ebx
f24: 89 75 e8 mov %esi,-0x18(%ebp)
f27: e9 45 ff ff ff jmp e71 <free_area_init_nodes+0x301>
f2c: 8b 45 e8 mov -0x18(%ebp),%eax
f2f: 8b 55 e4 mov -0x1c(%ebp),%edx
f32: a3 44 0c 00 00 mov %eax,0xc44
f37: 89 15 00 00 00 00 mov %edx,0x0
f3d: e9 08 fe ff ff jmp d4a <free_area_init_nodes+0x1da>
f42: 89 44 24 08 mov %eax,0x8(%esp)
f46: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
f4d: 00
f4e: c7 04 24 54 00 00 00 movl $0x54,(%esp)
f55: e8 fc ff ff ff call f56 <free_area_init_nodes+0x3e6>
f5a: e9 96 fe ff ff jmp df5 <free_area_init_nodes+0x285>
00000f5f <init_per_zone_pages_min>:
f5f: 55 push %ebp
f60: 89 e5 mov %esp,%ebp
f62: 56 push %esi
f63: 53 push %ebx
f64: e8 fc ff ff ff call f65 <init_per_zone_pages_min+0x6>
f69: c1 e0 06 shl $0x6,%eax
f6c: e8 fc ff ff ff call f6d <init_per_zone_pages_min+0xe>
f71: 83 f8 7f cmp $0x7f,%eax
f74: a3 00 00 00 00 mov %eax,0x0
f79: 7f 55 jg fd0 <init_per_zone_pages_min+0x71>
f7b: c7 05 00 00 00 00 80 movl $0x80,0x0
f82: 00 00 00
f85: e8 fc ff ff ff call f86 <init_per_zone_pages_min+0x27>
f8a: e8 3c 05 00 00 call 14cb <__free_pages_ok+0x31b>
f8f: e8 fc ff ff ff call f90 <init_per_zone_pages_min+0x31>
f94: 85 c0 test %eax,%eax
f96: 89 c3 mov %eax,%ebx
f98: 74 30 je fca <init_per_zone_pages_min+0x6b>
f9a: be 01 00 00 00 mov $0x1,%esi
f9f: 8b 83 98 07 00 00 mov 0x798(%ebx),%eax
fa5: c1 e8 12 shr $0x12,%eax
fa8: 8d 04 80 lea (%eax,%eax,4),%eax
fab: 01 c0 add %eax,%eax
fad: e8 fc ff ff ff call fae <init_per_zone_pages_min+0x4f>
fb2: 85 c0 test %eax,%eax
fb4: 0f 44 c6 cmove %esi,%eax
fb7: 89 83 28 07 00 00 mov %eax,0x728(%ebx)
fbd: 89 d8 mov %ebx,%eax
fbf: e8 fc ff ff ff call fc0 <init_per_zone_pages_min+0x61>
fc4: 85 c0 test %eax,%eax
fc6: 89 c3 mov %eax,%ebx
fc8: 75 d5 jne f9f <init_per_zone_pages_min+0x40>
fca: 31 c0 xor %eax,%eax
fcc: 5b pop %ebx
fcd: 5e pop %esi
fce: 5d pop %ebp
fcf: c3 ret
fd0: 3d 00 00 01 00 cmp $0x10000,%eax
fd5: 7e ae jle f85 <init_per_zone_pages_min+0x26>
fd7: c7 05 00 00 00 00 00 movl $0x10000,0x0
fde: 00 01 00
fe1: eb a2 jmp f85 <init_per_zone_pages_min+0x26>
00000fe3 <alloc_large_system_hash>:
fe3: 55 push %ebp
fe4: 89 e5 mov %esp,%ebp
fe6: 57 push %edi
fe7: 89 d7 mov %edx,%edi
fe9: 56 push %esi
fea: 53 push %ebx
feb: 83 ec 34 sub $0x34,%esp
fee: 85 c9 test %ecx,%ecx
ff0: 89 45 e4 mov %eax,-0x1c(%ebp)
ff3: 75 30 jne 1025 <alloc_large_system_hash+0x42>
ff5: a1 00 00 00 00 mov 0x0,%eax
ffa: 05 ff 00 00 00 add $0xff,%eax
fff: 30 c0 xor %al,%al
1001: 83 7d 08 0c cmpl $0xc,0x8(%ebp)
1005: 0f 8e e5 01 00 00 jle 11f0 <alloc_large_system_hash+0x20d>
100b: 8b 4d 08 mov 0x8(%ebp),%ecx
100e: 83 e9 0c sub $0xc,%ecx
1011: d3 e8 shr %cl,%eax
1013: 89 c1 mov %eax,%ecx
1015: 89 c8 mov %ecx,%eax
1017: 0f af c7 imul %edi,%eax
101a: 3d ff 0f 00 00 cmp $0xfff,%eax
101f: 0f 86 bb 01 00 00 jbe 11e0 <alloc_large_system_hash+0x1fd>
1025: 8d 51 ff lea -0x1(%ecx),%edx
1028: b8 ff ff ff ff mov $0xffffffff,%eax
102d: 0f bd ca bsr %edx,%ecx
1030: 0f 44 c8 cmove %eax,%ecx
1033: 8b 45 18 mov 0x18(%ebp),%eax
1036: 83 c1 01 add $0x1,%ecx
1039: 31 d2 xor %edx,%edx
103b: bb 01 00 00 00 mov $0x1,%ebx
1040: d3 e3 shl %cl,%ebx
1042: 89 55 d8 mov %edx,-0x28(%ebp)
1045: 09 c2 or %eax,%edx
1047: 89 45 d4 mov %eax,-0x2c(%ebp)
104a: 75 40 jne 108c <alloc_large_system_hash+0xa9>
104c: 8b 15 00 00 00 00 mov 0x0,%edx
1052: 31 c9 xor %ecx,%ecx
1054: 31 f6 xor %esi,%esi
1056: 0f a4 d1 0c shld $0xc,%edx,%ecx
105a: c1 e2 0c shl $0xc,%edx
105d: 0f ac ca 04 shrd $0x4,%ecx,%edx
1061: c1 e9 04 shr $0x4,%ecx
1064: 89 d0 mov %edx,%eax
1066: 89 ca mov %ecx,%edx
1068: 85 d2 test %edx,%edx
106a: 89 c1 mov %eax,%ecx
106c: 89 55 dc mov %edx,-0x24(%ebp)
106f: 74 0c je 107d <alloc_large_system_hash+0x9a>
1071: 8b 45 dc mov -0x24(%ebp),%eax
1074: 31 d2 xor %edx,%edx
1076: f7 f7 div %edi
1078: 89 d6 mov %edx,%esi
107a: 89 45 dc mov %eax,-0x24(%ebp)
107d: 89 c8 mov %ecx,%eax
107f: 89 f2 mov %esi,%edx
1081: f7 f7 div %edi
1083: 8b 55 dc mov -0x24(%ebp),%edx
1086: 89 45 d4 mov %eax,-0x2c(%ebp)
1089: 89 55 d8 mov %edx,-0x28(%ebp)
108c: 83 7d d8 00 cmpl $0x0,-0x28(%ebp)
1090: 77 07 ja 1099 <alloc_large_system_hash+0xb6>
1092: 3b 5d d4 cmp -0x2c(%ebp),%ebx
1095: 0f 47 5d d4 cmova -0x2c(%ebp),%ebx
1099: b8 ff ff ff ff mov $0xffffffff,%eax
109e: 0f bd d3 bsr %ebx,%edx
10a1: 0f 44 d0 cmove %eax,%edx
10a4: 8b 5d 0c mov 0xc(%ebp),%ebx
10a7: 89 55 e8 mov %edx,-0x18(%ebp)
10aa: 83 e3 01 and $0x1,%ebx
10ad: 0f b6 4d e8 movzbl -0x18(%ebp),%ecx
10b1: 89 f8 mov %edi,%eax
10b3: d3 e0 shl %cl,%eax
10b5: 85 db test %ebx,%ebx
10b7: 89 45 ec mov %eax,-0x14(%ebp)
10ba: 0f 85 85 01 00 00 jne 1245 <alloc_large_system_hash+0x262>
10c0: a1 00 00 00 00 mov 0x0,%eax
10c5: 85 c0 test %eax,%eax
10c7: 0f 85 34 01 00 00 jne 1201 <alloc_large_system_hash+0x21e>
10cd: 8b 45 ec mov -0x14(%ebp),%eax
10d0: be ff ff ff ff mov $0xffffffff,%esi
10d5: 83 e8 01 sub $0x1,%eax
10d8: c1 e8 0b shr $0xb,%eax
10db: 83 c6 01 add $0x1,%esi
10de: d1 e8 shr %eax
10e0: 75 f9 jne 10db <alloc_large_system_hash+0xf8>
10e2: 89 f2 mov %esi,%edx
10e4: b8 20 00 00 00 mov $0x20,%eax
10e9: e8 fc ff ff ff call 10ea <alloc_large_system_hash+0x107>
10ee: 85 c0 test %eax,%eax
10f0: 89 45 f0 mov %eax,-0x10(%ebp)
10f3: 0f 84 60 01 00 00 je 1259 <alloc_large_system_hash+0x276>
10f9: 8b 7d f0 mov -0x10(%ebp),%edi
10fc: 89 f1 mov %esi,%ecx
10fe: b8 00 10 00 00 mov $0x1000,%eax
1103: d3 e0 shl %cl,%eax
1105: 8b 5d f0 mov -0x10(%ebp),%ebx
1108: c7 45 e0 01 00 00 00 movl $0x1,-0x20(%ebp)
110f: d3 65 e0 shll %cl,-0x20(%ebp)
1112: 01 c7 add %eax,%edi
1114: 8b 45 ec mov -0x14(%ebp),%eax
1117: 05 ff 0f 00 00 add $0xfff,%eax
111c: 25 00 f0 ff ff and $0xfffff000,%eax
1121: 01 c3 add %eax,%ebx
1123: 8b 45 f0 mov -0x10(%ebp),%eax
1126: 05 00 00 00 40 add $0x40000000,%eax
112b: c1 e8 0c shr $0xc,%eax
112e: c1 e0 05 shl $0x5,%eax
1131: 03 05 00 00 00 00 add 0x0,%eax
1137: 83 7d e0 01 cmpl $0x1,-0x20(%ebp)
113b: 7e 1a jle 1157 <alloc_large_system_hash+0x174>
113d: 8d 50 20 lea 0x20(%eax),%edx
1140: b8 01 00 00 00 mov $0x1,%eax
1145: c7 42 04 01 00 00 00 movl $0x1,0x4(%edx)
114c: 83 c0 01 add $0x1,%eax
114f: 83 c2 20 add $0x20,%edx
1152: 39 45 e0 cmp %eax,-0x20(%ebp)
1155: 7f ee jg 1145 <alloc_large_system_hash+0x162>
1157: 39 df cmp %ebx,%edi
1159: 76 13 jbe 116e <alloc_large_system_hash+0x18b>
115b: 31 d2 xor %edx,%edx
115d: 89 d8 mov %ebx,%eax
115f: 81 c3 00 10 00 00 add $0x1000,%ebx
1165: e8 fc ff ff ff call 1166 <alloc_large_system_hash+0x183>
116a: 39 df cmp %ebx,%edi
116c: 77 ed ja 115b <alloc_large_system_hash+0x178>
116e: 8b 4d ec mov -0x14(%ebp),%ecx
1171: b8 ff ff ff ff mov $0xffffffff,%eax
1176: 0f bd 55 ec bsr -0x14(%ebp),%edx
117a: 0f 44 d0 cmove %eax,%edx
117d: 89 d0 mov %edx,%eax
117f: 83 e8 0c sub $0xc,%eax
1182: 89 4c 24 10 mov %ecx,0x10(%esp)
1186: 0f b6 4d e8 movzbl -0x18(%ebp),%ecx
118a: 89 44 24 0c mov %eax,0xc(%esp)
118e: b8 01 00 00 00 mov $0x1,%eax
1193: c7 04 24 70 05 00 00 movl $0x570,(%esp)
119a: d3 e0 shl %cl,%eax
119c: 89 44 24 08 mov %eax,0x8(%esp)
11a0: 8b 45 e4 mov -0x1c(%ebp),%eax
11a3: 89 44 24 04 mov %eax,0x4(%esp)
11a7: e8 fc ff ff ff call 11a8 <alloc_large_system_hash+0x1c5>
11ac: 8b 7d 10 mov 0x10(%ebp),%edi
11af: 85 ff test %edi,%edi
11b1: 74 08 je 11bb <alloc_large_system_hash+0x1d8>
11b3: 8b 4d e8 mov -0x18(%ebp),%ecx
11b6: 8b 55 10 mov 0x10(%ebp),%edx
11b9: 89 0a mov %ecx,(%edx)
11bb: 8b 75 14 mov 0x14(%ebp),%esi
11be: 85 f6 test %esi,%esi
11c0: 74 13 je 11d5 <alloc_large_system_hash+0x1f2>
11c2: 0f b6 4d e8 movzbl -0x18(%ebp),%ecx
11c6: b8 01 00 00 00 mov $0x1,%eax
11cb: 8b 55 14 mov 0x14(%ebp),%edx
11ce: d3 e0 shl %cl,%eax
11d0: 83 e8 01 sub $0x1,%eax
11d3: 89 02 mov %eax,(%edx)
11d5: 8b 45 f0 mov -0x10(%ebp),%eax
11d8: 83 c4 34 add $0x34,%esp
11db: 5b pop %ebx
11dc: 5e pop %esi
11dd: 5f pop %edi
11de: 5d pop %ebp
11df: c3 ret
11e0: b8 00 10 00 00 mov $0x1000,%eax
11e5: 31 d2 xor %edx,%edx
11e7: f7 f7 div %edi
11e9: 89 c1 mov %eax,%ecx
11eb: e9 35 fe ff ff jmp 1025 <alloc_large_system_hash+0x42>
11f0: b9 0c 00 00 00 mov $0xc,%ecx
11f5: 2b 4d 08 sub 0x8(%ebp),%ecx
11f8: d3 e0 shl %cl,%eax
11fa: 89 c1 mov %eax,%ecx
11fc: e9 14 fe ff ff jmp 1015 <alloc_large_system_hash+0x32>
1201: 8b 45 ec mov -0x14(%ebp),%eax
1204: ba 20 00 00 00 mov $0x20,%edx
1209: c7 04 24 63 01 00 00 movl $0x163,(%esp)
1210: c7 44 24 04 00 00 00 movl $0x80000000,0x4(%esp)
1217: 80
1218: e8 fc ff ff ff call 1219 <alloc_large_system_hash+0x236>
121d: 89 45 f0 mov %eax,-0x10(%ebp)
1220: 8b 45 f0 mov -0x10(%ebp),%eax
1223: 85 c0 test %eax,%eax
1225: 74 32 je 1259 <alloc_large_system_hash+0x276>
1227: 8b 45 f0 mov -0x10(%ebp),%eax
122a: 85 c0 test %eax,%eax
122c: 0f 85 3c ff ff ff jne 116e <alloc_large_system_hash+0x18b>
1232: 8b 45 e4 mov -0x1c(%ebp),%eax
1235: c7 04 24 4c 05 00 00 movl $0x54c,(%esp)
123c: 89 44 24 04 mov %eax,0x4(%esp)
1240: e8 fc ff ff ff call 1241 <alloc_large_system_hash+0x25e>
1245: b9 00 00 00 01 mov $0x1000000,%ecx
124a: ba 80 00 00 00 mov $0x80,%edx
124f: e8 fc ff ff ff call 1250 <alloc_large_system_hash+0x26d>
1254: 89 45 f0 mov %eax,-0x10(%ebp)
1257: eb c7 jmp 1220 <alloc_large_system_hash+0x23d>
1259: 81 7d ec 00 10 00 00 cmpl $0x1000,-0x14(%ebp)
1260: 76 c5 jbe 1227 <alloc_large_system_hash+0x244>
1262: 83 6d e8 01 subl $0x1,-0x18(%ebp)
1266: 66 90 xchg %ax,%ax
1268: 0f 85 3f fe ff ff jne 10ad <alloc_large_system_hash+0xca>
126e: 66 90 xchg %ax,%ax
1270: eb c0 jmp 1232 <alloc_large_system_hash+0x24f>
Disassembly of section .ref.text:
00000000 <alloc_node_mem_map>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 83 ec 0c sub $0xc,%esp
6: 89 75 fc mov %esi,-0x4(%ebp)
9: 89 c6 mov %eax,%esi
b: 89 5d f8 mov %ebx,-0x8(%ebp)
e: 8b 80 40 20 00 00 mov 0x2040(%eax),%eax
14: 85 c0 test %eax,%eax
16: 74 12 je 2a <alloc_node_mem_map+0x2a>
18: 8b 96 30 20 00 00 mov 0x2030(%esi),%edx
1e: 85 d2 test %edx,%edx
20: 74 3e je 60 <alloc_node_mem_map+0x60>
22: 81 fe 00 00 00 00 cmp $0x0,%esi
28: 74 0e je 38 <alloc_node_mem_map+0x38>
2a: 8b 5d f8 mov -0x8(%ebp),%ebx
2d: 8b 75 fc mov -0x4(%ebp),%esi
30: 89 ec mov %ebp,%esp
32: 5d pop %ebp
33: c3 ret
34: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
38: a1 38 20 00 00 mov 0x2038,%eax
3d: 8b 15 30 20 00 00 mov 0x2030,%edx
43: 85 c0 test %eax,%eax
45: 89 15 00 00 00 00 mov %edx,0x0
4b: 74 dd je 2a <alloc_node_mem_map+0x2a>
4d: c1 e0 05 shl $0x5,%eax
50: 29 c2 sub %eax,%edx
52: 89 15 00 00 00 00 mov %edx,0x0
58: eb d0 jmp 2a <alloc_node_mem_map+0x2a>
5a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
60: 8b 96 38 20 00 00 mov 0x2038(%esi),%edx
66: b9 80 00 00 00 mov $0x80,%ecx
6b: c7 04 24 00 00 00 01 movl $0x1000000,(%esp)
72: 89 d3 mov %edx,%ebx
74: 8d 94 02 ff 03 00 00 lea 0x3ff(%edx,%eax,1),%edx
7b: 81 e3 00 fc ff ff and $0xfffffc00,%ebx
81: 81 e2 00 fc ff ff and $0xfffffc00,%edx
87: 89 f0 mov %esi,%eax
89: 29 da sub %ebx,%edx
8b: c1 e2 05 shl $0x5,%edx
8e: e8 fc ff ff ff call 8f <alloc_node_mem_map+0x8f>
93: 8b 96 38 20 00 00 mov 0x2038(%esi),%edx
99: 29 da sub %ebx,%edx
9b: c1 e2 05 shl $0x5,%edx
9e: 01 d0 add %edx,%eax
a0: 89 86 30 20 00 00 mov %eax,0x2030(%esi)
a6: e9 77 ff ff ff jmp 22 <alloc_node_mem_map+0x22>
ab: 90 nop
ac: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
000000b0 <zone_wait_table_init>:
b0: 55 push %ebp
b1: b9 04 00 00 00 mov $0x4,%ecx
b6: 89 e5 mov %esp,%ebp
b8: 57 push %edi
b9: 56 push %esi
ba: 89 c6 mov %eax,%esi
bc: 53 push %ebx
bd: c1 ea 08 shr $0x8,%edx
c0: 83 ec 04 sub $0x4,%esp
c3: 8b b8 8c 07 00 00 mov 0x78c(%eax),%edi
c9: 83 fa 01 cmp $0x1,%edx
cc: b8 01 00 00 00 mov $0x1,%eax
d1: 76 23 jbe f6 <zone_wait_table_init+0x46>
d3: 90 nop
d4: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
d8: 01 c0 add %eax,%eax
da: 39 c2 cmp %eax,%edx
dc: 77 fa ja d8 <zone_wait_table_init+0x28>
de: 3d 00 10 00 00 cmp $0x1000,%eax
e3: b9 00 10 00 00 mov $0x1000,%ecx
e8: 0f 46 c8 cmovbe %eax,%ecx
eb: b8 04 00 00 00 mov $0x4,%eax
f0: 83 f9 04 cmp $0x4,%ecx
f3: 0f 42 c8 cmovb %eax,%ecx
f6: 0f bc c1 bsf %ecx,%eax
f9: 89 8e 84 07 00 00 mov %ecx,0x784(%esi)
ff: 89 86 88 07 00 00 mov %eax,0x788(%esi)
105: 8d 04 49 lea (%ecx,%ecx,2),%eax
108: 8d 1c 85 00 00 00 00 lea 0x0(,%eax,4),%ebx
10f: e8 fc ff ff ff call 110 <zone_wait_table_init+0x60>
114: 85 c0 test %eax,%eax
116: 75 68 jne 180 <zone_wait_table_init+0xd0>
118: b9 80 00 00 00 mov $0x80,%ecx
11d: 89 da mov %ebx,%edx
11f: 89 f8 mov %edi,%eax
121: c7 04 24 00 00 00 01 movl $0x1000000,(%esp)
128: e8 fc ff ff ff call 129 <zone_wait_table_init+0x79>
12d: 89 86 80 07 00 00 mov %eax,0x780(%esi)
133: 8b 96 80 07 00 00 mov 0x780(%esi),%edx
139: b8 f4 ff ff ff mov $0xfffffff4,%eax
13e: 85 d2 test %edx,%edx
140: 74 36 je 178 <zone_wait_table_init+0xc8>
142: 8b 8e 84 07 00 00 mov 0x784(%esi),%ecx
148: 85 c9 test %ecx,%ecx
14a: 74 2a je 176 <zone_wait_table_init+0xc6>
14c: 31 db xor %ebx,%ebx
14e: 31 c0 xor %eax,%eax
150: eb 0c jmp 15e <zone_wait_table_init+0xae>
152: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
158: 8b 96 80 07 00 00 mov 0x780(%esi),%edx
15e: 8d 04 40 lea (%eax,%eax,2),%eax
161: 83 c3 01 add $0x1,%ebx
164: 8d 04 82 lea (%edx,%eax,4),%eax
167: e8 fc ff ff ff call 168 <zone_wait_table_init+0xb8>
16c: 89 d8 mov %ebx,%eax
16e: 39 9e 84 07 00 00 cmp %ebx,0x784(%esi)
174: 77 e2 ja 158 <zone_wait_table_init+0xa8>
176: 31 c0 xor %eax,%eax
178: 83 c4 04 add $0x4,%esp
17b: 5b pop %ebx
17c: 5e pop %esi
17d: 5f pop %edi
17e: 5d pop %ebp
17f: c3 ret
180: 89 d8 mov %ebx,%eax
182: e8 fc ff ff ff call 183 <zone_wait_table_init+0xd3>
187: 89 86 80 07 00 00 mov %eax,0x780(%esi)
18d: eb a4 jmp 133 <zone_wait_table_init+0x83>
Disassembly of section .altinstr_replacement:
00000000 <.altinstr_replacement>:
0: 0f 0d 08 prefetchw (%eax)
3: 0f 0d 0a prefetchw (%edx)
6: 0f 18 01 prefetchnta (%ecx)
9: 0f 18 01 prefetchnta (%ecx)
c: 0f 18 03 prefetchnta (%ebx)
f: 0f 18 03 prefetchnta (%ebx)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 23:28 ` Gene Heskett
@ 2009-03-13 4:55 ` David Newall
0 siblings, 0 replies; 18+ messages in thread
From: David Newall @ 2009-03-13 4:55 UTC (permalink / raw)
To: Gene Heskett; +Cc: linux-kernel@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 962 bytes --]
Gene,
I think it's a null page pointer passed to prep_new_page. It's
difficult to be certain, because it's compiled with -O2, but that's what
it looks like.
Let's test that hypothesis. Let's also compile page_alloc.c with
debugging. Do that by executing the commands in the attached file, and
then doing a make install (or whatever you do.)
But first, let's also sidestep the optimiser by making prep_new_page
public. Do that by changing:
static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)**
in mm/page_alloc.c, near line 637, to:
int my_prep_new_page(struct page *page, int order, gfp_t gfp_flags)**
and by changing:
if (prep_new_page(page, order, gfp_flags))
near line 1137, to:
if (my_prep_new_page(page, order, gfp_flags))
This will prevent the optimiser from inlining that function, and we
would expect to see the error change from
"get_page_from_freelist+0x24b/0x4c0" to "my_prep_new_page+0x0yy/0x0zz".
David
[-- Attachment #2: compile_page_alloc --]
[-- Type: text/plain, Size: 993 bytes --]
gcc -g -Wp,-MD,mm/.page_alloc.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include -Iinclude -I/home/davidn/NAS/linux.trees.git/arch/x86/include -include include/linux/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=k8 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(page_alloc)" -D"KBUILD_MODNAME=KBUILD_STR(page_alloc)" -c -o mm/page_alloc.o mm/page_alloc.c
scripts/basic/fixdep mm/.page_alloc.o.d mm/page_alloc.o 'gcc etc' > mm/.page_alloc.o.tmp
rm -f mm/.page_alloc.o.d
mv -f mm/.page_alloc.o.tmp mm/.page_alloc.o.cmd
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-12 18:31 ` Gene Heskett
@ 2009-03-16 2:55 ` KAMEZAWA Hiroyuki
2009-03-16 3:22 ` KAMEZAWA Hiroyuki
2009-03-16 8:03 ` BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was " KAMEZAWA Hiroyuki
0 siblings, 2 replies; 18+ messages in thread
From: KAMEZAWA Hiroyuki @ 2009-03-16 2:55 UTC (permalink / raw)
To: Gene Heskett
Cc: David Newall, linux-kernel@vger.kernel.org, linux-mm@kvack.org
On Thu, 12 Mar 2009 14:31:49 -0400
Gene Heskett <gene.heskett@gmail.com> wrote:
> Mar 12 14:15:02 coyote kernel: [ 2656.832669]
> Mar 12 14:15:02 coyote kernel: [ 2656.832672] Pid: 18877, comm: kmail Not tainted (2.6.29-rc7 #5) System Product Name
> Mar 12 14:15:02 coyote kernel: [ 2656.832675] EIP: 0060:[<c046520b>] EFLAGS: 00210202 CPU: 0
> Mar 12 14:15:02 coyote kernel: [ 2656.832678] EIP is at get_page_from_freelist+0x24b/0x4c0
> Mar 12 14:15:02 coyote kernel: [ 2656.832680] EAX: ffffffff EBX: 80004000 ECX: 00000001 EDX: 00000002
> Mar 12 14:15:02 coyote kernel: [ 2656.832682] ESI: c28fc260 EDI: 00000000 EBP: f2168d5c ESP: f2168cfc
> Mar 12 14:15:02 coyote kernel: [ 2656.832684] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> Mar 12 14:15:02 coyote kernel: [ 2656.832686] Process kmail (pid: 18877, ti=f2168000 task=f22018b0 task.ti=f2168000)
> Mar 12 14:15:02 coyote kernel: [ 2656.832688] Stack:
> Mar 12 14:15:02 coyote kernel: [ 2656.832689] 00000002 00000044 c28fc060 00000000 f1463ca4 c0744b80 c06d6480 00000002
> Mar 12 14:15:02 coyote kernel: [ 2656.832693] 00000000 00000000 001201d2 00000002 00200246 00000001 c06d6900 00000100
> Mar 12 14:15:02 coyote kernel: [ 2656.832698] 00000000 80000000 c06d7484 c06d6480 c06d6480 c06d6480 f22018b0 00000129
Added linux-mm to CC:
22a9: 8b 1e mov (%esi),%ebx #ebx=80004000 = page->flags
22ab: 89 f2 mov %esi,%edx #remember "page"
22ad: 8b 46 08 mov 0x8(%esi),%eax #esi+8=-1 page->mapcount
22b0: 8b 7e 10 mov 0x10(%esi),%edi #esi+16=0 page->mapping
22b3: f6 c7 40 test $0x40,%bh
22b6: 74 03 je 22bb <get_page_from_freelist+0x24b>
22b8: 8b 56 0c mov 0xc(%esi),%edx #page = page->first_page
22bb: 8b 4a 04 mov 0x4(%edx),%ecx #page->_count
Thank you for disassemble list, from above....
In prep_new_page()
610 static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
611 {
612 if (unlikely(page_mapcount(page) |
613 (page->mapping != NULL) |
614 (page_count(page) != 0) |
615 (page->flags & PAGE_FLAGS_CHECK_AT_PREP)))
616 bad_page(page);
page->mapping = NULL, (VALID)
page->mapcount = -1 (VALID)
page->count ==> NULL access because PageTail() is set, see below.
(Note: from .config, CONFIG_PAGEFLAGS_EXTENDED is set.)
==
288 static inline int page_count(struct page *page)
289 {
290 return atomic_read(&compound_head(page)->_count);
291 }
281 static inline struct page *compound_head(struct page *page)
282 {
283 if (unlikely(PageTail(page)))
284 return page->first_page;
285 return page;
286 }
==
PageTail() is true (this is invalid) and page->first_page contains obsolete data.
But, here, PG_tail should not be there...
Hmm ?
Regards,
-Kame
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: I just got got another Oops
2009-03-16 2:55 ` KAMEZAWA Hiroyuki
@ 2009-03-16 3:22 ` KAMEZAWA Hiroyuki
2009-03-16 8:03 ` BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was " KAMEZAWA Hiroyuki
1 sibling, 0 replies; 18+ messages in thread
From: KAMEZAWA Hiroyuki @ 2009-03-16 3:22 UTC (permalink / raw)
To: KAMEZAWA Hiroyuki
Cc: Gene Heskett, David Newall, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
On Mon, 16 Mar 2009 11:55:09 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> On Thu, 12 Mar 2009 14:31:49 -0400
> Gene Heskett <gene.heskett@gmail.com> wrote:
>
> > Mar 12 14:15:02 coyote kernel: [ 2656.832669]
> > Mar 12 14:15:02 coyote kernel: [ 2656.832672] Pid: 18877, comm: kmail Not tainted (2.6.29-rc7 #5) System Product Name
> > Mar 12 14:15:02 coyote kernel: [ 2656.832675] EIP: 0060:[<c046520b>] EFLAGS: 00210202 CPU: 0
> > Mar 12 14:15:02 coyote kernel: [ 2656.832678] EIP is at get_page_from_freelist+0x24b/0x4c0
> > Mar 12 14:15:02 coyote kernel: [ 2656.832680] EAX: ffffffff EBX: 80004000 ECX: 00000001 EDX: 00000002
> > Mar 12 14:15:02 coyote kernel: [ 2656.832682] ESI: c28fc260 EDI: 00000000 EBP: f2168d5c ESP: f2168cfc
> > Mar 12 14:15:02 coyote kernel: [ 2656.832684] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> > Mar 12 14:15:02 coyote kernel: [ 2656.832686] Process kmail (pid: 18877, ti=f2168000 task=f22018b0 task.ti=f2168000)
> > Mar 12 14:15:02 coyote kernel: [ 2656.832688] Stack:
> > Mar 12 14:15:02 coyote kernel: [ 2656.832689] 00000002 00000044 c28fc060 00000000 f1463ca4 c0744b80 c06d6480 00000002
> > Mar 12 14:15:02 coyote kernel: [ 2656.832693] 00000000 00000000 001201d2 00000002 00200246 00000001 c06d6900 00000100
> > Mar 12 14:15:02 coyote kernel: [ 2656.832698] 00000000 80000000 c06d7484 c06d6480 c06d6480 c06d6480 f22018b0 00000129
>
> Added linux-mm to CC:
>
> 22a9: 8b 1e mov (%esi),%ebx #ebx=80004000 = page->flags
> 22ab: 89 f2 mov %esi,%edx #remember "page"
> 22ad: 8b 46 08 mov 0x8(%esi),%eax #esi+8=-1 page->mapcount
> 22b0: 8b 7e 10 mov 0x10(%esi),%edi #esi+16=0 page->mapping
> 22b3: f6 c7 40 test $0x40,%bh
> 22b6: 74 03 je 22bb <get_page_from_freelist+0x24b>
> 22b8: 8b 56 0c mov 0xc(%esi),%edx #page = page->first_page
> 22bb: 8b 4a 04 mov 0x4(%edx),%ecx #page->_count
>
> Thank you for disassemble list, from above....
>
> In prep_new_page()
> 610 static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
> 611 {
> 612 if (unlikely(page_mapcount(page) |
> 613 (page->mapping != NULL) |
> 614 (page_count(page) != 0) |
> 615 (page->flags & PAGE_FLAGS_CHECK_AT_PREP)))
> 616 bad_page(page);
>
> page->mapping = NULL, (VALID)
> page->mapcount = -1 (VALID)
> page->count ==> NULL access because PageTail() is set, see below.
> (Note: from .config, CONFIG_PAGEFLAGS_EXTENDED is set.)
>
> ==
> 288 static inline int page_count(struct page *page)
> 289 {
> 290 return atomic_read(&compound_head(page)->_count);
> 291 }
>
> 281 static inline struct page *compound_head(struct page *page)
> 282 {
> 283 if (unlikely(PageTail(page)))
> 284 return page->first_page;
> 285 return page;
> 286 }
> ==
>
> PageTail() is true (this is invalid) and page->first_page contains obsolete data.
> But, here, PG_tail should not be there...
>
Gene-san, could you set CONFIG_DEBUG_VM (and other debug option ?)
I think it can give us another view.
-Kame
^ permalink raw reply [flat|nested] 18+ messages in thread
* BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-16 2:55 ` KAMEZAWA Hiroyuki
2009-03-16 3:22 ` KAMEZAWA Hiroyuki
@ 2009-03-16 8:03 ` KAMEZAWA Hiroyuki
2009-03-16 21:44 ` Hugh Dickins
1 sibling, 1 reply; 18+ messages in thread
From: KAMEZAWA Hiroyuki @ 2009-03-16 8:03 UTC (permalink / raw)
To: hugh@veritas.com
Cc: Gene Heskett, David Newall, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, akpm@linux-foundation.org
Hi,
I'm sorry if I miss something..
>From this patch
==
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=79f4b7bf393e67bbffec807cc68caaefc72b82ee
==
#define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
...
@@ -468,16 +467,16 @@ static inline int free_pages_check(struct page *page)
(page_count(page) != 0) |
(page->flags & PAGE_FLAGS_CHECK_AT_FREE)))
....
+ if (PageReserved(page))
+ return 1;
+ if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
+ page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
+ return 0;
}
==
PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
This means PG_head/PG_tail(PG_compound) flags are cleared here and Compound page
will never be freed in sane way.
Regards,
-Kame
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-16 8:03 ` BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was " KAMEZAWA Hiroyuki
@ 2009-03-16 21:44 ` Hugh Dickins
2009-03-16 23:44 ` KAMEZAWA Hiroyuki
2009-03-20 15:23 ` Mel Gorman
0 siblings, 2 replies; 18+ messages in thread
From: Hugh Dickins @ 2009-03-16 21:44 UTC (permalink / raw)
To: KAMEZAWA Hiroyuki
Cc: Gene Heskett, David Newall, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, akpm@linux-foundation.org
On Mon, 16 Mar 2009, KAMEZAWA Hiroyuki wrote:
> Hi,
> I'm sorry if I miss something..
I think it's me who missed something, and needs to say sorry.
>
> >From this patch
> ==
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=79f4b7bf393e67bbffec807cc68caaefc72b82ee
> ==
> #define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
> ...
> @@ -468,16 +467,16 @@ static inline int free_pages_check(struct page *page)
> (page_count(page) != 0) |
> (page->flags & PAGE_FLAGS_CHECK_AT_FREE)))
> ....
> + if (PageReserved(page))
> + return 1;
> + if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
> + page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
> + return 0;
> }
> ==
>
> PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
>
> This means PG_head/PG_tail(PG_compound) flags are cleared here
Yes, well spotted. How embarrassing. I must have got confused
about when the checking occurred when freeing a compound page.
> and Compound page will never be freed in sane way.
But is that so? I'll admit I've not tried this out yet, but my
understanding is that the Compound page actually gets freed fine:
free_compound_page() should have passed the right order down, and this
PAGE_FLAGS_CHECK_AT_PREP clearing should remove the Head/Tail/Compound
flags - doesn't it all work out sanely, without any leaking?
What goes missing is all the destroy_compound_page() checks:
that's at present just dead code.
There's several things we could do about this.
1. We could regard destroy_compound_page() as legacy debugging code
from when compound pages were first introduced, and sanctify my error
by removing it. Obviously that's appealing to me, makes me look like
a prophet rather than idiot! That's not necessarily the right thing to
do, but might appeal also to those cutting overhead from page_alloc.c.
2. We could do the destroy_compound_page() stuff in free_compound_page()
before calling __free_pages_ok(), and add the Head/Tail/Compound flags
into PAGE_FLAGS_CHECK_AT_FREE. That seems a more natural ordering to
me, and would remove the PageCompound check from a hotter path; but
I've a suspicion there's a good reason why it was not done that way,
that I'm overlooking at this moment.
3. We can define a PAGE_FLAGS_CLEAR_AT_FREE which omits the Head/Tail/
Compound flags, and lets destroy_compound_page() be called as before
where it's currently intended.
What do you think? I suspect I'm going to have to spend tomorrow
worrying about something else entirely, and won't return here until
Wednesday.
But as regards the original "I just got got another Oops": my bug
that you point out here doesn't account for that, does it? It's
still a mystery, isn't it, how the PageTail bit came to be set at
that point?
But that Oops does demonstrate that it's a very bad idea to be using
the deceptive page_count() in those bad_page() checks: we need to be
checking page->_count directly.
And in looking at this, I notice something else to worry about:
that CONFIG_HUGETLBFS prep_compound_gigantic_page(), which seems
to exist for a more general case than "p = page + i" - what happens
when such a gigantic page is freed, and arrives at the various
"p = page + i" assumptions on the freeing path?
Hugh
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-16 21:44 ` Hugh Dickins
@ 2009-03-16 23:44 ` KAMEZAWA Hiroyuki
2009-03-20 15:23 ` Mel Gorman
1 sibling, 0 replies; 18+ messages in thread
From: KAMEZAWA Hiroyuki @ 2009-03-16 23:44 UTC (permalink / raw)
To: Hugh Dickins
Cc: Gene Heskett, David Newall, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, akpm@linux-foundation.org
On Mon, 16 Mar 2009 21:44:11 +0000 (GMT)
Hugh Dickins <hugh@veritas.com> wrote:
> On Mon, 16 Mar 2009, KAMEZAWA Hiroyuki wrote:
> > Hi,
> > I'm sorry if I miss something..
>
> I think it's me who missed something, and needs to say sorry.
>
> >
> > >From this patch
> > ==
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=79f4b7bf393e67bbffec807cc68caaefc72b82ee
> > ==
> > #define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
> > ...
> > @@ -468,16 +467,16 @@ static inline int free_pages_check(struct page *page)
> > (page_count(page) != 0) |
> > (page->flags & PAGE_FLAGS_CHECK_AT_FREE)))
> > ....
> > + if (PageReserved(page))
> > + return 1;
> > + if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
> > + page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
> > + return 0;
> > }
> > ==
> >
> > PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
> >
> > This means PG_head/PG_tail(PG_compound) flags are cleared here
>
> Yes, well spotted. How embarrassing. I must have got confused
> about when the checking occurred when freeing a compound page.
>
> > and Compound page will never be freed in sane way.
>
> But is that so? I'll admit I've not tried this out yet, but my
> understanding is that the Compound page actually gets freed fine:
> free_compound_page() should have passed the right order down, and this
> PAGE_FLAGS_CHECK_AT_PREP clearing should remove the Head/Tail/Compound
> flags - doesn't it all work out sanely, without any leaking?
>
I think it works sanely and pages are freed in valid way.
But bad_page() checking for compound pages (at destroy_compound_page())
is not done.
> What goes missing is all the destroy_compound_page() checks:
> that's at present just dead code.
>
> There's several things we could do about this.
>
> 1. We could regard destroy_compound_page() as legacy debugging code
> from when compound pages were first introduced, and sanctify my error
> by removing it. Obviously that's appealing to me, makes me look like
> a prophet rather than idiot! That's not necessarily the right thing to
> do, but might appeal also to those cutting overhead from page_alloc.c.
>
> 2. We could do the destroy_compound_page() stuff in free_compound_page()
> before calling __free_pages_ok(), and add the Head/Tail/Compound flags
> into PAGE_FLAGS_CHECK_AT_FREE. That seems a more natural ordering to
> me, and would remove the PageCompound check from a hotter path; but
> I've a suspicion there's a good reason why it was not done that way,
> that I'm overlooking at this moment.
>
> 3. We can define a PAGE_FLAGS_CLEAR_AT_FREE which omits the Head/Tail/
> Compound flags, and lets destroy_compound_page() be called as before
> where it's currently intended.
>
> What do you think? I suspect I'm going to have to spend tomorrow
> worrying about something else entirely, and won't return here until
> Wednesday.
>
I like "2".
> But as regards the original "I just got got another Oops": my bug
> that you point out here doesn't account for that, does it? It's
> still a mystery, isn't it, how the PageTail bit came to be set at
> that point?
>
I never find "who set it/where does it set". But page_alloc.c is an only
file which modifies PageTail bit and I'm the last modifier of it.
So, I'm intersted in this Oops.
> But that Oops does demonstrate that it's a very bad idea to be using
> the deceptive page_count() in those bad_page() checks: we need to be
> checking page->_count directly.
>
I think so.
> And in looking at this, I notice something else to worry about:
> that CONFIG_HUGETLBFS prep_compound_gigantic_page(), which seems
> to exist for a more general case than "p = page + i" - what happens
> when such a gigantic page is freed, and arrives at the various
> "p = page + i" assumptions on the freeing path?
>
Ah, I missed that path. I'll look into that today.
Thanks,
-Kame
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-16 21:44 ` Hugh Dickins
2009-03-16 23:44 ` KAMEZAWA Hiroyuki
@ 2009-03-20 15:23 ` Mel Gorman
2009-03-22 14:55 ` Hugh Dickins
1 sibling, 1 reply; 18+ messages in thread
From: Mel Gorman @ 2009-03-20 15:23 UTC (permalink / raw)
To: Hugh Dickins
Cc: KAMEZAWA Hiroyuki, Gene Heskett, David Newall,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org
On Mon, Mar 16, 2009 at 09:44:11PM +0000, Hugh Dickins wrote:
> On Mon, 16 Mar 2009, KAMEZAWA Hiroyuki wrote:
> > Hi,
> > I'm sorry if I miss something..
>
> I think it's me who missed something, and needs to say sorry.
>
Joining the party late as always.
> >
> > >From this patch
> > ==
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=79f4b7bf393e67bbffec807cc68caaefc72b82ee
> > ==
> > #define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
> > ...
> > @@ -468,16 +467,16 @@ static inline int free_pages_check(struct page *page)
> > (page_count(page) != 0) |
> > (page->flags & PAGE_FLAGS_CHECK_AT_FREE)))
> > ....
> > + if (PageReserved(page))
> > + return 1;
> > + if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
> > + page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
> > + return 0;
> > }
> > ==
> >
> > PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
> >
> > This means PG_head/PG_tail(PG_compound) flags are cleared here
>
> Yes, well spotted. How embarrassing. I must have got confused
> about when the checking occurred when freeing a compound page.
>
I noticed this actually during the page allocator work and concluded
it didn't matter because free_pages_check() cleared out the bits in
the same way destroy_compound_page() did. The big difference was that
destroy_compound_page() did a lot more sanity checks and was slower.
I accidentally fixed this (because I implemented what I though things
should be doing instead of what they were really doing) at one point and
the overhead was so high of the debugging check that I just made a note to
"deal with this later, it's weird looking but ok".
> > and Compound page will never be freed in sane way.
>
> But is that so? I'll admit I've not tried this out yet, but my
> understanding is that the Compound page actually gets freed fine:
> free_compound_page() should have passed the right order down, and this
> PAGE_FLAGS_CHECK_AT_PREP clearing should remove the Head/Tail/Compound
> flags - doesn't it all work out sanely, without any leaking?
>
That's more or less what I thought. It can't leak but it's not what you
expect from compound page destructors either.
> What goes missing is all the destroy_compound_page() checks:
> that's at present just dead code.
>
> There's several things we could do about this.
>
> 1. We could regard destroy_compound_page() as legacy debugging code
> from when compound pages were first introduced, and sanctify my error
> by removing it. Obviously that's appealing to me, makes me look like
> a prophet rather than idiot! That's not necessarily the right thing to
> do, but might appeal also to those cutting overhead from page_alloc.c.
>
The function is pretty heavy it has to be said. This would be my preferred
option rather than making the allocator go slower.
> 2. We could do the destroy_compound_page() stuff in free_compound_page()
> before calling __free_pages_ok(), and add the Head/Tail/Compound flags
> into PAGE_FLAGS_CHECK_AT_FREE. hat seems a more natural ordering to
> me, and would remove the PageCompound check from a hotter path; but
> I've a suspicion there's a good reason why it was not done that way,
> that I'm overlooking at this moment.
>
I made this change and dropped it on the grounds it slowed things up so
badly. It was part of allowing compound pages to be on the PCP lists.
and ended up looking something like
static void free_compound_page(struct page *page)
{
unsigned int order = compound_order(page);
VM_BUG_ON(!PageCompound(page));
if (unlikely(destroy_compound_page(page, order)))
return;
__free_pages_ok(page, order);
}
> 3. We can define a PAGE_FLAGS_CLEAR_AT_FREE which omits the Head/Tail/
> Compound flags, and lets destroy_compound_page() be called as before
> where it's currently intended.
>
Also did that, slowed things up. Tried fixing destroy_compound_page()
but it was doing the same work as free_pages_check() so it also sucked.
> What do you think? I suspect I'm going to have to spend tomorrow
> worrying about something else entirely, and won't return here until
> Wednesday.
>
> But as regards the original "I just got got another Oops": my bug
> that you point out here doesn't account for that, does it? It's
> still a mystery, isn't it, how the PageTail bit came to be set at
> that point?
>
> But that Oops does demonstrate that it's a very bad idea to be using
> the deceptive page_count() in those bad_page() checks: we need to be
> checking page->_count directly.
>
> And in looking at this, I notice something else to worry about:
> that CONFIG_HUGETLBFS prep_compound_gigantic_page(), which seems
> to exist for a more general case than "p = page + i" - what happens
> when such a gigantic page is freed, and arrives at the various
> "p = page + i" assumptions on the freeing path?
>
That function is a bit confusing I'll give you that. Glancing through,
what happens is that the destuctor gets replaced with a free_huge_page()
which throws the page onto those free lists instead. It never hits the
buddy lists on the grounds they can't handle orders >= MAX_ORDER.
Out of curiousity, here is a patch that was intended for a totally different
purpose but ended up forcing destroy_compound_page() to be used. It sucked
so I ended up unfixing it again. It can't be merged as-is obviously but
you'll see I redefined your flags a bit to exclude the compound flags
and all that jazz. It could be rebased of course but it'd make more sense
to have destroy_compound_page() that only does real work for DEBUG_VM as
free_pages_check() already does enough work.
====
>From 93f9b5ebae0000ae3e7985c98680226f4bdd90a8 Mon Sep 17 00:00:00 2001
From: Mel Gorman <mel@csn.ul.ie>
Date: Mon, 9 Mar 2009 11:56:56 +0000
Subject: [PATCH 32/34] Allow compound pages to be stored on the PCP lists
The SLUB allocator frees and allocates compound pages. The setup costs
for compound pages are noticeable in profiles and incur cache misses as
every struct page has to be checked and written. This patch allows
compound pages to be stored on the PCP list to save on teardown and
setup time.
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
---
include/linux/page-flags.h | 4 ++-
mm/page_alloc.c | 56 ++++++++++++++++++++++++++++++-------------
2 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 219a523..4177ec1 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -388,7 +388,9 @@ static inline void __ClearPageTail(struct page *page)
* Pages being prepped should not have any flags set. It they are set,
* there has been a kernel bug or struct page corruption.
*/
-#define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
+#define PAGE_FLAGS_CHECK_AT_PREP_BUDDY ((1 << NR_PAGEFLAGS) - 1)
+#define PAGE_FLAGS_CHECK_AT_PREP (((1 << NR_PAGEFLAGS) - 1) & \
+ ~(1 << PG_head | 1 << PG_tail))
#endif /* !__GENERATING_BOUNDS_H */
#endif /* PAGE_FLAGS_H */
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 253fd98..2941638 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -280,11 +280,7 @@ out:
* put_page() function. Its ->lru.prev holds the order of allocation.
* This usage means that zero-order pages may not be compound.
*/
-
-static void free_compound_page(struct page *page)
-{
- __free_pages_ok(page, compound_order(page));
-}
+static void free_compound_page(struct page *page);
void prep_compound_page(struct page *page, unsigned long order)
{
@@ -553,7 +549,9 @@ static inline void __free_one_page(struct page *page,
zone->free_area[page_order(page)].nr_free++;
}
-static inline int free_pages_check(struct page *page)
+/* Sanity check a free pages flags */
+static inline int check_freepage_flags(struct page *page,
+ unsigned long prepflags)
{
if (unlikely(page_mapcount(page) |
(page->mapping != NULL) |
@@ -562,8 +560,8 @@ static inline int free_pages_check(struct page *page)
bad_page(page);
return 1;
}
- if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
- page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
+ if (page->flags & prepflags)
+ page->flags &= ~prepflags;
return 0;
}
@@ -602,6 +600,12 @@ static int free_pcppages_bulk(struct zone *zone, int count,
page = list_entry(list->prev, struct page, lru);
freed += 1 << page->index;
list_del(&page->lru);
+
+ /* SLUB can have compound pages to the free lists */
+ if (unlikely(PageCompound(page)))
+ if (unlikely(destroy_compound_page(page, page->index)))
+ continue;
+
__free_one_page(page, zone, page->index, migratetype);
}
spin_unlock(&zone->lock);
@@ -633,8 +637,10 @@ static void __free_pages_ok(struct page *page, unsigned int order)
int bad = 0;
int clearMlocked = PageMlocked(page);
+ VM_BUG_ON(PageCompound(page));
for (i = 0 ; i < (1 << order) ; ++i)
- bad += free_pages_check(page + i);
+ bad += check_freepage_flags(page + i,
+ PAGE_FLAGS_CHECK_AT_PREP_BUDDY);
if (bad)
return;
@@ -738,8 +744,20 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
if (gfp_flags & __GFP_ZERO)
prep_zero_page(page, order, gfp_flags);
- if (order && (gfp_flags & __GFP_COMP))
- prep_compound_page(page, order);
+ /*
+ * If a compound page is requested, we have to check the page being
+ * prepped. If it's already compound, we leave it alone. If a
+ * compound page is not requested but the page being prepped is
+ * compound, then it must be destroyed
+ */
+ if (order) {
+ if ((gfp_flags & __GFP_COMP) && !PageCompound(page))
+ prep_compound_page(page, order);
+
+ if (!(gfp_flags & __GFP_COMP) && PageCompound(page))
+ if (unlikely(destroy_compound_page(page, order)))
+ return 1;
+ }
return 0;
}
@@ -1105,14 +1123,9 @@ static void free_hot_cold_page(struct page *page, int order, int cold)
int migratetype;
int clearMlocked = PageMlocked(page);
- /* SLUB can return lowish-order compound pages that need handling */
- if (order > 0 && unlikely(PageCompound(page)))
- if (unlikely(destroy_compound_page(page, order)))
- return;
-
if (PageAnon(page))
page->mapping = NULL;
- if (free_pages_check(page))
+ if (check_freepage_flags(page, PAGE_FLAGS_CHECK_AT_PREP))
return;
if (!PageHighMem(page)) {
@@ -1160,6 +1173,15 @@ out:
put_cpu();
}
+static void free_compound_page(struct page *page)
+{
+ unsigned int order = compound_order(page);
+ if (order <= PAGE_ALLOC_COSTLY_ORDER)
+ free_hot_cold_page(page, order, 0);
+ else
+ __free_pages_ok(page, order);
+}
+
void free_hot_page(struct page *page)
{
free_hot_cold_page(page, 0, 0);
--
1.5.6.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-20 15:23 ` Mel Gorman
@ 2009-03-22 14:55 ` Hugh Dickins
2009-03-23 11:27 ` Mel Gorman
0 siblings, 1 reply; 18+ messages in thread
From: Hugh Dickins @ 2009-03-22 14:55 UTC (permalink / raw)
To: Mel Gorman
Cc: KAMEZAWA Hiroyuki, Gene Heskett, David Newall,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org
On Fri, 20 Mar 2009, Mel Gorman wrote:
> On Mon, Mar 16, 2009 at 09:44:11PM +0000, Hugh Dickins wrote:
> > On Mon, 16 Mar 2009, KAMEZAWA Hiroyuki wrote:
> > >
> > > PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
> > > This means PG_head/PG_tail(PG_compound) flags are cleared here
> >
> > Yes, well spotted. How embarrassing. I must have got confused
> > about when the checking occurred when freeing a compound page.
>
> I noticed this actually during the page allocator work and concluded
> it didn't matter because free_pages_check() cleared out the bits in
> the same way destroy_compound_page() did. The big difference was that
> destroy_compound_page() did a lot more sanity checks and was slower.
>
> I accidentally fixed this (because I implemented what I though things
> should be doing instead of what they were really doing) at one point and
> the overhead was so high of the debugging check that I just made a note to
> "deal with this later, it's weird looking but ok".
I'm surprised the overhead was so high: I'd have imagined that it
was just treading on the same cachelines as free_pages_check()
already did, doing rather less work.
>
> > > and Compound page will never be freed in sane way.
> >
> > But is that so? I'll admit I've not tried this out yet, but my
> > understanding is that the Compound page actually gets freed fine:
> > free_compound_page() should have passed the right order down, and this
> > PAGE_FLAGS_CHECK_AT_PREP clearing should remove the Head/Tail/Compound
> > flags - doesn't it all work out sanely, without any leaking?
> >
>
> That's more or less what I thought. It can't leak but it's not what you
> expect from compound page destructors either.
>
> > What goes missing is all the destroy_compound_page() checks:
> > that's at present just dead code.
> >
> > There's several things we could do about this.
> >
> > 1. We could regard destroy_compound_page() as legacy debugging code
> > from when compound pages were first introduced, and sanctify my error
> > by removing it. Obviously that's appealing to me, makes me look like
> > a prophet rather than idiot! That's not necessarily the right thing to
> > do, but might appeal also to those cutting overhead from page_alloc.c.
> >
>
> The function is pretty heavy it has to be said. This would be my preferred
> option rather than making the allocator go slower.
KAMEZAWA-san has voted for 2, so that was what I was intending to do.
But if destroy_compound_page() really is costly, I'm happy to throw
it out if others agree.
I don't think it actually buys us a great deal: the main thing it checks
(looking forward to the reuse of the pages, rather than just checking
that what was set up is still there) is that the order being freed is
not greater than the order that was allocated; but I think a PG_buddy
or a page->_count in the excess should catch that in free_pages_check().
And we don't have any such check for the much(?) more common case of
freeing a non-compound high-order page.
>
> > 2. We could do the destroy_compound_page() stuff in free_compound_page()
> > before calling __free_pages_ok(), and add the Head/Tail/Compound flags
> > into PAGE_FLAGS_CHECK_AT_FREE. hat seems a more natural ordering to
> > me, and would remove the PageCompound check from a hotter path; but
> > I've a suspicion there's a good reason why it was not done that way,
> > that I'm overlooking at this moment.
> >
>
> I made this change and dropped it on the grounds it slowed things up so
> badly. It was part of allowing compound pages to be on the PCP lists.
> and ended up looking something like
>
> static void free_compound_page(struct page *page)
> {
> unsigned int order = compound_order(page);
>
> VM_BUG_ON(!PageCompound(page));
> if (unlikely(destroy_compound_page(page, order)))
> return;
>
> __free_pages_ok(page, order);
> }
Yes, that's how I was imagining it. But I think we'd also want
to change hugetlb.c's set_compound_page_dtor(page, NULL) to
set_compound_page_dtor(page, free_compound_page), wouldn't we?
So far as I can see, that's the case that led the destroy call
to be sited in __free_one_page(), but I still don't get why it
was done that way.
>
> > 3. We can define a PAGE_FLAGS_CLEAR_AT_FREE which omits the Head/Tail/
> > Compound flags, and lets destroy_compound_page() be called as before
> > where it's currently intended.
> >
>
> Also did that, slowed things up. Tried fixing destroy_compound_page()
> but it was doing the same work as free_pages_check() so it also sucked.
>
> > What do you think? I suspect I'm going to have to spend tomorrow
> > worrying about something else entirely, and won't return here until
> > Wednesday.
> >
> > But as regards the original "I just got got another Oops": my bug
> > that you point out here doesn't account for that, does it? It's
> > still a mystery, isn't it, how the PageTail bit came to be set at
> > that point?
> >
> > But that Oops does demonstrate that it's a very bad idea to be using
> > the deceptive page_count() in those bad_page() checks: we need to be
> > checking page->_count directly.
I notice your/Nick's 20/25 addresses this issue, good - I'd even be
happy to see that change go into 2.6.29, though probably too late now
(and it has been that way forever). But note, it does need one of us
to replace the page_count in bad_page() in the same way, that's missing.
I've given up on trying to understand how that PageTail is set in
Gene's oops. I was thinking that it got left behind somewhere
because of my destroy_compound_page sequence error, but I just
can't see how: I wonder if it's just a corrupt bit in the struct.
I don't now feel that we need to rush a fix for my error into 2.6.29:
it does appear to be working nicely enough with that inadvertent
change, and we're not yet agreed on which way to go from here.
> >
> > And in looking at this, I notice something else to worry about:
> > that CONFIG_HUGETLBFS prep_compound_gigantic_page(), which seems
> > to exist for a more general case than "p = page + i" - what happens
> > when such a gigantic page is freed, and arrives at the various
> > "p = page + i" assumptions on the freeing path?
> >
>
> That function is a bit confusing I'll give you that. Glancing through,
> what happens is that the destuctor gets replaced with a free_huge_page()
> which throws the page onto those free lists instead. It never hits the
> buddy lists on the grounds they can't handle orders >= MAX_ORDER.
Ah yes, thanks a lot, I'd forgotten all that. Yes, there appear to
be adequate MAX_ORDER checks in hugetlb.c to prevent that danger.
>
> Out of curiousity,
My curiosity is very limited at the moment, I'm afraid I've not glanced.
> here is a patch that was intended for a totally different
> purpose but ended up forcing destroy_compound_page() to be used. It sucked
> so I ended up unfixing it again. It can't be merged as-is obviously but
> you'll see I redefined your flags a bit to exclude the compound flags
> and all that jazz. It could be rebased of course but it'd make more sense
> to have destroy_compound_page() that only does real work for DEBUG_VM as
> free_pages_check() already does enough work.
Yes, putting it under DEBUG_VM could be a compromise; though by now I've
persuaded myself that it's of little value, and the times it might catch
something would be out there without DEBUG_VM=y.
Hugh
>
> ====
>
> >From 93f9b5ebae0000ae3e7985c98680226f4bdd90a8 Mon Sep 17 00:00:00 2001
> From: Mel Gorman <mel@csn.ul.ie>
> Date: Mon, 9 Mar 2009 11:56:56 +0000
> Subject: [PATCH 32/34] Allow compound pages to be stored on the PCP lists
>
> The SLUB allocator frees and allocates compound pages. The setup costs
> for compound pages are noticeable in profiles and incur cache misses as
> every struct page has to be checked and written. This patch allows
> compound pages to be stored on the PCP list to save on teardown and
> setup time.
>
> Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> ---
> include/linux/page-flags.h | 4 ++-
> mm/page_alloc.c | 56 ++++++++++++++++++++++++++++++-------------
> 2 files changed, 42 insertions(+), 18 deletions(-)
>
> diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
> index 219a523..4177ec1 100644
> --- a/include/linux/page-flags.h
> +++ b/include/linux/page-flags.h
> @@ -388,7 +388,9 @@ static inline void __ClearPageTail(struct page *page)
> * Pages being prepped should not have any flags set. It they are set,
> * there has been a kernel bug or struct page corruption.
> */
> -#define PAGE_FLAGS_CHECK_AT_PREP ((1 << NR_PAGEFLAGS) - 1)
> +#define PAGE_FLAGS_CHECK_AT_PREP_BUDDY ((1 << NR_PAGEFLAGS) - 1)
> +#define PAGE_FLAGS_CHECK_AT_PREP (((1 << NR_PAGEFLAGS) - 1) & \
> + ~(1 << PG_head | 1 << PG_tail))
>
> #endif /* !__GENERATING_BOUNDS_H */
> #endif /* PAGE_FLAGS_H */
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 253fd98..2941638 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -280,11 +280,7 @@ out:
> * put_page() function. Its ->lru.prev holds the order of allocation.
> * This usage means that zero-order pages may not be compound.
> */
> -
> -static void free_compound_page(struct page *page)
> -{
> - __free_pages_ok(page, compound_order(page));
> -}
> +static void free_compound_page(struct page *page);
>
> void prep_compound_page(struct page *page, unsigned long order)
> {
> @@ -553,7 +549,9 @@ static inline void __free_one_page(struct page *page,
> zone->free_area[page_order(page)].nr_free++;
> }
>
> -static inline int free_pages_check(struct page *page)
> +/* Sanity check a free pages flags */
> +static inline int check_freepage_flags(struct page *page,
> + unsigned long prepflags)
> {
> if (unlikely(page_mapcount(page) |
> (page->mapping != NULL) |
> @@ -562,8 +560,8 @@ static inline int free_pages_check(struct page *page)
> bad_page(page);
> return 1;
> }
> - if (page->flags & PAGE_FLAGS_CHECK_AT_PREP)
> - page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
> + if (page->flags & prepflags)
> + page->flags &= ~prepflags;
> return 0;
> }
>
> @@ -602,6 +600,12 @@ static int free_pcppages_bulk(struct zone *zone, int count,
> page = list_entry(list->prev, struct page, lru);
> freed += 1 << page->index;
> list_del(&page->lru);
> +
> + /* SLUB can have compound pages to the free lists */
> + if (unlikely(PageCompound(page)))
> + if (unlikely(destroy_compound_page(page, page->index)))
> + continue;
> +
> __free_one_page(page, zone, page->index, migratetype);
> }
> spin_unlock(&zone->lock);
> @@ -633,8 +637,10 @@ static void __free_pages_ok(struct page *page, unsigned int order)
> int bad = 0;
> int clearMlocked = PageMlocked(page);
>
> + VM_BUG_ON(PageCompound(page));
> for (i = 0 ; i < (1 << order) ; ++i)
> - bad += free_pages_check(page + i);
> + bad += check_freepage_flags(page + i,
> + PAGE_FLAGS_CHECK_AT_PREP_BUDDY);
> if (bad)
> return;
>
> @@ -738,8 +744,20 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
> if (gfp_flags & __GFP_ZERO)
> prep_zero_page(page, order, gfp_flags);
>
> - if (order && (gfp_flags & __GFP_COMP))
> - prep_compound_page(page, order);
> + /*
> + * If a compound page is requested, we have to check the page being
> + * prepped. If it's already compound, we leave it alone. If a
> + * compound page is not requested but the page being prepped is
> + * compound, then it must be destroyed
> + */
> + if (order) {
> + if ((gfp_flags & __GFP_COMP) && !PageCompound(page))
> + prep_compound_page(page, order);
> +
> + if (!(gfp_flags & __GFP_COMP) && PageCompound(page))
> + if (unlikely(destroy_compound_page(page, order)))
> + return 1;
> + }
>
> return 0;
> }
> @@ -1105,14 +1123,9 @@ static void free_hot_cold_page(struct page *page, int order, int cold)
> int migratetype;
> int clearMlocked = PageMlocked(page);
>
> - /* SLUB can return lowish-order compound pages that need handling */
> - if (order > 0 && unlikely(PageCompound(page)))
> - if (unlikely(destroy_compound_page(page, order)))
> - return;
> -
> if (PageAnon(page))
> page->mapping = NULL;
> - if (free_pages_check(page))
> + if (check_freepage_flags(page, PAGE_FLAGS_CHECK_AT_PREP))
> return;
>
> if (!PageHighMem(page)) {
> @@ -1160,6 +1173,15 @@ out:
> put_cpu();
> }
>
> +static void free_compound_page(struct page *page)
> +{
> + unsigned int order = compound_order(page);
> + if (order <= PAGE_ALLOC_COSTLY_ORDER)
> + free_hot_cold_page(page, order, 0);
> + else
> + __free_pages_ok(page, order);
> +}
> +
> void free_hot_page(struct page *page)
> {
> free_hot_cold_page(page, 0, 0);
> --
> 1.5.6.5
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was Re: I just got got another Oops
2009-03-22 14:55 ` Hugh Dickins
@ 2009-03-23 11:27 ` Mel Gorman
0 siblings, 0 replies; 18+ messages in thread
From: Mel Gorman @ 2009-03-23 11:27 UTC (permalink / raw)
To: Hugh Dickins
Cc: KAMEZAWA Hiroyuki, Gene Heskett, David Newall,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org
On Sun, Mar 22, 2009 at 02:55:08PM +0000, Hugh Dickins wrote:
> On Fri, 20 Mar 2009, Mel Gorman wrote:
> > On Mon, Mar 16, 2009 at 09:44:11PM +0000, Hugh Dickins wrote:
> > > On Mon, 16 Mar 2009, KAMEZAWA Hiroyuki wrote:
> > > >
> > > > PAGE_FLAGS_CHECK_AT_PREP is cleared by free_pages_check().
> > > > This means PG_head/PG_tail(PG_compound) flags are cleared here
> > >
> > > Yes, well spotted. How embarrassing. I must have got confused
> > > about when the checking occurred when freeing a compound page.
> >
> > I noticed this actually during the page allocator work and concluded
> > it didn't matter because free_pages_check() cleared out the bits in
> > the same way destroy_compound_page() did. The big difference was that
> > destroy_compound_page() did a lot more sanity checks and was slower.
> >
> > I accidentally fixed this (because I implemented what I though things
> > should be doing instead of what they were really doing) at one point and
> > the overhead was so high of the debugging check that I just made a note to
> > "deal with this later, it's weird looking but ok".
>
> I'm surprised the overhead was so high: I'd have imagined that it
> was just treading on the same cachelines as free_pages_check()
> already did, doing rather less work.
>
My recollection is that it looked heavy because I was running netperf which
was allocating on one CPU and freeing on the other, incurring a cache miss
for every page it wrote to. This showed up heavily in profiles as you might
imagine. However, this penalty would also be hit in free_pages_check() if
destroy_compound_page() had not run so that skewed my perception. Still, we are
running over the same array of pages twice, when we could have done it once.
> >
> > > > and Compound page will never be freed in sane way.
> > >
> > > But is that so? I'll admit I've not tried this out yet, but my
> > > understanding is that the Compound page actually gets freed fine:
> > > free_compound_page() should have passed the right order down, and this
> > > PAGE_FLAGS_CHECK_AT_PREP clearing should remove the Head/Tail/Compound
> > > flags - doesn't it all work out sanely, without any leaking?
> > >
> >
> > That's more or less what I thought. It can't leak but it's not what you
> > expect from compound page destructors either.
> >
> > > What goes missing is all the destroy_compound_page() checks:
> > > that's at present just dead code.
> > >
> > > There's several things we could do about this.
> > >
> > > 1. We could regard destroy_compound_page() as legacy debugging code
> > > from when compound pages were first introduced, and sanctify my error
> > > by removing it. Obviously that's appealing to me, makes me look like
> > > a prophet rather than idiot! That's not necessarily the right thing to
> > > do, but might appeal also to those cutting overhead from page_alloc.c.
> > >
> >
> > The function is pretty heavy it has to be said. This would be my preferred
> > option rather than making the allocator go slower.
>
> KAMEZAWA-san has voted for 2, so that was what I was intending to do.
> But if destroy_compound_page() really is costly, I'm happy to throw
> it out if others agree.
>
I withdraw the objection on the grounds that 2 is the more correct
option of the two. Even though it is heavy, it is also possible to hold
compound pages on the PCP lists for a time and can be avoided in more
ways than one.
> I don't think it actually buys us a great deal: the main thing it checks
> (looking forward to the reuse of the pages, rather than just checking
> that what was set up is still there) is that the order being freed is
> not greater than the order that was allocated; but I think a PG_buddy
> or a page->_count in the excess should catch that in free_pages_check().
>
> And we don't have any such check for the much(?) more common case of
> freeing a non-compound high-order page.
>
We have a similar check sortof. It looks like this
for (i = 0 ; i < (1 << order) ; ++i)
bad += free_pages_check(page + i);
This is where we are walking over the array twice. One way of fixing this would
be to move the free_pages_check() higher in the call chain for high-order
pages and have destroy_compound_page() first checkec the tail pages know
where their head is and then call free_pages_check(). That should re-enable
just the debugging check without too much cost.
> > > 2. We could do the destroy_compound_page() stuff in free_compound_page()
> > > before calling __free_pages_ok(), and add the Head/Tail/Compound flags
> > > into PAGE_FLAGS_CHECK_AT_FREE. hat seems a more natural ordering to
> > > me, and would remove the PageCompound check from a hotter path; but
> > > I've a suspicion there's a good reason why it was not done that way,
> > > that I'm overlooking at this moment.
> > >
> >
> > I made this change and dropped it on the grounds it slowed things up so
> > badly. It was part of allowing compound pages to be on the PCP lists.
> > and ended up looking something like
> >
> > static void free_compound_page(struct page *page)
> > {
> > unsigned int order = compound_order(page);
> >
> > VM_BUG_ON(!PageCompound(page));
> > if (unlikely(destroy_compound_page(page, order)))
> > return;
> >
> > __free_pages_ok(page, order);
> > }
>
> Yes, that's how I was imagining it. But I think we'd also want
> to change hugetlb.c's set_compound_page_dtor(page, NULL) to
> set_compound_page_dtor(page, free_compound_page), wouldn't we?
For full correctness, yes. As it is, it happens to work because the
compound flags get cleared and destroy_compound_page() is little more
than a debug check.
> So far as I can see, that's the case that led the destroy call
> to be sited in __free_one_page(), but I still don't get why it
> was done that way.
>
I don't recall any reasoning but probably because it just worked. The
first time huge pages had a destructor set to NULL was commit
41d78ba55037468e6c86c53e3076d1a74841de39 and it appears to have been
carried forward ever since.
> >
> > > 3. We can define a PAGE_FLAGS_CLEAR_AT_FREE which omits the Head/Tail/
> > > Compound flags, and lets destroy_compound_page() be called as before
> > > where it's currently intended.
> > >
> >
> > Also did that, slowed things up. Tried fixing destroy_compound_page()
> > but it was doing the same work as free_pages_check() so it also sucked.
> >
> > > What do you think? I suspect I'm going to have to spend tomorrow
> > > worrying about something else entirely, and won't return here until
> > > Wednesday.
> > >
> > > But as regards the original "I just got got another Oops": my bug
> > > that you point out here doesn't account for that, does it? It's
> > > still a mystery, isn't it, how the PageTail bit came to be set at
> > > that point?
> > >
> > > But that Oops does demonstrate that it's a very bad idea to be using
> > > the deceptive page_count() in those bad_page() checks: we need to be
> > > checking page->_count directly.
>
> I notice your/Nick's 20/25 addresses this issue, good - I'd even be
> happy to see that change go into 2.6.29, though probably too late now
> (and it has been that way forever).
Agreed, although that change is an accident essentially. It's not super
clear to me it would help but I haven't looked closely enough at the oops
to have a useful opinion.
> But note, it does need one of us
> to replace the page_count in bad_page() in the same way, that's missing.
>
> I've given up on trying to understand how that PageTail is set in
> Gene's oops. I was thinking that it got left behind somewhere
> because of my destroy_compound_page sequence error, but I just
> can't see how: I wonder if it's just a corrupt bit in the struct.
>
I can't see how it can be left behind either as it should have been
getting clobbered. If it was something like inappropriate buddy merging,
a lot more would have broken.
> I don't now feel that we need to rush a fix for my error into 2.6.29:
> it does appear to be working nicely enough with that inadvertent
> change, and we're not yet agreed on which way to go from here.
>
> > >
> > > And in looking at this, I notice something else to worry about:
> > > that CONFIG_HUGETLBFS prep_compound_gigantic_page(), which seems
> > > to exist for a more general case than "p = page + i" - what happens
> > > when such a gigantic page is freed, and arrives at the various
> > > "p = page + i" assumptions on the freeing path?
> > >
> >
> > That function is a bit confusing I'll give you that. Glancing through,
> > what happens is that the destuctor gets replaced with a free_huge_page()
> > which throws the page onto those free lists instead. It never hits the
> > buddy lists on the grounds they can't handle orders >= MAX_ORDER.
>
> Ah yes, thanks a lot, I'd forgotten all that. Yes, there appear to
> be adequate MAX_ORDER checks in hugetlb.c to prevent that danger.
>
> >
> > Out of curiousity,
>
> My curiosity is very limited at the moment, I'm afraid I've not glanced.
>
No harm.
> > here is a patch that was intended for a totally different
> > purpose but ended up forcing destroy_compound_page() to be used. It sucked
> > so I ended up unfixing it again. It can't be merged as-is obviously but
> > you'll see I redefined your flags a bit to exclude the compound flags
> > and all that jazz. It could be rebased of course but it'd make more sense
> > to have destroy_compound_page() that only does real work for DEBUG_VM as
> > free_pages_check() already does enough work.
>
> Yes, putting it under DEBUG_VM could be a compromise; though by now I've
> persuaded myself that it's of little value, and the times it might catch
> something would be out there without DEBUG_VM=y.
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2009-03-23 11:28 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-12 5:33 I just got got another Oops Gene Heskett
2009-03-12 6:27 ` KAMEZAWA Hiroyuki
2009-03-12 8:36 ` David Newall
2009-03-12 17:28 ` Gene Heskett
2009-03-12 17:48 ` Gene Heskett
2009-03-12 19:37 ` David Newall
2009-03-12 23:28 ` Gene Heskett
2009-03-13 4:55 ` David Newall
2009-03-12 18:31 ` Gene Heskett
2009-03-16 2:55 ` KAMEZAWA Hiroyuki
2009-03-16 3:22 ` KAMEZAWA Hiroyuki
2009-03-16 8:03 ` BUG?: PAGE_FLAGS_CHECK_AT_PREP seems to be cleared too early (Was " KAMEZAWA Hiroyuki
2009-03-16 21:44 ` Hugh Dickins
2009-03-16 23:44 ` KAMEZAWA Hiroyuki
2009-03-20 15:23 ` Mel Gorman
2009-03-22 14:55 ` Hugh Dickins
2009-03-23 11:27 ` Mel Gorman
-- strict thread matches above, loose matches on Subject: below --
2009-03-12 5:33 Gene Heskett
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox