- 18 Mar, 2013 5 commits
-
-
Alexander Kartashov authored
This patch generalizes format strings in the file page-xfer.c to prevent format string warnings on ARM. Signed-off-by:
Alexander Kartashov <alekskartashov@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Otherwise | (00.002843) 1: Error (files-reg.c:522): Can't find regfile for 0 | : Success which is inappropriate here. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 15 Mar, 2013 8 commits
-
-
Andrey Vagin authored
Actually rt_sigset_t and k_rtsigset_t are the same Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Otherwise ppage_bitmap and page_bitmap will be updated for wrong VMA Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The iov array for 1-page mapping would be zero. Fix this silly mistake. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This makes it easier to merge with anon vmas dumping and makes use of page server for shared memory. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 14 Mar, 2013 10 commits
-
-
Cyrill Gorcunov authored
Need to have proper fake-item state to make this code work ok: get_task_ids if (item->state != TASK_DEAD) { ret = dump_task_kobj_ids(item); if (ret) goto err_free; Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Without patch | Error (cr-restore.c:414): Unable to reserve memory: Invalid argument with applied | Error (cr-restore.c:414): Unable to reserve memory (0 bytes): Invalid argument more convenient for debugging. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
- Free unpacked PB data - Close file descriptor Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
In Fedora /var/run is on tmpfs, so all directories should be recreated each times. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Currently shmem generates page images in parallel with page server and IDs may intersect. Fix this by making page server create larger IDs. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
When -p is used, launch page server in the same dir as crtools dump is to get fill dump in it. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The page server is a process, that is about to get pages over the network and put them into pagemap- + pages- images. Right now what it does is simply get the data and puts it into the image files. When we have dirty set tracking in the kernel the page server will have to collect "page changes" and properly integrate them into images. Running crtools with page server is like this: dst_node# crtools page-server --port <port> -D dump/ ... src_node# crtools dump -t <pid> --page-server --address <dst_node> --port <port> -D dump/ ... After this images from dst_node/dump/ and src_node/dump/ should be put into one place and tasks can be restored out of it. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We'll send them over network soon, so prepare abstraction layer for this. Shmem is not on this scheme yet. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Since now we drain pages out of parasite, we can invent any format for page dumps. Let is be ... prorobuf one! :) Another thing to keep in mind, is that we're about to use splices and implement iterative migration, so it's better to have actual pages be page-aligned in the image. And -- backward compatibility. That said the new format is: 1. pagemap-... file which contains a header (currently with a ID of the image with pages, see below) and an array of <nr_pages:vaddr> pairs. The first value means "how many pages to take from the file with pages (see below)" and the second -- where in the task address space to put them. Simple. 2. pages-... file which containes only pages one by one (thus aligned as we want). This patch breaks backward compatibility (old images with pages wil be restored and then crash). Need to do it before v0.5 release. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 05 Mar, 2013 8 commits
-
-
Andrey Vagin authored
Generate random data only for buffers with sizes less than FAST_SIZE If a size of buffer is more that FAST_SIZE, the first FAST_SIZE bytes are filled by random generator and then this chunk is used as pattern for all other chunks. With out this patch: $ time bash -x test/zdtm.sh static/maps04 real 0m16.777s user 0m0.054s sys 0m0.724s With this patch: $ time bash -x test/zdtm.sh static/maps04 real 0m1.865s user 0m0.128s sys 0m0.745s Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Otherwise | 11:03:13.524: 19446: ERR: ipc_namespace.c:212: Can't write 0 into /proc/sys/fs/mqueue/msg_max (errno = 22 (Invalid argument)) | 11:03:13.524: 19446: ERR: ipc_namespace.c:273: Failed to randomize ipc namespace tunables (errno = 22 (Invalid argument)) | 11:03:13.524: 19446: ERR: ipc_namespace.c:336: Failed to randomize ipc ns before migration (errno = 22 (Invalid argument)) | 11:03:13.527: 19445: ERR: test.c:298: Test exited with unexpectedly with code 1 (errno = 4 (Interrupted system call)) https://bugzilla.openvz.org/show_bug.cgi?id=2530Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
A signal can be handled by non-leader thread and sigsuspend will not be woken up. kill can send signals to a specified thread, so a futex is used for synchronization. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
It's leftover from early times. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
This allows to reuse magic numbers outside of crtools code. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Unused Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Alexander Kartashov authored
Signed-off-by:
Alexander Kartashov <alekskartashov@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Alexander Kartashov authored
The ARM parasite head uses a pad of 228 bytes to make the offset of the symbol __export_parasite_stack representable in the ARM instruction set. This value needs to be changed every time the value of the macro PARASITE_STACK_SIZE changes. This patch makes this manual interference redundant. Signed-off-by:
Alexander Kartashov <alekskartashov@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 01 Mar, 2013 9 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Currently we dump pages directly from parasite into image files. This is bad for several reasons: 1. We cannot use any more-or-less custom format for pages easily, since parasite code cannot be linked with any libraries; 2. We will not be able to optimize migration with preliminary memory migration (a.k.a. iterative migration) with it -- if we send pages from parasite over network we are not able to let the task we dump continue running. That said, what is done is -- pages from target task are put into a page-pipe in one go, then (not in this patch) parasite can be released and we can do with pages whatever we want. For now pages are just spliced from pipe into image file. Some numbers: In order to drain 1Gb of memory from task we need 1.5M of shared map in args (for iovecs) and 4 pipes (8 descriptors) each referencing 128Mb of pages, which int turn requires 4 x 640K chunks of sequential kernel memory (for pipe_buffer). Not that big I guess. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
The page-pipe is an object, that can accumulate pages inside it. It consists of list of page-pipe-bufs, which in turn has a pipa, an array of iovecs that describe the pages' locations and some stats. Users of it are supposed to vmsplice pages into pipes to accumulate then for later use, and vmsplice them from pipes when required. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
I will have to push some sort of map of pages to dump into parasite. For this, I need to have estimation of how much memory I'd need for than in parasite args. These two values will help with it. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Right now when we collect list of vmas we need to know the number of elements in it. In the future I will need to know more, so it makes sense to create a vmas-list object for it. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Just make use of previous patch. The creds dumping args are tuned to fit one page (minimal static args size). Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Sometimes we don't know the exact amount of data we would want to send to parasite via args area (e.g. -- while draining fds). Fix this, by moving the args area behind the parasite blob and mmap-ing it with the run-time calculated size. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-