[PATCH 3/4] Add IPv6 address checkpoint handler

Oren Laadan orenl at cs.columbia.edu
Sun Apr 25 13:49:39 PDT 2010



Serge E. Hallyn wrote:
> Quoting Dan Smith (danms at us.ibm.com):
>>>> +#ifdef CONFIG_NETNS_CHECKPOING
>> SH> How could that be defined?  :)
>>
>> Hmm, I must have typo'd that after I did all my config testing because
>> otherwise I wouldn't have been able to test checkpointing ipv6 stuff.
>>
>> SH> Again, I'd prefer ckpt_err here.
>>
>> SH> Note that in my last email that really was a q - if you're under
>> SH> spinlock here, then you can't use ckpt_err().
>>
>> Right, the point of this loop was to iterate the list quickly while
>> holding the device lock, so we could write out the results after we
>> release it.
>>
>> I think these two cases (and the ipv4 case) are pretty unlikely to be
>> a problem as they would only be triggered if you actually have
>> active multicast or anycast sessions configured.  This will not
>> trigger for the default addresses.
>>
>> I don't think that dropping the lock to do ckpt_err() would be very
>> pretty, nor would introducing a result string for an error message.
> 
> Agreed.
> 
>> This is plumbed a couple levels deep.
>>
>> Is there some way you see this being handled better?
> 
> Not really...  looks like we're doing what we can at the moment
> then, good enough :)

Actually, you can use _ckpt_err() which can be called under
spinlock, and then the caller should call _ckpt_msg_complete()
after it drops the lock, to flush the message out.

Oren.



More information about the Containers mailing list