Revision b22fa62a35d7f2029d757a518d78041822b7c7c1 authored by Pavel Begunkov on 21 October 2021, 12:20:29 UTC, committed by Jens Axboe on 21 October 2021, 17:19:38 UTC
Another change to the API io-wq worker limitation API added in 5.15, apply the limit to all prior users that already registered a tctx. It may be confusing as it's now, in particular the change covers the following 2 cases: TASK1 | TASK2 _________________________________________________ ring = create() | | limit_iowq_workers() *not limited* | TASK1 | TASK2 _________________________________________________ ring = create() | | issue_requests() limit_iowq_workers() | | *not limited* A note on locking, it's safe to traverse ->tctx_list as we hold ->uring_lock, but do that after dropping sqd->lock to avoid possible problems. It's also safe to access tctx->io_wq there because tasks kill it only after removing themselves from tctx_list, see io_uring_cancel_generic() -> io_uring_clean_tctx() Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/d6e09ecc3545e4dc56e43c906ee3d71b7ae21bed.1634818641.git.asml.silence@gmail.com Reviewed-by: Hao Xu <haoxu@linux.alibaba.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 4ea672a
tonga.h
/* SPDX-License-Identifier: GPL-2.0 */
/* drivers/atm/tonga.h - Efficient Networks Tonga (PCI bridge) declarations */
/* Written 1995 by Werner Almesberger, EPFL LRC */
#ifndef DRIVER_ATM_TONGA_H
#define DRIVER_ATM_TONGA_H
#define PCI_TONGA_CTRL 0x60 /* control register */
#define END_SWAP_DMA 0x80 /* endian swap on DMA */
#define END_SWAP_BYTE 0x40 /* endian swap on slave byte accesses */
#define END_SWAP_WORD 0x20 /* endian swap on slave word accesses */
#define SEPROM_MAGIC 0x0c /* obscure required pattern (ASIC only) */
#define SEPROM_DATA 0x02 /* serial EEPROM data (ASIC only) */
#define SEPROM_CLK 0x01 /* serial EEPROM clock (ASIC only) */
#define SEPROM_ESI_BASE 64 /* start of ESI in serial EEPROM */
#endif
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...