WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Kernel Oops when reading kernel_page_tables debugfs file

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Kernel Oops when reading kernel_page_tables debugfs file
From: Vivien Bernet-Rollande <vbernetr@xxxxxxxxx>
Date: Wed, 24 Nov 2010 17:07:49 +0100
Delivery-date: Thu, 25 Nov 2010 01:31:30 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=/xh0oC2KpWLb1NIJY2lFXhqi9WRkvAcsX9AsnObU3JM=; b=QT7Xl9rFcDc/Xi8YfVlUonA0T2nf/t9pvQ+TlpYEHZBkwKiV81Zm6OPowVUykaS5Oa JMbH2vZZdJFy/5ye+YACWt5BjMXKhU3Xla4O9KvXLkTzkpKbt6BA+sVeIP5SJDim25+g JtQRVbTTD7RLCc6wbSSUSZWqWk6lPcS8MSvb8=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=YhRWUAPKCTU7tgYpKS/reVbMEi/wgQi0Y9lLg3wfo8ZaB47LvtXJHC2Plq4lapYcDT kepShCA/MwGGkNk22iusDQQi/YX1zy9peUpsxrDcB+xe4oKRaknA4D4+cWIOwejHYmdS /cuaJ9MT7eWrKSwUGaYFnyT1qgonr/DmaGbqI=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi list.
I'm  currently trying to get a device driver to work on Xen dom0. The driver maps PCI space to userland, and for some reason I have yet to figure, it doesn't work.

Trying to debug this, I came  across the kernel_page_tables debugfs file, that basically displays the content of the pagetable. It doesn't allow me to read the page entries for a process, but I was thinking of hacking it up a bit. For now, on a non Xen system, it just shows :
---[ User Space ]---
0x0000000000000000-0xffff800000000000 16777088T pgd
---[ Kernel Space ]---
 ...
 ...

The thing is, it doesn't work on dom0 :

[root@x-dev-4 ~]# mount -t debugfs none /sys/kernel/debug/
mount: none already mounted or /sys/kernel/debug/ busy
mount: according to mtab, none is already mounted on /sys/kernel/debug
[root@x-dev-4 ~]# cat /sys/kernel/debug/kernel_page_tables

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] Oops: 0000 [#2] SMP DEBUG_PAGEALLOC

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] last sysfs file: /sys/kernel/mm/ksm/run

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] Stack:

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] Call Trace:

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] Code: 0f 00 00 00 88 ff ff 48 8d 14 10 4e 8d 24 20 48 8b 45 98 48 89 55 80 48 89 45 88 48 8b 45 88 48 c1 e0 10 48 c1 f8 10 48 89 45 b8 <49> 8b 3c 24 48 85 ff 0f 84 aa 01 00 00 ff 14 25 70 9c 6a 81 48

Message from syslogd@x-dev-4 at Nov 24 19:02:55 ...
 kernel:[  210.164008] CR2: ffff9d5555555000
Killed


