Serge E. Hallyn wrote: > Quoting Oren Laadan (or...@cs.columbia.edu): >> --- a/checkpoint/Makefile >> +++ b/checkpoint/Makefile >> @@ -2,8 +2,8 @@ >> # Makefile for linux checkpoint/restart. >> # >> >> -obj-$(CONFIG_CHECKPOINT) += sys.o objhash.o \ >> +obj-$(CONFIG_CHECKPOINT) += sys.o objhash.o deferqueue.o \ >> checkpoint.o restart.o \ >> ckpt_task.o rstr_task.o \ >> ckpt_mem.o rstr_mem.o \ >> - ckpt_file.o rstr_file.o >> + ckpt_file.o rstr_file.o \ > > ? > >> +int cr_deferqueue_add(struct cr_ctx *ctx, cr_deferqueue_func_t function, >> + unsigned int flags, void *data, int size) >> +{ >> + struct cr_deferqueue *wq; >> + >> + wq = kmalloc(sizeof(wq) + size, GFP_KERNEL); >> + if (!wq) >> + return -ENOMEM; >> + >> + wq->function = function; >> + wq->flags = flags; >> + memcpy(wq->data, data, size); >> + >> + cr_debug("adding work %p function %p\n", wq, wq->function); >> + list_add_tail(&ctx->deferqueue, &wq->list); >> + return 0; >> +} > > Shouldn't the deferqueue be protected by a spinlock here?
Not until we implement concurrent checkpoint/restart. At the moment it's one task at a time the can access it. Oren. _______________________________________________ Containers mailing list contain...@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers _______________________________________________ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel