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

Reply via email to