| /kernel/linux/linux-5.10/kernel/ |
| D | watch_queue.c | 2 /* Watch queue and general notification mechanism, built on pipes 30 MODULE_DESCRIPTION("Watch queue"); 92 * Post a notification to a watch queue. 187 * @wlist: The watch list to post the event to. 190 * @id: The ID to match on the watch. 192 * Post a notification of an event into a set of watch queues and let the users 205 struct watch *watch; in __post_watch_notification() local 214 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification() 215 if (watch->id != id) in __post_watch_notification() 218 n->info |= watch->info_id; in __post_watch_notification() [all …]
|
| D | audit_watch.c | 33 * audit_krule holds a reference to its associated watch. 100 void audit_get_watch(struct audit_watch *watch) in audit_get_watch() argument 102 refcount_inc(&watch->count); in audit_get_watch() 105 void audit_put_watch(struct audit_watch *watch) in audit_put_watch() argument 107 if (refcount_dec_and_test(&watch->count)) { in audit_put_watch() 108 WARN_ON(watch->parent); in audit_put_watch() 109 WARN_ON(!list_empty(&watch->rules)); in audit_put_watch() 110 kfree(watch->path); in audit_put_watch() 111 kfree(watch); in audit_put_watch() 115 static void audit_remove_watch(struct audit_watch *watch) in audit_remove_watch() argument [all …]
|
| /kernel/linux/linux-6.6/kernel/ |
| D | watch_queue.c | 2 /* Watch queue and general notification mechanism, built on pipes 30 MODULE_DESCRIPTION("Watch queue"); 91 * Post a notification to a watch queue. 183 * @wlist: The watch list to post the event to. 186 * @id: The ID to match on the watch. 188 * Post a notification of an event into a set of watch queues and let the users 201 struct watch *watch; in __post_watch_notification() local 210 hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) { in __post_watch_notification() 211 if (watch->id != id) in __post_watch_notification() 214 n->info |= watch->info_id; in __post_watch_notification() [all …]
|
| D | audit_watch.c | 33 * audit_krule holds a reference to its associated watch. 100 void audit_get_watch(struct audit_watch *watch) in audit_get_watch() argument 102 refcount_inc(&watch->count); in audit_get_watch() 105 void audit_put_watch(struct audit_watch *watch) in audit_put_watch() argument 107 if (refcount_dec_and_test(&watch->count)) { in audit_put_watch() 108 WARN_ON(watch->parent); in audit_put_watch() 109 WARN_ON(!list_empty(&watch->rules)); in audit_put_watch() 110 kfree(watch->path); in audit_put_watch() 111 kfree(watch); in audit_put_watch() 115 static void audit_remove_watch(struct audit_watch *watch) in audit_remove_watch() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/ |
| D | watch_queue.rst | 33 watch through that pipe. Only sources that have been connected to a pipe will 63 the type of record from that source (see the Watch Sources section below). The 65 internally by the watch queue itself. There are two subtypes: 70 The first indicates that an object on which a watch was installed was removed 79 * The watch ID (mask with WATCH_INFO_ID and shift by WATCH_INFO_ID__SHIFT). 80 This indicates that caller's ID of the watch, which may be between 0 94 Watch List (Notification Source) API 97 A "watch list" is a list of watchers that are subscribed to a source of 100 non-global watch list is typically referred to by reference to the object it 102 watch that specific key). [all …]
|
| /kernel/linux/linux-6.6/Documentation/core-api/ |
| D | watch_queue.rst | 33 watch through that pipe. Only sources that have been connected to a pipe will 63 the type of record from that source (see the Watch Sources section below). The 65 internally by the watch queue itself. There are two subtypes: 70 The first indicates that an object on which a watch was installed was removed 79 * The watch ID (mask with WATCH_INFO_ID and shift by WATCH_INFO_ID__SHIFT). 80 This indicates that caller's ID of the watch, which may be between 0 94 Watch List (Notification Source) API 97 A "watch list" is a list of watchers that are subscribed to a source of 100 non-global watch list is typically referred to by reference to the object it 102 watch that specific key). [all …]
|
| /kernel/linux/linux-5.10/drivers/xen/xenbus/ |
| D | xenbus_dev_frontend.c | 97 * alone during a watch callback. 228 struct xenbus_watch watch; member 233 static void free_watch_adapter(struct watch_adapter *watch) in free_watch_adapter() argument 235 kfree(watch->watch.node); in free_watch_adapter() 236 kfree(watch->token); in free_watch_adapter() 237 kfree(watch); in free_watch_adapter() 243 struct watch_adapter *watch; in alloc_watch_adapter() local 245 watch = kzalloc(sizeof(*watch), GFP_KERNEL); in alloc_watch_adapter() 246 if (watch == NULL) in alloc_watch_adapter() 249 watch->watch.node = kstrdup(path, GFP_KERNEL); in alloc_watch_adapter() [all …]
|
| D | xenbus_xs.c | 59 * New watch events happening in this time can be ignored by firing all watches 81 /* List of pending watch callback events, and a lock to protect it. */ 85 /* Protect watch (de)register against save/restore. */ 763 /* Register callback to watch this node. */ 764 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument 767 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch() 770 sprintf(token, "%lX", (long)watch); in register_xenbus_watch() 772 watch->nr_pending = 0; in register_xenbus_watch() 778 list_add(&watch->list, &watches); in register_xenbus_watch() 781 err = xs_watch(watch->node, token); in register_xenbus_watch() [all …]
|
| D | xenbus_client.c | 115 * xenbus_watch_path - register a watch 117 * @path: path to watch 118 * @watch: watch to register 121 * Register a @watch on the given path, using the given xenbus_watch structure 124 * @watch->node, and remains the caller's to free. On error, @watch->node will 129 struct xenbus_watch *watch, in xenbus_watch_path() argument 137 watch->node = path; in xenbus_watch_path() 138 watch->will_handle = will_handle; in xenbus_watch_path() 139 watch->callback = callback; in xenbus_watch_path() 141 err = register_xenbus_watch(watch); in xenbus_watch_path() [all …]
|
| /kernel/linux/linux-6.6/drivers/xen/xenbus/ |
| D | xenbus_dev_frontend.c | 97 * alone during a watch callback. 228 struct xenbus_watch watch; member 233 static void free_watch_adapter(struct watch_adapter *watch) in free_watch_adapter() argument 235 kfree(watch->watch.node); in free_watch_adapter() 236 kfree(watch->token); in free_watch_adapter() 237 kfree(watch); in free_watch_adapter() 243 struct watch_adapter *watch; in alloc_watch_adapter() local 245 watch = kzalloc(sizeof(*watch), GFP_KERNEL); in alloc_watch_adapter() 246 if (watch == NULL) in alloc_watch_adapter() 249 watch->watch.node = kstrdup(path, GFP_KERNEL); in alloc_watch_adapter() [all …]
|
| D | xenbus_client.c | 115 * xenbus_watch_path - register a watch 117 * @path: path to watch 118 * @watch: watch to register 121 * Register a @watch on the given path, using the given xenbus_watch structure 124 * @watch->node, and remains the caller's to free. On error, @watch->node will 129 struct xenbus_watch *watch, in xenbus_watch_path() argument 137 watch->node = path; in xenbus_watch_path() 138 watch->will_handle = will_handle; in xenbus_watch_path() 139 watch->callback = callback; in xenbus_watch_path() 141 err = register_xenbus_watch(watch); in xenbus_watch_path() [all …]
|
| D | xenbus_xs.c | 59 * New watch events happening in this time can be ignored by firing all watches 81 /* List of pending watch callback events, and a lock to protect it. */ 85 /* Protect watch (de)register against save/restore. */ 777 /* Register callback to watch this node. */ 778 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument 781 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch() 784 sprintf(token, "%lX", (long)watch); in register_xenbus_watch() 786 watch->nr_pending = 0; in register_xenbus_watch() 792 list_add(&watch->list, &watches); in register_xenbus_watch() 795 err = xs_watch(watch->node, token); in register_xenbus_watch() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | watch_queue.h | 2 /* User-mappable watch queue 52 * Representation of a watch on an object. 54 struct watch { struct 63 const struct cred *cred; /* Creds of the owner of the watch */ argument 75 void (*release_watch)(struct watch *); argument 85 extern void init_watch(struct watch *, struct watch_queue *); 86 extern int add_watch_to_object(struct watch *, struct watch_list *); 95 void (*release_watch)(struct watch *)) in init_watch_list() argument 120 * watch_sizeof - Calculate the information part of the size of a watch record,
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | watch_queue.h | 2 /* User-mappable watch queue 53 * Representation of a watch on an object. 55 struct watch { struct 64 const struct cred *cred; /* Creds of the owner of the watch */ argument 76 void (*release_watch)(struct watch *); argument 86 extern void init_watch(struct watch *, struct watch_queue *); 87 extern int add_watch_to_object(struct watch *, struct watch_list *); 96 void (*release_watch)(struct watch *)) in init_watch_list() argument 121 * watch_sizeof - Calculate the information part of the size of a watch record,
|
| /kernel/linux/linux-6.6/drivers/counter/ |
| D | counter-chrdev.c | 139 struct counter_watch *const watch, in counter_set_event_node() argument 148 if (event_node->event == watch->event && in counter_set_event_node() 149 event_node->channel == watch->channel) in counter_set_event_node() 160 event_node->event = watch->event; in counter_set_event_node() 161 event_node->channel = watch->channel; in counter_set_event_node() 166 /* Check if component watch has already been set before */ in counter_set_event_node() 268 struct counter_watch watch; in counter_add_watch() local 276 if (copy_from_user(&watch, uwatch, sizeof(watch))) in counter_add_watch() 279 if (watch.component.type == COUNTER_COMPONENT_NONE) in counter_add_watch() 282 parent = watch.component.parent; in counter_add_watch() [all …]
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | inotify.h | 22 __s32 wd; /* watch descriptor */ 23 __u32 mask; /* watch mask */ 29 /* the following are legal, implemented events that user-space can watch for */ 43 /* the following are legal events. they are sent as needed to any watch */ 53 #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ 57 #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ 80 * watch descriptor.
|
| D | counter.h | 71 * struct counter_watch - Counter component watch configuration 72 * @component: component to watch when event triggers 84 * Queues a Counter watch for the specified event. 108 * @watch: component watch configuration 114 struct counter_watch watch; member
|
| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | inotify.h | 22 __s32 wd; /* watch descriptor */ 23 __u32 mask; /* watch mask */ 29 /* the following are legal, implemented events that user-space can watch for */ 43 /* the following are legal events. they are sent as needed to any watch */ 53 #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ 57 #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ 80 * watch descriptor.
|
| D | watch_queue.h | 67 * Extended watch removal notification. This is used optionally if the type 75 struct watch_notification watch; member 95 * - watch.type = WATCH_TYPE_KEY_NOTIFY 96 * - watch.subtype = enum key_notification_type 99 struct watch_notification watch; member
|
| /kernel/liteos_a/shell/full/src/cmds/ |
| D | watch_shellcmd.c | 51 EVENT_CB_S watchEvent; /* event handle of the watch structure */ 52 CHAR cmdbuf[CMD_MAX_LEN]; /* the command to watch */ 94 PRINTK("\nUsage: watch\n"); in OsWatchCmdUsage() 95 PRINTK("watch [options] command\n"); in OsWatchCmdUsage() 109 PRINTK("No watch task to turn off.\n"); in OsWatchOverFunc() 170 PRINT_ERR("no watch command!\n"); in OsWatchCmdSplice() 197 PRINT_ERR("Watch event init failed in %s, %d\n", __FUNCTION__, __LINE__); in OsWatchTaskCreate() 210 PRINT_ERR("Watch task init failed in %s, %d\n", __FUNCTION__, __LINE__); in OsWatchTaskCreate() 239 PRINTK("Please turn off previous watch before to start a new watch.\n"); in OsShellCmdWatch() 275 SHELLCMD_ENTRY(watch_shellcmd, CMD_TYPE_EX, "watch", XARGS, (CmdCallBackFunc)OsShellCmdWatch);
|
| /kernel/linux/linux-6.6/Documentation/translations/zh_CN/core-api/ |
| D | watch_queue.rst | 105 void (*release_watch)(struct watch *wlist)); 138 struct watch { 159 * ``void init_watch(struct watch *watch, struct watch_queue *wqueue);`` 163 * ``int add_watch_to_object(struct watch *watch, struct watch_list *wlist);`` 251 (watch.info & info_mask) == info_filter
|
| /kernel/linux/linux-6.6/arch/mips/kernel/ |
| D | watch.c | 12 #include <asm/watch.h> 15 * Install the watch registers for the current thread. A maximum of 20 struct mips3264_watch_reg_state *watches = &t->thread.watch.mips3264; in mips_install_watch_registers() 53 ¤t->thread.watch.mips3264; in mips_read_watch_registers() 75 * since we got here, the watch condition was met and in mips_read_watch_registers() 83 * Disable all watch registers. Although only four registers are 85 * looping in the watch handler.
|
| /kernel/linux/linux-5.10/arch/mips/kernel/ |
| D | watch.c | 12 #include <asm/watch.h> 15 * Install the watch registers for the current thread. A maximum of 20 struct mips3264_watch_reg_state *watches = &t->thread.watch.mips3264; in mips_install_watch_registers() 53 ¤t->thread.watch.mips3264; in mips_read_watch_registers() 75 * since we got here, the watch condition was met and in mips_read_watch_registers() 83 * Disable all watch registers. Although only four registers are 85 * looping in the watch handler.
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | inotify.rst | 18 What is the design decision behind not tying the watch to the open fd of 30 an fd-per-watch? 33 An fd-per-watch quickly consumes more file descriptors than are allowed, 37 A watch consumes less memory than an open file, separating the number 47 fd returns all watch events and also any potential out-of-band data. If 48 every fd was a separate watch,
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | inotify.rst | 18 What is the design decision behind not tying the watch to the open fd of 30 an fd-per-watch? 33 An fd-per-watch quickly consumes more file descriptors than are allowed, 37 A watch consumes less memory than an open file, separating the number 47 fd returns all watch events and also any potential out-of-band data. If 48 every fd was a separate watch,
|