forked-synapse/synapse/handlers
Mathieu Velten cb562d73aa
Improve lock performance when a lot of locks are waiting (#16840)
When a lot of locks are waiting for a single lock, notifying all locks
independently with `call_later` on each release is really costly and
incurs some kind of async contention, where the CPU is spinning a lot
for not much.

The included test is taking around 30s before the change, and 0.5s
after.

It was found following failing tests with
https://github.com/element-hq/synapse/pull/16827.
2024-03-14 13:49:54 +00:00
..
ui_auth Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
account_data.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
account_validity.py Merge remote-tracking branch 'gitlab/clokep/license-license' into new_develop 2023-12-13 15:11:56 +00:00
account.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
admin.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
appservice.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
auth.py Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
cas.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
deactivate_account.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
device.py Add a config to not send out device list updates for specific users (#16909) 2024-02-13 13:23:03 +00:00
devicemessage.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
directory.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
e2e_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
e2e_room_keys.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
event_auth.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
events.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
federation_event.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
federation.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
identity.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
initial_sync.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
jwt.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
message.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
oidc.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
pagination.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
password_policy.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
presence.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
profile.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
push_rules.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
read_marker.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
receipts.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
register.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
relations.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
room_list.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room_member_worker.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room_member.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
room_summary.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
room.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
saml.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
search.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
send_email.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
set_password.py Update license headers 2023-11-21 15:29:58 -05:00
sso.py Bump mypy from 1.5.1 to 1.8.0 (#16901) 2024-03-13 17:05:57 +00:00
state_deltas.py Update license headers 2023-11-21 15:29:58 -05:00
stats.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
sync.py Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
typing.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
user_directory.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
worker_lock.py Improve lock performance when a lot of locks are waiting (#16840) 2024-03-14 13:49:54 +00:00