[root@x-dev-4 ~]# dmesg
[  210.163806] BUG: unable to handle kernel paging request at ffff9d5555555000
[  210.163940] IP: [<ffffffff8103cc2c>] ptdump_show+0xcb/0x30f
[  210.164008] PGD 0
[  210.164008] Oops: 0000 [#2] SMP DEBUG_PAGEALLOC
[  210.164008] last sysfs file: /sys/kernel/mm/ksm/run
[  210.164008] CPU 0
[  210.164008] Modules linked in: bridge stp llc sunrpc rdma_ucm rdma_cm iw_cm ib_addr ib_ipoib ib_cm ib_sa ipv6 ib_uverbs ib_umad iw_nes libcrc32c iw_cxgb3 cxgb3 mlx4_en mlx4_ib mlx4_core xen_netback xen_blkback blkback_pagemap xen_gntdev xen_evtchn xenfs ib_mthca snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq ib_mad snd_seq_device snd_pcm hp_wmi ib_core snd_timer rfkill tg3 snd edac_core ppdev k8temp soundcore parport_pc edac_mce_amd i2c_piix4 snd_page_alloc wmi parport shpchp serio_raw xfs exportfs pata_acpi ata_generic dm_multipath pata_atiixp radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
[  210.164008] Pid: 1729, comm: cat Tainted: G      D W  2.6.32.25-172.xendom0.debug.fc12.x86_64 #1 HP Compaq dc5750 Microtower
[  210.164008] RIP: e030:[<ffffffff8103cc2c>]  [<ffffffff8103cc2c>] ptdump_show+0xcb/0x30f
[  210.164008] RSP: e02b:ffff88005083bdd8  EFLAGS: 00010296
[  210.164008] RAX: ffff800000000000 RBX: ffff88005050ca80 RCX: 0000000000000000
[  210.164008] RDX: ffff9d5555555ff8 RSI: 0000000000000000 RDI: 0000000077db4067
[  210.164008] RBP: ffff88005083be78 R08: 0000000000000006 R09: 0000000000000073
[  210.164008] R10: 0000000000008fff R11: 0000000000000246 R12: ffff9d5555555000
[  210.164008] R13: ffff88005083bf58 R14: ffff88004fa3c9c0 R15: ffffffff81001800
[  210.164008] FS:  00007effbc512700(0000) GS:ffff880005d45000(0000) knlGS:0000000000000000
[  210.164008] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[  210.164008] CR2: ffff9d5555555000 CR3: 000000004f89e000 CR4: 0000000000000660
[  210.164008] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  210.164008] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  210.164008] Process cat (pid: 1729, threadinfo ffff88005083a000, task ffff88005044aea0)
[  210.164008] Stack:
[  210.164008]  ffffffff8100f001 ffff88005083be78 ffffffff8100f742 0000000000000246
[  210.164008] <0> ffff9d5555555ff8 0000800000000000 ffff880005d57040 0000800000000000
[  210.164008] <0> 0000000000000001 0000000000000000 0000000000000000 ffff800000000000
[  210.164008] Call Trace:
[  210.164008]  [<ffffffff8100f001>] ? xen_force_evtchn_callback+0xd/0xf
[  210.164008]  [<ffffffff8100f742>] ? check_events+0x12/0x20
[  210.164008]  [<ffffffff81139d32>] ? seq_read+0x93/0x354
[  210.164008]  [<ffffffff81139e25>] seq_read+0x186/0x354
[  210.164008]  [<ffffffff8111ed4c>] vfs_read+0xab/0x108
[  210.164008]  [<ffffffff8111ee69>] sys_read+0x4a/0x6e
[  210.164008]  [<ffffffff81012d32>] system_call_fastpath+0x16/0x1b
[  210.164008] Code: 0f 00 00 00 88 ff ff 48 8d 14 10 4e 8d 24 20 48 8b 45 98 48 89 55 80 48 89 45 88 48 8b 45 88 48 c1 e0 10 48 c1 f8 10 48 89 45 b8 <49> 8b 3c 24 48 85 ff 0f 84 aa 01 00 00 ff 14 25 70 9c 6a 81 48
[  210.164008] RIP  [<ffffffff8103cc2c>] ptdump_show+0xcb/0x30f
[  210.164008]  RSP <ffff88005083bdd8>
[  210.164008] CR2: ffff9d5555555000
[  210.164008] ---[ end trace a7919e7f17c0a729 ]---



How to reproduce :
 - compile kernel with CONFIG_X86_PTDUMP=y
 # mount -t debugfs none /sys/kernel/debug/
 # cat /sys/kernel/debug/kernel_page_tables

This is possibly caused by the driver I'm trying to fix (ib_mthca, see http://lists.xensource.com/archives/html/xen-devel/2010-11/msg00462.html for symptoms). However, since the memory management is quite different between Xen and bare x86_64, I figured the file might just not work on Xen.

So, basically, it comes down to this question : is this feature actually supposed to work in Xen ?

By the way, kernel is 2.6.32 with pvops patch, Xen is 4.0.1.

Thanks for any input you may have.

--
Vivien
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>