On 8 févr. 2010, at 13:21, Avi Kivity wrote:

> On 02/08/2010 01:13 PM, Jan Kiszka wrote:
>>> 
>>> I confirm that this exception does not happen with kvm-kmod-2.6.33-rc6.
>>> 
>>> However, after I run and stop a guest VM just executing the bios sequence 
>>> (no disk/CD image attached), I get this kind of errors on the host when 
>>> untar a small archive (less than 1MB, about 300 files):
>>> 
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.073865] Bad page state in process 
>>> 'gzip'
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.073867] page:ffffe200040c4638 
>>> flags:0x020000000000001c mapping:0000000000000000 mapcount:0 count:0
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.102991] Trying to fix it up, but 
>>> a reboot is needed
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.102992] Backtrace:
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.129821] Pid: 3559, comm: gzip 
>>> Tainted: P          2.6.26-2-amd64 #1
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.143267]
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.143268] Call Trace:
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.156024]  [<ffffffff8022f0d2>] 
>>> hrtick_set+0x88/0xf7
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.167250]  [<ffffffff8027504d>] 
>>> bad_page+0x6b/0x95
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.179879]  [<ffffffff80276482>] 
>>> get_page_from_freelist+0x3e1/0x606
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.195345]  [<ffffffff80276929>] 
>>> __alloc_pages_internal+0xd6/0x3bf
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.210580]  [<ffffffff80281707>] 
>>> handle_mm_fault+0x244/0x867
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.223694]  [<ffffffff8027313a>] 
>>> filemap_fault+0x1c2/0x33c
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.237948]  [<ffffffff80221fbc>] 
>>> do_page_fault+0x5d8/0x9c8
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.251793]  [<ffffffff8042a599>] 
>>> error_exit+0x0/0x60
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.265754]  [<ffffffff80270df1>] 
>>> file_read_actor+0x52/0x125
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.278595]  [<ffffffff802764fb>] 
>>> get_page_from_freelist+0x45a/0x606
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.294022]  [<ffffffff80272c03>] 
>>> generic_file_aio_read+0x29e/0x4ae
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.309319]  [<ffffffff8029ae47>] 
>>> do_sync_read+0xc9/0x10c
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.322816]  [<ffffffff80246221>] 
>>> autoremove_wake_function+0x0/0x2e
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.338051]  [<ffffffff80221fbc>] 
>>> do_page_fault+0x5d8/0x9c8
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.351919]  [<ffffffff8029b638>] 
>>> vfs_read+0xaa/0x152
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.366108]  [<ffffffff8029ba19>] 
>>> sys_read+0x45/0x6e
>>> Feb  8 12:00:32 paraquad-7 kernel: [  200.378750]  [<ffffffff8020beca>] 
>>> system_call_after_swapgs+0x8a/0x8f
>>> 
>>>     
>> Haven't seen this before. Can you reproduce it with
>> 
>> a) kvm-kmod-2.6.32.7?

Same problem with this version loaded in the 2.6.26 kernel.

>> b) a host kernel>= 2.6.27?
>>   
> 
> Good guess - perhaps we are busted without mmu notifiers.  For b), please 
> ensure CONFIG_MMU_NOTIFIER is enabled in the host kernel configuration.

Very good guess indeed!
2.6.27 with KVM enabled (so CONFIG_MMU_NOTIFIER=y) and kvm-kmod-2.6.33-rc6 
works OK.
2.6.27 with KVM disabled (so CONFIG_MMU_NOTIFIER is also disabled) and 
kvm-kmod-2.6.33-rc6 shows the Bad page state errors.

-- 
Pierre Riteau -- PhD student, Myriads team, IRISA, Rennes, France
http://perso.univ-rennes1.fr/pierre.riteau/

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to