diff options
author | Simon Glass <sjg@chromium.org> | 2025-04-29 07:22:25 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2025-05-27 10:07:41 +0100 |
commit | 52aef33f953b5864dc015448783ecd2d9415e52f (patch) | |
tree | fe7addbea78bcf3e6f74c406e08d4548b7938062 | |
parent | 45f4f6219182927c34d2dc0359f4bf044d3ed432 (diff) |
patman: Provide an option to run in single-threaded mode
Patman normally sends multiple concurrent requests to the patchwork
server, as this is faster. Provide an option to disable this.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | tools/patman/cmdline.py | 2 | ||||
-rw-r--r-- | tools/patman/control.py | 4 | ||||
-rw-r--r-- | tools/patman/patchwork.py | 5 |
3 files changed, 7 insertions, 4 deletions
diff --git a/tools/patman/cmdline.py b/tools/patman/cmdline.py index a7327a20665..cf32716b8e0 100644 --- a/tools/patman/cmdline.py +++ b/tools/patman/cmdline.py @@ -130,6 +130,8 @@ def parse_args(): help='Name of branch to create with collected responses') status.add_argument('-f', '--force', action='store_true', help='Force overwriting an existing branch') + status.add_argument('-T', '--single-thread', action='store_true', + help='Disable multithreading when reading patchwork') # Parse options twice: first to get the project and second to handle # defaults properly (which depends on project) diff --git a/tools/patman/control.py b/tools/patman/control.py index cb8552ed550..cfea35ea648 100644 --- a/tools/patman/control.py +++ b/tools/patman/control.py @@ -44,7 +44,7 @@ def do_send(args): def patchwork_status(branch, count, start, end, dest_branch, force, - show_comments, url): + show_comments, url, single_thread=False): """Check the status of patches in patchwork This finds the series in patchwork using the Series-link tag, checks for new @@ -96,7 +96,7 @@ def patchwork_status(branch, count, start, end, dest_branch, force, # Allow the series to override the URL if 'patchwork_url' in series: url = series.patchwork_url - pwork = patchwork.Patchwork(url) + pwork = patchwork.Patchwork(url, single_thread=single_thread) # Import this here to avoid failing on other commands if the dependencies # are not present diff --git a/tools/patman/patchwork.py b/tools/patman/patchwork.py index 2b7734bbfe4..47d7be28fdf 100644 --- a/tools/patman/patchwork.py +++ b/tools/patman/patchwork.py @@ -139,7 +139,7 @@ class Review: class Patchwork: """Class to handle communication with patchwork """ - def __init__(self, url, show_progress=True): + def __init__(self, url, show_progress=True, single_thread=False): """Set up a new patchwork handler Args: @@ -151,7 +151,8 @@ class Patchwork: self.proj_id = None self.link_name = None self._show_progress = show_progress - self.semaphore = asyncio.Semaphore(MAX_CONCURRENT) + self.semaphore = asyncio.Semaphore( + 1 if single_thread else MAX_CONCURRENT) self.request_count = 0 async def _request(self, client, subpath): |