LOR with filedesc structure and Giant

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Aug 17 04:12:05 PDT 2003


In message <20030817095607.GA83750 at walton.maths.tcd.ie>, David Malone writes:
>On Sat, Aug 16, 2003 at 10:18:43PM +0200, Poul-Henning Kamp wrote:
>> At one point we have to say "Well, the locks we have above are solid,
>> but we need to drop Giant below here" but if Witness sees a
>> PICKUP_GIANT() as an acquisition of Giant, rather than as a
>> resumption of Giant, this clearly does not work.
>
>Wouldn't the risk of deadlock be real, even if it is only a resumption
>of Giant? I guess another option is to drop all the locks that are
>held and reqcquire all of them in the right order...

There is no risk at the point where I drop Giant (as far as I have been
able to work out).  Dropping all the locks would not work, because it
is the "other" locks held which make dropping Giant safe.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-current mailing list