This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients eryksun, josh.r, kristjan.jonsson, paul.moore, pitrou, steve.dower, tim.golden, tim.peters, zach.ware
Date 2017-04-04.08:27:27
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1491294448.29.0.051414641792.issue29971@psf.upfronthosting.co.za>
In-reply-to
Content
I am not competent enough to pronounce on the technical detail of what you are proposing, but:

> Or maybe refactor to use condition variables in performance-critical code and otherwise use kernel waits, if that makes sense.

That can make sense IMHO.  Lock and RLock are Python-facing objects, so I'm not sure using high-performance userspace primitives is really important there (after all, people will primarily suffer the evaluation cost of pure Python code so, unless you do something silly such as acquire and release a Python lock in a loop, the acquisition cost doesn't really matter).  OTOH, the GIL may be more performance-critical (and needn't be interrupted), so can use userspace CV primitives.

That will however entail a complication of the internal locking API, since we basically need two separate PyThread lock APIs: an "interruptible lock" API and a "fast lock" API.
History
Date User Action Args
2017-04-04 08:27:28pitrousetrecipients: + pitrou, tim.peters, paul.moore, kristjan.jonsson, tim.golden, zach.ware, eryksun, steve.dower, josh.r
2017-04-04 08:27:28pitrousetmessageid: <1491294448.29.0.051414641792.issue29971@psf.upfronthosting.co.za>
2017-04-04 08:27:28pitroulinkissue29971 messages
2017-04-04 08:27:27pitroucreate