svn commit: r238907 - projects/calloutng/sys/kern

Andriy Gapon avg at FreeBSD.org
Mon Jul 30 15:31:51 UTC 2012


on 30/07/2012 18:04 Attilio Rao said the following:
> On 7/30/12, Andriy Gapon <avg at freebsd.org> wrote:
>> on 30/07/2012 17:56 Attilio Rao said the following:
>>> More explicitly, I think such combination TDP_NOSLEEPING +
>>> TDP_NOBLOCKING (name invented) should be set on entering the interrupt
>>> context, not only related to this part of callouts. This would be a
>>> very good help for catching buggy situations.
>>
>> Something very tangential.  I think it would also be nice to check if a
>> thread has
>> any(?) locks held when returning to userland.
> 
> This happens already for INVARIANTS case, with td_locks counters.
> In the !INVARIANTS case, this doesn't happen because you don't want to
> add the burden to bump td_locks for the fast case and I think it is a
> good approach.

Ah, I missed that, thank you.
BTW, it seems that td_locks is checked twice in normal syscallret() path: once in
syscallret() itself and then in userret().  On this note, would it make sense to
move the whole nine yards of asserts from syscallret() to userret()?
I mean it might make sense to have those checks (td_critnest, td_pflags) in other
paths to userland.

-- 
Andriy Gapon




More information about the svn-src-projects mailing list