Loading fs/io-wq.c +9 −1 Original line number Diff line number Diff line Loading @@ -280,9 +280,17 @@ static void create_worker_cb(struct callback_head *cb) { struct create_worker_data *cwd; struct io_wq *wq; struct io_wqe *wqe; struct io_wqe_acct *acct; cwd = container_of(cb, struct create_worker_data, work); wq = cwd->wqe->wq; wqe = cwd->wqe; wq = wqe->wq; acct = &wqe->acct[cwd->index]; raw_spin_lock_irq(&wqe->lock); if (acct->nr_workers < acct->max_workers) acct->nr_workers++; raw_spin_unlock_irq(&wqe->lock); create_io_worker(wq, cwd->wqe, cwd->index); kfree(cwd); } Loading Loading
fs/io-wq.c +9 −1 Original line number Diff line number Diff line Loading @@ -280,9 +280,17 @@ static void create_worker_cb(struct callback_head *cb) { struct create_worker_data *cwd; struct io_wq *wq; struct io_wqe *wqe; struct io_wqe_acct *acct; cwd = container_of(cb, struct create_worker_data, work); wq = cwd->wqe->wq; wqe = cwd->wqe; wq = wqe->wq; acct = &wqe->acct[cwd->index]; raw_spin_lock_irq(&wqe->lock); if (acct->nr_workers < acct->max_workers) acct->nr_workers++; raw_spin_unlock_irq(&wqe->lock); create_io_worker(wq, cwd->wqe, cwd->index); kfree(cwd); } Loading