[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] ARM: Issues while Enabling hibernation in domU(linux) on jacinto-j6



(+ Stefano, Mirela, Juergen and Boris)

On 06/06/18 09:17, moin anjnawala wrote:
Hi Julien,

Hi,

As you specified earlier I am now able to boot using xen4.10. I am
using linux4.4 as dom0 as well as domU.In domU, I have enabled
hibenation related configs and I am trying suspend to disk.With xen
4.10, hibernation is done sucessfuly but resume crashes.

It would have been nice to switch to a more recent Linux as well because I don't think anyone worked on suspend/resume 2 years ago. There are effort to support suspend/resume in Xen (and I guess guest) but I suspect some work is still missing in newer kernel. Although that would be a better start than a 2 years old kernel for the guest.

I have used given config file for domU.
name = "domU"
kernel = "/ZI-uh1"
memory = 200
vcpus = 1
cpus = 1
disk = [ 'phy:/rfs1.img,xvda,rw']

extra = 'no_console_suspend loglevel=8 console=hvc0 xenconsole=tty
earlyprintk=xx
en rw dhcp=off resume=/dev/xvda resume_offset=331776 root=/dev/xvda rootwait'

The hibernate(domU console) and resume logs are shown as below:


root@debian-jessie:~# swapon /swapfile.img

swapon: /swapfile.img: insecure permissions 0644, 0600 suggested.
[   50.064545] Adding 102396k swap on /swapfile.img.  Priority:-1
extents:1 across:102396k SS
root@debian-jessie:~#
root@debian-jessie:~#
root@debian-jessie:~# echo disk > /sys/power/state
[   56.649793] PM: Syncing filesystems ... done.
[   56.686770] Freezing user space processes ... (elapsed 0.002 seconds) done.
[   56.689454] PM: Basic memory bitmaps created
[   56.689497] PM: Preallocating image memory... done (allocated 11077 pages)
[   57.119960] PM: Allocated 44308 kbytes in 0.43 seconds (103.04 MB/s)
[   57.120010] Freezing remaining freezable tasks ... (elapsed 0.009
seconds) done.
[   58.922629] PM: freeze of devices complete after 1791.756 msecs
[   58.925167] PM: late freeze of devices complete after 2.485 msecs
[   58.927231] PM: noirq freeze of devices complete after 2.010 msecs
[   58.927275] Disabling non-boot CPUs ...
[   58.927307] PM: Creating hibernation image:
[   58.927307] PM: Need to copy 10790 pages
[   58.927307] PM: Normal pages needed: 10790 + 1024, available pages: 40398
[   58.927307] PM: Hibernation image created (10790 pages copied)
[   58.928629] PM: noirq thaw of devices complete after 1.310 msecs
[   58.930334] PM: early thaw of devices complete after 1.589 msecs
[   60.634498] PM: thaw of devices complete after 1704.114 msecs
[   60.635878] PM: writing image.
[   60.680038] PM: Using 1 thread(s) for compression.
[   60.680038] PM: Compressing and saving image data (10801 pages)...
[   60.680170] PM: Image saving progress:   0%
[   61.288932] PM: Image saving progress:  10%
[   61.809937] PM: Image saving progress:  20%
[   61.994594] PM: Image saving progress:  30%
[   62.360616] PM: Image saving progress:  40%
[   62.583613] random: nonblocking pool is initialized
[   62.592295] PM: Image saving progress:  50%
[   62.665052] PM: Image saving progress:  60%
[   62.700022] PM: Image saving progress:  70%
[   62.759685] PM: Image saving progress:  80%
[   62.821796] PM: Image saving progress:  90%
[   62.854694] PM: Image saving progress: 100%
[   62.855175] PM: Image saving done.
[   62.855210] PM: Wrote 43204 kbytes in 2.17 seconds (19.90 MB/s)
[   62.863308] PM: S|
[   62.921029] reboot: Power down
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~#
root@Dom0:~# xl create -c /vnc_l.cfg
Parsing config from /vnc_l.cfg
(XEN) d2v0: vGICD: unhandled word write 0xffffffff to ICACTIVER0
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.91-00002-g89baae6-dirty

I don't seem to be able to find that commit in Linux and it also says dirty. What are your modification on top of Linux 4.4?

(omkar.bolla@CPU-308U) (gcc version 4.8.4 (Ubuntu/Linaro
4.8.4-2ubuntu1~14.04.1) ) #107 SMP PR
EEMPT Tue Jun 5 16:51:21 IST 2018
[    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=50c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine model: XENVM-4.10
[    0.000000] cma: Reserved 24 MiB at 0x4b000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] On node 0 totalpages: 51200
[    0.000000] free_area_init_node: node 0, pgdat c07eb740,
node_mem_map cae2b000
[    0.000000]   Normal zone: 450 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 51200 pages, LIFO batch:15
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] Xen 4.10 support found
[    0.000000] PERCPU: Embedded 11 pages/cpu @cae1d000 s15872 r8192
d20992 u45056
[    0.000000] pcpu-alloc: s15872 r8192 d20992 u45056 alloc=11*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 50750
[    0.000000] Kernel command line: no_console_suspend loglevel=8
console=hvc0 xenconsole=tty earlyprintk=xen rw dhcp=off
resume=/dev/xvda resume_offse
t=331776 root=/dev/xvda rootwait xen-fbfront.video=2,1024,768
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 169692K/204800K available (4636K kernel code,
383K rwdata, 2568K rodata, 280K init, 295K bss, 10532K reserved,
24576K cma-reserv
ed, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xcd000000 - 0xff800000   ( 808 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xcc800000   ( 200 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf800000 - 0xbfe00000   (   6 MB)
[    0.000000]       .text : 0xc0008000 - 0xc048f2c4   (4637 kB)
[    0.000000]       .init : 0xc0748000 - 0xc078e000   ( 280 kB)
[    0.000000]       .data : 0xc078e000 - 0xc07ede40   ( 384 kB)
[    0.000000]        .bss : 0xc07ef000 - 0xc0838dd8   ( 296 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Architected cp15 timer(s) running at 6.14MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x16ac02862, max_idle_ns: 440795202218 ns
[    0.000003] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps
every 4398046511085ns
[    0.000012] Switching to timer-based delay loop, resolution 162ns
[    0.000106] Console: colour dummy device 80x30
[    0.002199] console [hvc0] enabled
[    0.002245] Calibrating delay loop (skipped), value calculated
using timer frequency.. 12.28 BogoMIPS (lpj=61440)
[    0.002318] pid_max: default: 32768 minimum: 301
[    0.002451] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.002498] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.003131] Initializing cgroup subsys io
[    0.003173] Initializing cgroup subsys memory
[    0.003231] Initializing cgroup subsys devices
[    0.003275] Initializing cgroup subsys freezer
[    0.003318] Initializing cgroup subsys perf_event
[    0.003360] Initializing cgroup subsys pids
[    0.003414] CPU: Testing write buffer coherency: ok
[    0.003668] /cpus/cpu@0 missing clock-frequency property
[    0.003712] CPU0: update cpu_capacity 1024
[    0.003744] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.004068] xen:grant_table: Grant tables using version 1 layout
[    0.004156] Grant table initialized
[    0.004234] xen:events: Using FIFO-based ABI
[    0.004284] Xen: initializing cpu0
[    0.004390] Setting up static identity map for 0x40008240 - 0x40008294
[    0.050408] Brought up 1 CPUs
[    0.050445] SMP: Total of 1 processors activated (12.28 BogoMIPS).
[    0.226433] CPU: All CPU(s) started in SVC mode.
[    0.226486] CPU0: update max cpu_capacity 1024
[    0.227460] devtmpfs: initialized
[    0.236617] VFP support v0.3: implementor 41 architecture 4 part 30
variant f rev 0
[    0.236994] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.237075] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.247162] pinctrl core: initialized pinctrl subsystem
[    0.248072] NET: Registered protocol family 16
[    0.249662] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.273657] hw-breakpoint: Failed to enable monitor mode on CPU 0.
[    0.387619] xen:balloon: Initialising balloon driver
[    0.590742] xen_balloon: Initialising balloon driver
[    0.592211] media: Linux media interface: v0.10
[    0.592310] Linux video capture interface: v2.00
[    0.592383] pps_core: LinuxPPS API ver. 1 registered
[    0.592420] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@xxxxxxxx>
[    0.592498] PTP clock support registered
[    0.592571] EDAC MC: Ver: 3.0.0
[    0.598236] Advanced Linux Sound Architecture Driver Initialized.
[    0.599323] clocksource: Switched to clocksource arch_sys_counter
[    0.610934] NET: Registered protocol family 2
[    0.611463] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.611528] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.611604] TCP: Hash tables configured (established 2048 bind 2048)
[    0.611682] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.611741] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.611921] NET: Registered protocol family 1
[    0.629499] RPC: Registered named UNIX socket transport module.
[    0.629548] RPC: Registered udp transport module.
[    0.629585] RPC: Registered tcp transport module.
[    0.629621] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.629674] PCI: CLS 0 bytes, default 64
[    0.669371] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.689724] NFS: Registering the id_resolver key type
[    0.689788] Key type id_resolver registered
[    0.689820] Key type id_legacy registered
[    0.689912] ntfs: driver 2.1.32 [Flags: R/O].
[    0.692559] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 247)
[    0.692623] io scheduler noop registered
[    0.692659] io scheduler deadline registered
[    0.692725] io scheduler cfq registered (default)
[    0.801768] Console: switching to colour frame buffer device 100x37
[    0.807703] xen:xen_evtchn: Event-channel device installed
[    0.860618] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.863176] [drm] Initialized drm 1.1.0 20060810
[    1.185970] brd: module loaded
[    1.339782] loop: module loaded
[    1.342441] libphy: Fixed MDIO Bus: probed
[    1.343226] xen_netfront: Initialising Xen virtual ethernet driver
[    1.363729] mousedev: PS/2 mouse device common for all mice
[    1.402163] input: Xen Virtual Keyboard as /devices/virtual/input/input0
[    1.402805] input: Xen Virtual Pointer as /devices/virtual/input/input1
[    1.415272] i2c /dev entries driver
[    1.416302] ledtrig-cpu: registered to indicate activity on CPUs
[    1.418098] NET: Registered protocol family 10
[    1.419445] blkfront: xvda: flush diskcache: enabled; persistent
grants: enabled; indirect descriptors: enabled;
[    1.429716] sit: IPv6 over IPv4 tunneling driver
[    1.430399] NET: Registered protocol family 17
[    1.430570] Key type dns_resolver registered
[    1.430743] Registering SWP/SWPB emulation handler
[    1.549644] hctosys: unable to open rtc device (rtc0)
[    1.549805] PM: Checking hibernation image partition /dev/xvda
[    1.549867] PM: Hibernation image partition 202:0 present
[    1.549892] PM: Looking for hibernation image.
[    1.565902] PM: Image signature found, resuming
[    1.569834] PM: Preparing processes for restore.
[    1.569923] Freezing user space processes ... (elapsed 0.000 seconds) done.
[    1.569926] PM: Loading hibernation image.
[    1.569958] PM: Basic memory bitmaps created
[    1.595098] PM: Using 1 thread(s) for decompression.
[    1.595098] PM: Loading and decompressing image data (10801 pages)...
[    1.826173] PM: Image loading progress:   0%
[    1.892454] PM: Image loading progress:  10%
[    1.925053] PM: Image loading progress:  20%
[    1.959479] PM: Image loading progress:  30%
[    1.991475] PM: Image loading progress:  40%
[    2.018025] PM: Image loading progress:  50%
[    2.048493] PM: Image loading progress:  60%
[    2.072979] PM: Image loading progress:  70%
[    2.100511] PM: Image loading progress:  80%
[    2.133094] PM: Image loading progress:  90%
[    2.162493] PM: Image loading progress: 100%
[    2.162758] PM: Image loading done.
[    2.162806] PM: Read 43204 kbytes in 0.56 seconds (77.15 MB/s)
[    2.170238] PM: Image successfully loaded
[    3.414275] PM: quiesce of devices complete after 1242.505 msecs
[    3.416950] PM: late quiesce of devices complete after 2.627 msecs
[    3.441364] PM: noirq quiesce of devices complete after 24.364 msecs
[    3.441414] Disabling non-boot CPUs ...
[   58.929359] PM: noirq restore of devices complete after 2.041 msecs
[   58.931802] PM: early restore of devices complete after 2.335 msecs
[   58.973057] xenbus: Failed to release watch
/local/domain/0/backend/vbd/1/51712/state: -2
[   58.973936] Unhandled fault: terminal exception (0x002) at 0xcd042a70
[   58.973978] pgd = c9a10000
[   58.973995] [cd042a70] *pgd=4a805811, *pte=3800266f, *ppte=3800241f
[   58.974052] Internal error: : 2 [#1] PREEMPT SMP THUMB2
[   58.974081] Modules linked in:
[   58.974116] CPU: 0 PID: 296 Comm: bash Tainted: G        W
4.4.91-00002-g89baae6-dirty #107
[   58.974157] Hardware name: Generic DT based system
[   58.974184] task: c984ce00 task.stack: c99da000
[   58.974226] PC is at gnttab_end_foreign_access_ref_v1+0xe/0x5c
[   58.974264] LR is at gnttab_end_foreign_access_ref+0x13/0x2c
[   58.974299] pc : [<c024668a>]    lr : [<c0246843>]    psr: 600000b3
[   58.974299] sp : c99dbd5c  ip : 00000000  fp : c9c22480
[   58.974354] r10: ca220000  r9 : 00000100  r8 : 00000200
[   58.974381] r7 : 0000054e  r6 : ca230800  r5 : 0000054e  r4 : 00000000
[   58.974414] r3 : cd040000  r2 : cd042a70  r1 : 00000000  r0 : 0000054e
[   58.974450] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA Thumb
Segment none
[   58.974490] Control: 50c5387d  Table: 49a1006a  DAC: 00000051
[   58.974523]
[   58.974523] PC: 0xc024660a:
[   58.974549] 6608  f07bd508 4620fe95 f9f6f07f fc06f07c fe94f07b
23acf243 f2cc4620 21000349
[   58.974707] 6628  f853681b f5e23025 b002fffd bf00bd70 f245b410
f2cc6480 2b000482 2301bf0c
[   58.974888] 6648  68a42305 46a468a4 4b04f85d bf004760 6380f245
0382f2cc f83368db f0000030
[   58.975070] 6668  47700018 6380f245 0382f2cc 695b689b bf004718
6380f245 f2cc2100 b4100382
[   58.975251] 6688  eb0368db f83302c0 f0133030 d1170f18 8f5bf3bf
f000f8b2 4f5fe8d2 0000f04f
[   58.975432] 66a8  0f03ea94 e8c2bf08 28001f50 b2a4d1f4 8f5bf3bf
d00742a3 f0134623 d0e70f18
[   58.975587] 66c8  f85d2000 47704b04 f85d2001 47704b04 f245b410
f2cc6480 23020482 68a468a4
[   58.975712] 66e8  f85d46a4 47604b04 6380f245 0382f2cc 691b689b
bf004718 f1a06800 fab030ff
[   58.975838] 6708  0940f080 bf004770 6380f245 0382f2cc 0a8cb430
f3c1691a 68030509 2024f852
[   58.975973]
[   58.975973] LR: 0xc02467c3:
[   58.976011] 67c0  f06f4770 4770001b f245b470 f2cc6580 00c60582
199a68eb 3030f833 0104f003
[   58.976144] 67e0  b9c9b289 8f5bf3bf f000f8b2 4f5fe8d2 0000f04f
0f03ea94 e8c2bf08 28001f50
[   58.976271] 6800  f3bfd1f4 b2a48f5b d00d42a3 07588813 071bd5e8
8813d402 d5fc071b 8f4ff3bf
[   58.976396] 6820  441e68eb b1086870 4770bc70 bf00de02 f245b538
f2cc6380 46050382 68db689b
[   58.976520] 6840  46044798 2401b110 bd384620 3078f241 f2cc4629
f6570068 e7f5fc37 b085b500
[   58.976646] 6860  f647a904 200673f0 f8212201 46693d10 fabaf5c7
db032800 300cf9bd b1039802
[   58.976751] 6880  b0052004 fb04f85d f7ffb538 f245ffe7 f2cc6480
69630482 b1234605 461842ab
[   58.976876] 68a0  4628bf28 f7ffbd38 4603ffd9 616042ab bf284618
bd384628 1300f242 0379f2cc
[   58.977011] 68c0  47f0e92d 789b460c 1c4eb088 f245b37b f2cc6a80
f8da0a82 429e301c 4605d864
[   58.977147]
[   58.977147] SP: 0xc99dbcdc:
[   58.977187] bcdc  00000000 c99dbd7c 00000001 c9de9c00 c024668a
600000b3 ffffffff c99dbd3c
[   58.977322] bcfc  00000200 00000100 c0011cfb 0000054e 00000000
cd042a70 cd040000 00000000
[   58.977457] bd1c  0000054e ca230800 0000054e 00000200 00000100
ca220000 c9c22480 00000000
[   59.064426] bd3c  c99dbd5c c0246843 c024668a 600000b3 ffffffff
00000051 caf8e4c4 c02d9abd
[   59.064521] bd5c  00000000 c9c22488 00000000 00000000 c024732f
c9de9c00 ca2308d8 ca230800
[   59.064615] bd7c  c9c22c80 ca2308d8 ca230800 ca2308b0 c02d9aed
c02da569 ca220000 ca8ac200
[   59.064710] bd9c  ca8ac200 c07cf0fc 00000000 ca8ac220 00000040
c082be78 c02da581 c02da569
[   59.064822] bdbc  ca8ac220 00000000 c024c8ed 00000000 00000000
00000040 00000000 00000000
[   59.064917]
[   59.064917] FP: 0xc9c22400:
[   59.064947] 2400  00000000 caf8a72c c9c223c8 c9c22448 00000000
00000000 00000000 00000000
[   59.065041] 2420  00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[   59.065139] 2440  00000000 caf8a750 c9c22408 c9e6bf08 00000000
00000000 00000000 00000000
[   59.065233] 2460  00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[   59.065327] 2480  0000056e caf8a774 c9c224c8 ca2308b0 00000000
00000000 00000000 00000000
[   59.065424] 24a0  00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[   59.065518] 24c0  0000056d caf8a798 c9c22508 c9c22488 00000000
00000000 00000000 00000000
[   59.065609] 24e0  00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[   59.065728]


That's the only log you have? I would have at least expected a stack trace afterwards.


Can you point me towards what could be the issue ? If any other
information is needed then I can provide it to you.

Looking at the log and Linux 4.17, none of the PV drivers seem to have suspend/resume callback. This might be the reason of the crash as from Xen PoV this is a new guest so the memory and event channel have not been configured. The guest should really do it again.

It looks like there are some code in drivers/xen/manage.c to handle suspend request from the toolstack. I am not entirely sure why we need our own way to suspend and not re-used the Linux one.

Jurgen, Boris, do you know if suspend-to-disk from the guest console works on x86?

Mirela, as you are working on suspend/resume. Have you looked at the guest side? If so, do you have any insights on the problem?

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.