Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Mar 2005 12:22:01 -0800
From:      Julian Elischer <julian@elischer.org>
To:        David Schultz <das@FreeBSD.org>
Cc:        John Baldwin <jhb@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/kern kern_sig.c
Message-ID:  <422771E9.6070405@elischer.org>
In-Reply-To: <20050303052902.GA14011@VARK.MIT.EDU>
References:  <200503021343.j22DhpQ3075008@repoman.freebsd.org> <200503020915.28512.jhb@FreeBSD.org> <4226446B.7020406@freebsd.org> <20050303033115.GA13174@VARK.MIT.EDU> <42269DB0.6070107@freebsd.org> <20050303052902.GA14011@VARK.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help


David Schultz wrote:

>On Thu, Mar 03, 2005, David Xu wrote:
>  
>
>>
>>This only partly resolves the problem,  if function A call B, B call C,  
>>C is unknown to A,
>>and C does a msleep(),  problem still lhappens.
>>However, if there needs a flag,  I would like  PNOSWAP for msleep just 
>>like PCATCH
>>does.
>>    
>>
>
>You have to worry about that anyway, though.  A and B need to know
>that they're not allowed to hold locks across the calls if C calls
>msleep(), for instance.  Anyway, your proposal if having a flag
>for msleep() is basically the same as my proposal of having a
>separate function.  (The only difference is that adding a separate
>function doesn't break the ABI.)  So it sounds like we're more or
>less in agreement here.
>
>  
>
>>>The alternative, of course, is to just fix the code that assumes
>>>that swapping doesn't exist.
>>>
>>>      
>>>
>>First find all code written in such way, but it is not that easy.
>>    
>>
>
>True.  If we changed msleep() to disable swapping by default, then
>we wouldn't have to worry about correctness problems related to
>missing some.
>  
>

adding the flag to ENABLE swapping would be ABI compatible.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?422771E9.6070405>