/linux/fs/smb/server/ |
H A D | ksmbd_work.c | 21 struct ksmbd_work *work = kmem_cache_zalloc(work_cache, KSMBD_DEFAULT_GFP); in ksmbd_alloc_work_struct() local 23 if (work) { in ksmbd_alloc_work_struct() 24 work->compound_fid = KSMBD_NO_FID; in ksmbd_alloc_work_struct() 25 work->compound_pfid = KSMBD_NO_FID; in ksmbd_alloc_work_struct() 26 INIT_LIST_HEAD(&work->request_entry); in ksmbd_alloc_work_struct() 27 INIT_LIST_HEAD(&work->async_request_entry); in ksmbd_alloc_work_struct() 28 INIT_LIST_HEAD(&work->fp_entry); in ksmbd_alloc_work_struct() 29 INIT_LIST_HEAD(&work->aux_read_list); in ksmbd_alloc_work_struct() 30 work->iov_alloc_cnt = 4; in ksmbd_alloc_work_struct() 31 work->iov = kcalloc(work->iov_alloc_cnt, sizeof(struct kvec), in ksmbd_alloc_work_struct() [all …]
|
H A D | server.c | 88 * @work: smb work containing server thread information 92 static inline int check_conn_state(struct ksmbd_work *work) in check_conn_state() argument 96 if (ksmbd_conn_exiting(work->conn) || in check_conn_state() 97 ksmbd_conn_need_reconnect(work->conn)) { in check_conn_state() 98 rsp_hdr = work->response_buf; in check_conn_state() 108 static int __process_request(struct ksmbd_work *work, struct ksmbd_conn *conn, in __process_request() argument 115 if (check_conn_state(work)) in __process_request() 118 if (ksmbd_verify_smb_message(work)) { in __process_request() 119 conn->ops->set_rsp_status(work, STATUS_INVALID_PARAMETER); in __process_request() 123 command = conn->ops->get_cmd_val(work); in __process_request() [all …]
|
H A D | smb2pdu.c | 43 static void __wbuf(struct ksmbd_work *work, void **req, void **rsp) in __wbuf() argument 45 if (work->next_smb2_rcv_hdr_off) { in __wbuf() 46 *req = ksmbd_req_buf_next(work); in __wbuf() 47 *rsp = ksmbd_resp_buf_next(work); in __wbuf() 49 *req = smb2_get_msg(work->request_buf); in __wbuf() 50 *rsp = smb2_get_msg(work->response_buf); in __wbuf() 86 * @work: smb work 91 int smb2_get_ksmbd_tcon(struct ksmbd_work *work) in smb2_get_ksmbd_tcon() argument 93 struct smb2_hdr *req_hdr = ksmbd_req_buf_next(work); in smb2_get_ksmbd_tcon() 104 if (xa_empty(&work->sess->tree_conns)) { in smb2_get_ksmbd_tcon() [all …]
|
H A D | smb2pdu.h | 440 bool is_smb2_neg_cmd(struct ksmbd_work *work); 441 bool is_smb2_rsp(struct ksmbd_work *work); 443 u16 get_smb2_cmd_val(struct ksmbd_work *work); 444 void set_smb2_rsp_status(struct ksmbd_work *work, __le32 err); 445 int init_smb2_rsp_hdr(struct ksmbd_work *work); 446 int smb2_allocate_rsp_buf(struct ksmbd_work *work); 447 bool is_chained_smb2_message(struct ksmbd_work *work); 448 int init_smb2_neg_rsp(struct ksmbd_work *work); 449 void smb2_set_err_rsp(struct ksmbd_work *work); 450 int smb2_check_user_session(struct ksmbd_work *work); [all …]
|
H A D | ksmbd_work.h | 86 struct work_struct work; member 96 * @work: smb work containing response buffer 98 static inline void *ksmbd_resp_buf_next(struct ksmbd_work *work) in ksmbd_resp_buf_next() argument 100 return work->response_buf + work->next_smb2_rsp_hdr_off + 4; in ksmbd_resp_buf_next() 105 * @work: smb work containing response buffer 107 static inline void *ksmbd_resp_buf_curr(struct ksmbd_work *work) in ksmbd_resp_buf_curr() argument 109 return work->response_buf + work->curr_smb2_rsp_hdr_off + 4; in ksmbd_resp_buf_curr() 114 * @work: smb work containing response buffer 116 static inline void *ksmbd_req_buf_next(struct ksmbd_work *work) in ksmbd_req_buf_next() argument 118 return work->request_buf + work->next_smb2_rcv_hdr_off + 4; in ksmbd_req_buf_next() [all …]
|
H A D | smb_common.c | 129 * @work: smb work 135 int ksmbd_verify_smb_message(struct ksmbd_work *work) in ksmbd_verify_smb_message() argument 137 struct smb2_hdr *smb2_hdr = ksmbd_req_buf_next(work); in ksmbd_verify_smb_message() 141 return ksmbd_smb2_check_message(work); in ksmbd_verify_smb_message() 143 hdr = work->request_buf; in ksmbd_verify_smb_message() 146 work->conn->outstanding_credits++; in ksmbd_verify_smb_message() 306 * @work: smb work containing smb header 310 static u16 get_smb1_cmd_val(struct ksmbd_work *work) in get_smb1_cmd_val() argument 317 * @work: smb work containing smb request 321 static int init_smb1_rsp_hdr(struct ksmbd_work *work) in init_smb1_rsp_hdr() argument [all …]
|
/linux/drivers/gpu/drm/ |
H A D | drm_flip_work.c | 46 static void drm_flip_work_queue_task(struct drm_flip_work *work, struct drm_flip_task *task) in drm_flip_work_queue_task() argument 50 spin_lock_irqsave(&work->lock, flags); in drm_flip_work_queue_task() 51 list_add_tail(&task->node, &work->queued); in drm_flip_work_queue_task() 52 spin_unlock_irqrestore(&work->lock, flags); in drm_flip_work_queue_task() 56 * drm_flip_work_queue - queue work 57 * @work: the flip-work 60 * Queues work, that will later be run (passed back to drm_flip_func_t 61 * func) on a work queue after drm_flip_work_commit() is called. 63 void drm_flip_work_queue(struct drm_flip_work *work, void *val) in drm_flip_work_queue() argument 70 drm_flip_work_queue_task(work, task); in drm_flip_work_queue() [all …]
|
/linux/include/trace/events/ |
H A D | workqueue.h | 14 * workqueue_queue_work - called when a work gets queued 17 * @work: pointer to struct work_struct 19 * This event occurs when a work is queued immediately or once a 20 * delayed work is actually queued on a workqueue (ie: once the delay 26 struct work_struct *work), 28 TP_ARGS(req_cpu, pwq, work), 31 __field( void *, work ) 39 __entry->work = work; 40 __entry->function = work [all...] |
/linux/virt/kvm/ |
H A D | async_pf.c | 45 static void async_pf_execute(struct work_struct *work) in async_pf_execute() argument 48 container_of(work, struct kvm_async_pf, work); in async_pf_execute() 63 * work item is fully processed. in async_pf_execute() 99 static void kvm_flush_and_free_async_pf_work(struct kvm_async_pf *work) in kvm_flush_and_free_async_pf_work() argument 102 * The async #PF is "done", but KVM must wait for the work item itself, in kvm_flush_and_free_async_pf_work() 105 * after the last call to module_put(). Note, flushing the work item in kvm_flush_and_free_async_pf_work() 111 * need to be flushed (but sanity check that the work wasn't queued). in kvm_flush_and_free_async_pf_work() 113 if (work->wakeup_all) in kvm_flush_and_free_async_pf_work() 114 WARN_ON_ONCE(work->work.func); in kvm_flush_and_free_async_pf_work() 116 flush_work(&work->work); in kvm_flush_and_free_async_pf_work() [all …]
|
/linux/LICENSES/dual/ |
H A D | copyleft-next-0.3.1 | 26 of, publicly perform and publicly display My Work. 40 Legal Notices contained in My Work (to the extent they remain 47 If You Distribute a Derived Work, You must license the entire Derived 48 Work as a whole under this License, with prominent notice of such 50 separate Distribution of portions of the Derived Work. 52 If the Derived Work includes material licensed under the GPL, You may 53 instead license the Derived Work under the GPL. 57 When Distributing a Covered Work, You may not impose further 58 restrictions on the exercise of rights in the Covered Work granted under 64 However, You may Distribute a Covered Work incorporating material [all …]
|
H A D | Apache-2.0 | 49 "Work" shall mean the work of authorship, whether in Source or Object form, 51 is included in or attached to the work (an example is provided in the 54 "Derivative Works" shall mean any work, whether in Source or Object form, 55 that is based on (or derived from) the Work and for which the editorial 57 a whole, an original work of authorship. For the purposes of this License, 59 merely link (or bind by name) to the interfaces of, the Work and Derivative 62 "Contribution" shall mean any work of authorship, including the original 63 version of the Work and any modifications or additions to that Work or 65 inclusion in the Work by the copyright owner or by an individual or Legal 72 and improving the Work, but excluding communication that is conspicuously [all …]
|
/linux/include/linux/ |
H A D | workqueue.h | 3 * workqueue.h --- work queue handling for Linux. 20 * The first word is the work queue pointer and the flags rolled into 23 #define work_data_bits(work) ((unsigned long *)(&(work)->data)) argument 26 WORK_STRUCT_PENDING_BIT = 0, /* work item is pending execution */ 27 WORK_STRUCT_INACTIVE_BIT, /* work item is inactive */ 29 WORK_STRUCT_LINKED_BIT, /* next work is linked to this one */ 66 * When a work item is off queue, the high bits encode off-queue flags 114 struct work_struct work; member 117 /* target workqueue and CPU ->timer uses to queue ->work */ 123 struct work_struct work; global() member 211 to_delayed_work(struct work_struct * work) to_delayed_work() argument 216 to_rcu_work(struct work_struct * work) to_rcu_work() argument 222 struct work_struct work; global() member 263 work_static(struct work_struct * work) work_static() argument 268 __init_work(struct work_struct * work,int onstack) __init_work() argument 269 destroy_work_on_stack(struct work_struct * work) destroy_work_on_stack() argument 270 destroy_delayed_work_on_stack(struct delayed_work * work) destroy_delayed_work_on_stack() argument 271 work_static(struct work_struct * work) work_static() argument 354 work_pending(work) global() argument 660 queue_work(struct workqueue_struct * wq,struct work_struct * work) queue_work() argument 702 schedule_work_on(int cpu,struct work_struct * work) schedule_work_on() argument 721 schedule_work(struct work_struct * work) schedule_work() argument 743 enable_and_queue_work(struct workqueue_struct * wq,struct work_struct * work) enable_and_queue_work() argument [all...] |
H A D | completion.h | 35 #define COMPLETION_INITIALIZER(work) \ argument 36 { 0, __SWAIT_QUEUE_HEAD_INITIALIZER((work).wait) } 38 #define COMPLETION_INITIALIZER_ONSTACK_MAP(work, map) \ argument 39 (*({ init_completion_map(&(work), &(map)); &(work); })) 41 #define COMPLETION_INITIALIZER_ONSTACK(work) \ argument 42 (*({ init_completion(&work); &work; })) 46 * @work: identifier for the completion structure 52 #define DECLARE_COMPLETION(work) \ argument 53 struct completion work = COMPLETION_INITIALIZER(work) 62 * @work: identifier for the completion structure [all …]
|
/linux/rust/kernel/ |
H A D | workqueue.rs | 3 //! Work queues. 5 //! This file has two components: The raw work item API, and the safe work item API. 15 //! The raw API consists of the [`RawWorkItem`] trait, where the work item needs to provide an 16 //! arbitrary function that knows how to enqueue the work item. It should usually not be used 21 //! The safe API is used via the [`Work`] struct and [`WorkItem`] traits. Furthermore, it also 24 //! * The [`Work`] struct is the Rust wrapper for the C `work_struct` type. 37 //! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem}; 43 //! work: Work<MyStruct>, 47 //! impl HasWork<Self> for MyStruct { self.work } 54 //! work <- new_work!("MyStruct::work"), [all …]
|
/linux/drivers/staging/octeon/ |
H A D | ethernet-rx.c | 59 * @work: Work queue entry pointing to the packet. 63 static inline int cvm_oct_check_rcv_error(struct cvmx_wqe *work) in cvm_oct_check_rcv_error() argument 68 port = work->word0.pip.cn68xx.pknd; in cvm_oct_check_rcv_error() 70 port = work->word1.cn38xx.ipprt; in cvm_oct_check_rcv_error() 72 if ((work->word2.snoip.err_code == 10) && (work->word1.len <= 64)) in cvm_oct_check_rcv_error() 81 if (work->word2.snoip.err_code == 5 || in cvm_oct_check_rcv_error() 82 work->word2.snoip.err_code == 7) { in cvm_oct_check_rcv_error() 99 cvmx_phys_to_ptr(work->packet_ptr.s.addr); in cvm_oct_check_rcv_error() 102 while (i < work->word1.len - 1) { in cvm_oct_check_rcv_error() 111 work->packet_ptr.s.addr += i + 1; in cvm_oct_check_rcv_error() [all …]
|
/linux/kernel/ |
H A D | kthread.c | 318 * functions which do some additional work in non-modular code such as 964 * when they finish. There is defined a safe point for freezing when one work 973 struct kthread_work *work; in kthread_worker_fn() local 996 work = NULL; in kthread_worker_fn() 999 work = list_first_entry(&worker->work_list, in kthread_worker_fn() 1001 list_del_init(&work->node); in kthread_worker_fn() 1003 worker->current_work = work; in kthread_worker_fn() 1006 if (work) { in kthread_worker_fn() 1007 kthread_work_func_t func = work->func; in kthread_worker_fn() 1009 trace_sched_kthread_work_execute_start(work); in kthread_worker_fn() [all …]
|
H A D | workqueue.c | 18 * This is the generic async execution mechanism. Work items as are 21 * normal work items and the other for high priority ones) and some extra 238 PWQ_STAT_STARTED, /* work items started execution */ 239 PWQ_STAT_COMPLETED, /* work items completed execution */ 245 PWQ_STAT_RESCUED, /* linked work items executed by rescuer */ 269 * When pwq->nr_active >= max_active, new work item is queued to 273 * All work items marked with WORK_STRUCT_INACTIVE do not participate in 274 * nr_active and all work items in pwq->inactive_works are marked with 275 * WORK_STRUCT_INACTIVE. But not all WORK_STRUCT_INACTIVE work items are 277 * pool->worklist or worker->scheduled. Those work itmes are only struct [all …]
|
/linux/net/wireless/ |
H A D | debugfs.c | 115 struct wiphy_work work; member 131 struct wiphy_work *work) in wiphy_locked_debugfs_read_work() argument 133 struct debugfs_read_work *w = container_of(work, typeof(*w), work); in wiphy_locked_debugfs_read_work() 144 wiphy_work_cancel(w->wiphy, &w->work); in wiphy_locked_debugfs_read_cancel() 159 struct debugfs_read_work work = { in wiphy_locked_debugfs_read() local 167 .completion = COMPLETION_INITIALIZER_ONSTACK(work.completion), in wiphy_locked_debugfs_read() 171 .cancel_data = &work, in wiphy_locked_debugfs_read() 177 wiphy_work_init(&work.work, wiphy_locked_debugfs_read_work); in wiphy_locked_debugfs_read() 178 wiphy_work_queue(wiphy, &work.work); in wiphy_locked_debugfs_read() 181 wait_for_completion(&work.completion); in wiphy_locked_debugfs_read() [all …]
|
/linux/Documentation/core-api/ |
H A D | workqueue.rst | 17 When such an asynchronous execution context is needed, a work item 22 While there are work items on the workqueue the worker executes the 23 functions associated with the work items one after the other. When 24 there is no work item left on the workqueue the worker becomes idle. 25 When a new work item gets queued, the worker begins executing again. 43 while an ST wq one for the whole system. Work items had to compete for 72 abstraction, the work item, is introduced. 74 A work item is a simple struct that holds a pointer to the function 76 wants a function to be executed asynchronously it has to set up a work 77 item pointing to that function and queue that work item on a [all …]
|
/linux/LICENSES/deprecated/ |
H A D | CC0-1.0 | 26 and subsequent owner(s) (each and all, an "owner") of an original work of 27 authorship and/or a database (each, a "Work"). 29 Certain owners wish to permanently relinquish those rights to a Work for 37 works, or to gain reputation or greater distribution for their Work in 42 associating CC0 with a Work (the "Affirmer"), to the extent that he or she 43 is an owner of Copyright and Related Rights in the Work, voluntarily 44 elects to apply CC0 to the Work and publicly distribute the Work under its 46 Work and the meaning and intended legal effect of CC0 on those rights. 48 1. Copyright and Related Rights. A Work made available under CC0 may be 54 communicate, and translate a Work; [all …]
|
/linux/io_uring/ |
H A D | io-wq.c | 66 struct delayed_work work; member 158 static inline unsigned int io_get_work_hash(struct io_wq_work *work) in io_get_work_hash() argument 160 return __io_get_work_hash(atomic_read(&work->flags)); in io_get_work_hash() 272 * If there's work to do, returns true with acct->lock acquired. If not, 306 * starting work or finishing work. In either case, if it does in io_acct_activate_free_worker() 307 * to go sleep, we'll kick off a new task for this work anyway. in io_acct_activate_free_worker() 324 * Most likely an attempt to queue unbounded work on an io_wq that in io_wq_create_worker() 405 * work item after we canceled in io_wq_exit_workers(). in io_queue_worker_create() 422 /* Defer if current and next work are both hashed to the same chain */ 423 static bool io_wq_hash_defer(struct io_wq_work *work, struct io_wq_acct *acct) in io_wq_hash_defer() argument [all …]
|
/linux/drivers/infiniband/core/ |
H A D | cm.c | 96 struct cm_work *work); 187 struct delayed_work work; member 198 struct cm_work work; member 269 static void cm_work_handler(struct work_struct *work); 696 __be32 remote_id = timewait_info->work.remote_id; in cm_insert_remote_id() 702 if (be32_lt(remote_id, cur_timewait_info->work.remote_id)) in cm_insert_remote_id() 704 else if (be32_gt(remote_id, cur_timewait_info->work.remote_id)) in cm_insert_remote_id() 730 if (be32_lt(remote_id, timewait_info->work.remote_id)) in cm_find_remote_id() 732 else if (be32_gt(remote_id, timewait_info->work.remote_id)) in cm_find_remote_id() 739 res = cm_acquire_id(timewait_info->work.local_id, in cm_find_remote_id() [all …]
|
/linux/LICENSES/preferred/ |
H A D | LGPL-2.1 | 90 work, a derivative of the original library. The ordinary General Public 123 follow. Pay close attention to the difference between a "work based on the 124 library" and a "work that uses the library". The former contains code 140 The "Library", below, refers to any such software library or work which 141 has been distributed under these terms. A "work based on the Library" 142 means either the Library or any derivative work under copyright law: 143 that is to say, a work containing the Library or a portion of it, either 148 "Source code" for a work means the preferred form of the work for making 157 program is covered only if its contents constitute a work based on the 173 thus forming a work based on the Library, and copy and distribute such [all …]
|
H A D | LGPL-2.0 | 88 a textual and legal sense, the linked executable is a combined work, a 108 follow. Pay close attention to the difference between a "work based on the 109 library" and a "work that uses the library". The former contains code 128 The "Library", below, refers to any such software library or work which 129 has been distributed under these terms. A "work based on the Library" 130 means either the Library or any derivative work under copyright law: 131 that is to say, a work containing the Library or a portion of it, either 136 "Source code" for a work means the preferred form of the work for making 145 program is covered only if its contents constitute a work based on the 161 thus forming a work based on the Library, and copy and distribute such [all …]
|
/linux/drivers/accessibility/speakup/ |
H A D | selection.c | 20 struct work_struct work; member 25 static void __speakup_set_selection(struct work_struct *work) in __speakup_set_selection() argument 28 container_of(work, struct speakup_selection_work, work); in __speakup_set_selection() 58 .work = __WORK_INITIALIZER(speakup_sel_work.work, 65 * cancelling selection work. getting kref first establishes the in speakup_set_selection() 87 schedule_work_on(WORK_CPU_UNBOUND, &speakup_sel_work.work); in speakup_set_selection() 96 cancel_work_sync(&speakup_sel_work.work); in speakup_cancel_selection() 97 /* setting to null so that if work fails to run and we cancel it, in speakup_cancel_selection() 106 static void __speakup_paste_selection(struct work_struct *work) in __speakup_paste_selection() argument 109 container_of(work, struct speakup_selection_work, work); in __speakup_paste_selection() [all …]
|