Quoting Oren Laadan ([email protected]):
> --- 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
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to