Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.
This repository was archived by the owner on May 12, 2021. It is now read-only.

Support Epoll on Arm64 #240

@Pennyzct

Description

@Pennyzct

Description of problem

sudo docker run -ti --runtime kata-runtime busybox sh

Expected result

run successfully

Actual result

log info from qemu output:

announce: name="kata-agent",pid='\x01',source="agent",version="0.0.1-8856b3acb43a90fe30f120b3e083807720829e4f",device-handlers="scsi,blk",storage-handlers="scsi,9p,blk",system-memory="2054184 kB"
announce: name="kata-agent",pid='\x01',source="agent",version="0.0.1-8856b3acb43a90fe30f120b3e083807720829e4f",device-handlers="blk,scsi",storage-handlers="9p,blk,scsi",system-memory="2054184 kB"
time="2018-05-10T07:26:31.52054312Z" level=info msg="agent grpc server starts" name=kata-agent pid=1 source=agent
init[332]: syscall 1069
Code: f94023e4 f94027e5 f9400fe8 d4000001 (b13ffc1f) 
CPU: 0 PID: 332 Comm: init Not tainted 4.9.51-hyper #1
Hardware name: linux,dummy-virt (DT)
task: ffffffc008c20100 task.stack: ffffffc008cc8000
PC is at 0x473cf8
LR is at 0x473cd8
pc : [<0000000000473cf8>] lr : [<0000000000473cd8>] pstate: 20000000
sp : 0000004420041df0
x29: 0000007f7fffe950 x28: 0000004420001b00 
x27: 0000000000de9880 x26: 0000004420041e00 
x25: 00000000008abcf8 x24: 0000007f8e2d8000 
x23: 0000007f8e2dc000 x22: 0000007f7ffff8d0 
x21: 000000000000005a x20: 0000000000000000 
x19: 000000000000003c x18: 0000000000000000 
x17: 0000004420041e90 x16: 0000004420041e08 
x15: 0000000000000e10 x14: 0000000000000008 
x13: 000000441fffdbcb x12: 0000000000000000 
x11: 0000000000000000 x10: 00000000000000f3 
x9 : 0000004420048690 x8 : 000000000000042d 
x7 : 0000000000000030 x6 : 0000000000000001 
x5 : 0000000000000000 x4 : 0000000000000000 
x3 : ffffffffffffffff x2 : 0000000000000001 
x1 : 0000004420041ee0 x0 : 0000000000000006 

time="2018-05-10T07:26:31.535166056Z" level=warning msg="Failed to wait agent grpc channel ready" error="function not implemented" name=kata-agent pid=1 source=agent
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000

Causes

The syscall 1069 is relevant with func syscall.EpollWait. epoll_wait is deprecated according to a slideshow by Linaro who ported Linux to ARM64, and only the newer epoll_pwait is provided on Linux/arm64. Golang has already fixed relevant issue. However, Implementation for EpollWait on Arm64 exits in x/sys/unix, not in the standard Go syscall package.I will pull relevant request asap.

@bergwolf @jodh-intel @Weichen81

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions