On 2013-01-06 11:55, Jan Kiszka wrote:
> On 2013-01-06 11:14, Philippe Gerum wrote:
>> On 01/03/2013 03:09 PM, Jan Kiszka wrote:
>>
>>> +static struct xnvfile_lock_ops vfile_stat_lockops = {
>>> +   .get = xnintr_get_query_lock,
>>> +   .put = xnintr_put_query_lock,
>>> +};
>>> +
>>>  static struct xnvfile_snapshot stat_vfile = {
>>>     .privsz = sizeof(struct vfile_stat_priv),
>>>     .datasz = sizeof(struct vfile_stat_data),
>>>     .tag = &nkpod_struct.threadlist_tag,
>>>     .ops = &vfile_stat_ops,
>>> +   .entry = { .lockops = &vfile_stat_lockops },
>>>  };
>>
>> This would introduce a regression. stat_vfile's rewind/next handlers
>> compete with code altering the global thread queue which may run in
>> primary mode, such as xnpod_delete_thread() when deleting a kernel task.
>> So we can't use a linux lock to protect it.
> 
> The Linux lock is held around this rewind loop (which is still in
> place), and it is not protecting anything thread related, just the
> appearance and disappearance of IRQs. I fail to see a conflict, and
> there are also no I-pipe/Xenomai warnings triggered with this pattern.

Oh, now I see: The nklock is automatically taken if there are no
lockops. That needs to be done in the stat lockups as well, of course.
Will fix.

Jan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: 
<http://www.xenomai.org/pipermail/xenomai/attachments/20130106/f836c9a4/attachment.pgp>
_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to