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 vstinner
Recipients vstinner
Date 2020-05-05.12:56:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1588683392.98.0.918387482163.issue40513@roundup.psfhosted.org>
In-reply-to
Content
To get one GIL per interpreter (bpo-40512), remaining _PyRuntimeState.ceval members should be moved to PyInterpreterState.ceval. The work started in bpo-39984 with ceval "pending calls" and ceval "eval breaker".

There are 4 remaining fields:

struct _ceval_runtime_state {
    int recursion_limit;
    /* Request for dropping the GIL */
    _Py_atomic_int gil_drop_request;
    /* Request for checking signals. */
    _Py_atomic_int signals_pending;
    struct _gil_runtime_state gil;
};

The most complex part will be to move the "gil" member: bpo-40512 lists all sub-tasks which must be completed before being able to have one GIL per interpreter without crashing.
History
Date User Action Args
2020-05-05 12:56:33vstinnersetrecipients: + vstinner
2020-05-05 12:56:32vstinnersetmessageid: <1588683392.98.0.918387482163.issue40513@roundup.psfhosted.org>
2020-05-05 12:56:32vstinnerlinkissue40513 messages
2020-05-05 12:56:32vstinnercreate