Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx): > --- 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? -serge _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers