Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

criu with VirtualGL #436

Closed
phil294 opened this issue Jan 10, 2018 · 3 comments
Closed

criu with VirtualGL #436

phil294 opened this issue Jan 10, 2018 · 3 comments

Comments

@phil294
Copy link

phil294 commented Jan 10, 2018

General GPU dumping is not supported because it is highly driver-dependent (#384). Could it be possible to do so using virtualized OpenGL? https://virtualgl.org/ (OS)

The error I am getting is Error (criu/proc_parse.c:549): Can't handle non-regular mapping on 19509's map 7fef8da4c000. Is this intended? Is there a way to get it working?

Reproduce:

  • Steps explained at https://criu.org/VNC (awesome!!)
  • Xvnc also needs the option -depth 24 passed
  • Install VirtualGL, start program with vglrun. For demonstration purposes: vglrun glxheads
  • Dump as specified (--tcp-established) -> error
@avagin
Copy link
Member

avagin commented Jan 17, 2018

I don't know how vglrun works, but it doesn't allow us to avoid /drm mappings, criu doesn't support them right now.

[avagin@laptop linux-task-diag]$ ps -C glxgears
  PID TTY          TIME CMD
  544 pts/7    00:01:08 glxgears
[avagin@laptop linux-task-diag]$ ls -l /proc/544/map_files/
...
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b732000-7fc41b73a000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b762000-7fc41b7ba000 -> /SYSV00000000 (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b7ba000-7fc41b7ca000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b7ca000-7fc41b8ca000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b8fe000-7fc41b8ff000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b8ff000-7fc41b900000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b900000-7fc41b901000 -> /memfd:xshmfence (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b901000-7fc41b902000 -> /memfd:xshmfence (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b903000-7fc41b904000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b904000-7fc41b90c000 -> /drm mm object (deleted)
lrw-------. 1 avagin avagin 64 Jan 17 09:22 7fc41b90c000-7fc41b92d000 -> /SYSV00000000 (deleted)

@phil294
Copy link
Author

phil294 commented Feb 2, 2018

@avagin ok thanks. I am not seeing any /drm mappings, but some /dev/nvidiactl and /dev/nvidia0. The issue is probably the same?
Any idea on how to workaround this? Criu+VNC is doable, OpenGL/VirtualGL is not.

I assume that the possibility of checkpointing these kind of mappings would result in various new usecases.

(related: https://arxiv.org/abs/1312.6650 someone once made a plugin for DMTCP that was apparently able to achieve this. couldnt find any code base)

@github-actions
Copy link

A friendly reminder that this issue had no activity for 30 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants