Message368137
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. |
|
Date |
User |
Action |
Args |
2020-05-05 12:56:33 | vstinner | set | recipients:
+ vstinner |
2020-05-05 12:56:32 | vstinner | set | messageid: <1588683392.98.0.918387482163.issue40513@roundup.psfhosted.org> |
2020-05-05 12:56:32 | vstinner | link | issue40513 messages |
2020-05-05 12:56:32 | vstinner | create | |
|