| /kernel/linux/linux-6.6/Documentation/driver-api/driver-model/ |
| D | design-patterns.rst | 24 struct foo { 31 struct foo *foo; 33 foo = devm_kzalloc(dev, sizeof(*foo), GFP_KERNEL); 34 if (!foo) 36 spin_lock_init(&foo->lock); 40 This will create an instance of struct foo in memory every time probe() is 46 pass around a pointer to struct foo like this:: 50 struct foo *foo = arg; 56 struct foo *foo; 59 ret = request_irq(irq, foo_handler, 0, "foo", foo); [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/driver-model/ |
| D | design-patterns.rst | 24 struct foo { 31 struct foo *foo; 33 foo = devm_kzalloc(dev, sizeof(*foo), GFP_KERNEL); 34 if (!foo) 36 spin_lock_init(&foo->lock); 40 This will create an instance of struct foo in memory every time probe() is 46 pass around a pointer to struct foo like this:: 50 struct foo *foo = arg; 56 struct foo *foo; 59 ret = request_irq(irq, foo_handler, 0, "foo", foo); [all …]
|
| /kernel/linux/linux-6.6/samples/trace_events/ |
| D | trace-events-sample.h | 70 * Here it is trace_foo_bar(char *foo, int bar). 73 * Here it is simply "foo, bar". 85 * __field(int, foo) 87 * __entry->foo = 5; 94 * __field_struct(struct bar, foo) 102 * __array( char, foo, 10) is the same as saying: char foo[10]; 106 * __entry->foo[0] = 'a'; 108 * memcpy(__entry->foo, bar, 10); 119 * __dynamic_array( int, foo, bar) is similar to: int foo[bar]; 124 * memcpy(__get_dynamic_array(foo), bar, 10); [all …]
|
| /kernel/linux/linux-5.10/samples/trace_events/ |
| D | trace-events-sample.h | 70 * Here it is trace_foo_bar(char *foo, int bar). 73 * Here it is simply "foo, bar". 85 * __field(int, foo) 87 * __entry->foo = 5; 94 * __field_struct(struct bar, foo) 102 * __array( char, foo, 10) is the same as saying: char foo[10]; 106 * __entry->foo[0] = 'a'; 108 * memcpy(__entry->foo, bar, 10); 119 * __dynamic_array( int, foo, bar) is similar to: int foo[bar]; 124 * memcpy(__get_dynamic_array(foo), bar, 10); [all …]
|
| /kernel/linux/linux-5.10/samples/kobject/ |
| D | kset-example.c | 18 * Then tree kobjects are created and assigned to this kset, "foo", "baz", 31 int foo; member 40 ssize_t (*show)(struct foo_obj *foo, struct foo_attribute *attr, char *buf); 41 ssize_t (*store)(struct foo_obj *foo, struct foo_attribute *attr, const char *buf, size_t count); 57 struct foo_obj *foo; in foo_attr_show() local 60 foo = to_foo_obj(kobj); in foo_attr_show() 65 return attribute->show(foo, attribute, buf); in foo_attr_show() 77 struct foo_obj *foo; in foo_attr_store() local 80 foo = to_foo_obj(kobj); in foo_attr_store() 85 return attribute->store(foo, attribute, buf, len); in foo_attr_store() [all …]
|
| /kernel/linux/linux-6.6/samples/kobject/ |
| D | kset-example.c | 18 * Then tree kobjects are created and assigned to this kset, "foo", "baz", 31 int foo; member 40 ssize_t (*show)(struct foo_obj *foo, struct foo_attribute *attr, char *buf); 41 ssize_t (*store)(struct foo_obj *foo, struct foo_attribute *attr, const char *buf, size_t count); 57 struct foo_obj *foo; in foo_attr_show() local 60 foo = to_foo_obj(kobj); in foo_attr_show() 65 return attribute->show(foo, attribute, buf); in foo_attr_show() 77 struct foo_obj *foo; in foo_attr_store() local 80 foo = to_foo_obj(kobj); in foo_attr_store() 85 return attribute->store(foo, attribute, buf, len); in foo_attr_store() [all …]
|
| /kernel/linux/linux-6.6/tools/memory-model/Documentation/ |
| D | access-marking.txt | 220 For example, ASSERT_EXCLUSIVE_ACCESS(foo) tells KCSAN that any 221 concurrent access to variable foo by any other CPU is an error, even 223 ASSERT_EXCLUSIVE_WRITER(foo) tells KCSAN that although it is OK for there 224 to be concurrent reads from foo from other CPUs, it is an error for some 225 other CPU to be concurrently writing to foo, even if that concurrent 246 For example, suppose a shared variable "foo" is read only while a 251 int foo; 257 foo = newval; 268 ret = foo; 275 pr_info("Current value of foo: %d\n", data_race(foo)); [all …]
|
| /kernel/linux/linux-6.6/Documentation/translations/zh_CN/admin-guide/ |
| D | bootconfig.rst | 46 foo.bar.baz = value1 47 foo.bar.qux.quux = value2 51 foo.bar { 58 foo.bar { baz = value1; qux.quux = value2 } 68 foo = bar, baz 69 foo = qux # !错误! 我们不可以重定义相同的关键字 73 foo = bar, baz 74 foo := qux 76 这样 ``foo`` 关键字的值就变成了 ``qux`` 。这对于通过添加(部分)自定义引导 81 foo = bar, baz [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/bpf/prog_tests/ |
| D | cgroup_attach_override.c | 7 #define FOO "/foo" macro 8 #define BAR "/foo/bar/" 28 int drop_prog = -1, allow_prog = -1, foo = -1, bar = -1; in test_cgroup_attach_override() local 41 foo = test__join_cgroup(FOO); in test_cgroup_attach_override() 42 if (CHECK(foo < 0, "cgroup_join_foo", "cgroup setup failed\n")) in test_cgroup_attach_override() 45 if (CHECK(bpf_prog_attach(drop_prog, foo, BPF_CGROUP_INET_EGRESS, in test_cgroup_attach_override() 48 "attach prog to %s failed, errno=%d\n", FOO, errno)) in test_cgroup_attach_override() 87 if (CHECK(bpf_prog_detach(foo, BPF_CGROUP_INET_EGRESS), in test_cgroup_attach_override() 89 "detach prog from %s failed, errno=%d\n", FOO, errno)) in test_cgroup_attach_override() 111 if (CHECK(!bpf_prog_detach(foo, BPF_CGROUP_INET_EGRESS), in test_cgroup_attach_override() [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
| D | cgroup_attach_override.c | 7 #define FOO "/foo" macro 8 #define BAR "/foo/bar/" 28 int drop_prog = -1, allow_prog = -1, foo = -1, bar = -1; in serial_test_cgroup_attach_override() local 41 foo = test__join_cgroup(FOO); in serial_test_cgroup_attach_override() 42 if (CHECK(foo < 0, "cgroup_join_foo", "cgroup setup failed\n")) in serial_test_cgroup_attach_override() 45 if (CHECK(bpf_prog_attach(drop_prog, foo, BPF_CGROUP_INET_EGRESS, in serial_test_cgroup_attach_override() 48 "attach prog to %s failed, errno=%d\n", FOO, errno)) in serial_test_cgroup_attach_override() 87 if (CHECK(bpf_prog_detach(foo, BPF_CGROUP_INET_EGRESS), in serial_test_cgroup_attach_override() 89 "detach prog from %s failed, errno=%d\n", FOO, errno)) in serial_test_cgroup_attach_override() 111 if (CHECK(!bpf_prog_detach(foo, BPF_CGROUP_INET_EGRESS), in serial_test_cgroup_attach_override() [all …]
|
| D | linked_list.c | 87 "operation on bpf_list_head expects arg#1 bpf_list_node at offset=48 in struct foo, " 91 { "incorrect_node_off2", "arg#1 offset=0, but expected bpf_list_node at offset=48 in struct foo" }, 298 foo_btf_id = btf__add_struct(btf, "foo", 20); in list_and_rb_node_same_struct() 299 if (!ASSERT_GT(foo_btf_id, 0, "btf__add_struct foo")) in list_and_rb_node_same_struct() 302 if (!ASSERT_OK(err, "btf__add_field foo::a")) in list_and_rb_node_same_struct() 305 if (!ASSERT_OK(err, "btf__add_field foo::b")) in list_and_rb_node_same_struct() 325 id = btf__add_struct(btf, "foo", 24); in test_btf() 326 if (!ASSERT_EQ(id, 5, "btf__add_struct foo")) in test_btf() 329 if (!ASSERT_OK(err, "btf__add_struct foo::a")) in test_btf() 332 if (!ASSERT_OK(err, "btf__add_struct foo::a")) in test_btf() [all …]
|
| D | task_under_cgroup.c | 9 #define FOO "/foo" macro 14 int ret, foo; in test_task_under_cgroup() local 17 foo = test__join_cgroup(FOO); in test_task_under_cgroup() 18 if (!ASSERT_OK(foo < 0, "cgroup_join_foo")) in test_task_under_cgroup() 27 skel->rodata->cgid = get_cgroup_id(FOO); in test_task_under_cgroup() 52 close(foo); in test_task_under_cgroup()
|
| /kernel/linux/linux-6.6/tools/testing/selftests/ftrace/test.d/instances/ |
| D | instance-event.tc | 7 rmdir foo 2>/dev/null 29 mkdir foo 2> /dev/null 30 rmdir foo 2> /dev/null 36 cat foo/trace 1> /dev/null 2>&1 42 echo 1 > foo/events/sched/sched_switch/enable 69 mkdir foo 70 ls foo > /dev/null 71 rmdir foo 72 if [ -d foo ]; then 73 fail "foo still exists" [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/ftrace/test.d/instances/ |
| D | instance-event.tc | 7 rmdir foo 2>/dev/null 29 mkdir foo 2> /dev/null 30 rmdir foo 2> /dev/null 36 cat foo/trace 1> /dev/null 2>&1 42 echo 1 > foo/events/sched/sched_switch/enable 69 mkdir foo 70 ls foo > /dev/null 71 rmdir foo 72 if [ -d foo ]; then 73 fail "foo still exists" [all …]
|
| /kernel/linux/linux-6.6/tools/perf/tests/shell/ |
| D | test_uprobe_from_different_cu.sh | 20 perf probe -x ${temp_dir}/testfile -d foo || true 34 cat > ${temp_dir}/testfile-foo.h << EOF 41 extern int foo (int i, struct t *t); 44 cat > ${temp_dir}/testfile-foo.c << EOF 45 #include "testfile-foo.h" 48 foo (int i, struct t *t) 59 #include "testfile-foo.h" 72 return foo (3, &g); 76 gcc -g -Og -flto -c ${temp_dir}/testfile-foo.c -o ${temp_dir}/testfile-foo.o 78 gcc -g -Og -o ${temp_dir}/testfile ${temp_dir}/testfile-foo.o ${temp_dir}/testfile-main.o [all …]
|
| /kernel/linux/linux-5.10/tools/perf/tests/shell/ |
| D | test_uprobe_from_different_cu.sh | 20 perf probe -x ${temp_dir}/testfile -d foo || true 34 cat > ${temp_dir}/testfile-foo.h << EOF 41 extern int foo (int i, struct t *t); 44 cat > ${temp_dir}/testfile-foo.c << EOF 45 #include "testfile-foo.h" 48 foo (int i, struct t *t) 59 #include "testfile-foo.h" 72 return foo (3, &g); 76 gcc -g -Og -flto -c ${temp_dir}/testfile-foo.c -o ${temp_dir}/testfile-foo.o 78 gcc -g -Og -o ${temp_dir}/testfile ${temp_dir}/testfile-foo.o ${temp_dir}/testfile-main.o [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/include/nvif/ |
| D | list.h | 36 * We need to keep a list of struct foo in the parent struct bar, i.e. what 41 * struct foo *list_of_foos; -----> struct foo {}, struct foo {}, struct foo{} 54 * struct foo { 68 * struct foo *foo = malloc(...); 70 * list_add(&foo->entry, &bar.list_of_foos); 74 * list_del(&foo->entry); 75 * free(foo); 80 * Looping through the list requires a 'struct foo' as iterator and the 83 * struct foo *iterator; 92 * struct foo *iterator, *next; [all …]
|
| /kernel/linux/linux-6.6/tools/perf/Documentation/ |
| D | callchain-overhead-calculation.txt | 24 void foo(void) { 30 foo(); 39 In this case 'foo' is a child of 'bar', and 'bar' is an immediate 40 child of 'main' so 'foo' also is a child of 'main'. In other words, 41 'main' is a parent of 'foo' and 'bar', and 'bar' is a parent of 'foo'. 43 Suppose all samples are recorded in 'foo' and 'bar' only. When it's 50 60.00% foo 52 --- foo 65 child functions (i.e. 'foo' and 'bar') are added to the parents to 87 60.00% 60.00% foo [all …]
|
| /kernel/linux/linux-5.10/tools/perf/Documentation/ |
| D | callchain-overhead-calculation.txt | 24 void foo(void) { 30 foo(); 39 In this case 'foo' is a child of 'bar', and 'bar' is an immediate 40 child of 'main' so 'foo' also is a child of 'main'. In other words, 41 'main' is a parent of 'foo' and 'bar', and 'bar' is a parent of 'foo'. 43 Suppose all samples are recorded in 'foo' and 'bar' only. When it's 50 60.00% foo 52 --- foo 65 child functions (i.e. 'foo' and 'bar') are added to the parents to 87 60.00% 60.00% foo [all …]
|
| /kernel/linux/linux-5.10/lib/ |
| D | test_debug_virtual.c | 16 struct foo { struct 20 static struct foo *foo; argument 32 foo = kzalloc(sizeof(*foo), GFP_KERNEL); in test_debug_virtual_init() 33 if (!foo) in test_debug_virtual_init() 36 pa = virt_to_phys(foo); in test_debug_virtual_init() 37 va = foo; in test_debug_virtual_init() 46 kfree(foo); in test_debug_virtual_exit()
|
| /kernel/linux/linux-6.6/lib/ |
| D | test_debug_virtual.c | 16 struct foo { struct 20 static struct foo *foo; argument 32 foo = kzalloc(sizeof(*foo), GFP_KERNEL); in test_debug_virtual_init() 33 if (!foo) in test_debug_virtual_init() 36 pa = virt_to_phys(foo); in test_debug_virtual_init() 37 va = foo; in test_debug_virtual_init() 46 kfree(foo); in test_debug_virtual_exit()
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/ |
| D | bootconfig.rst | 48 foo.bar.baz = value1 49 foo.bar.qux.quux = value2 53 foo.bar { 60 foo.bar { baz = value1; qux.quux = value2 } 71 foo = bar, baz 72 foo = qux # !ERROR! we can not re-define same key 77 foo = bar, baz 78 foo := qux 80 then, the ``qux`` is assigned to ``foo`` key. This is useful for 87 foo = bar, baz [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/ftrace/test.d/dynevent/ |
| D | eprobes_syntax_errors.tc | 13 check_error 'e syscalls/sys_enter_openat ^foo' # BAD_ATTACH_ARG 17 check_error 'e:^foo.1/bar syscalls/sys_enter_openat' # BAD_GROUP_NAME 19 check_error 'e:foo/^12345678901234567890123456789012345678901234567890123456789012345 syscalls/sys_… 20 check_error 'e:foo/^bar.1 syscalls/sys_enter_openat' # BAD_EVENT_NAME 22 check_error 'e:foo/bar syscalls/sys_enter_openat arg=^dfd' # BAD_FETCH_ARG 23 check_error 'e:foo/bar syscalls/sys_enter_openat ^arg=$foo' # BAD_ATTACH_ARG 26 check_error 'e:foo/bar syscalls/sys_enter_openat if ^' # NO_EP_FILTER
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/ |
| D | bootconfig.rst | 48 foo.bar.baz = value1 49 foo.bar.qux.quux = value2 53 foo.bar { 60 foo.bar { baz = value1; qux.quux = value2 } 71 foo = bar, baz 72 foo = qux # !ERROR! we can not re-define same key 77 foo = bar, baz 78 foo := qux 80 then, the ``qux`` is assigned to ``foo`` key. This is useful for 87 foo = bar, baz [all …]
|
| /kernel/linux/linux-6.6/Documentation/translations/zh_CN/core-api/ |
| D | xarray.rst | 205 void foo_init(struct foo *foo) 207 xa_init_flags(&foo->array, XA_FLAGS_LOCK_BH); 210 int foo_store(struct foo *foo, unsigned long index, void *entry) 214 xa_lock_bh(&foo->array); 215 err = xa_err(__xa_store(&foo->array, index, entry, GFP_KERNEL)); 217 foo->count++; 218 xa_unlock_bh(&foo->array); 223 void foo_erase(struct foo *foo, unsigned long index) 225 xa_lock(&foo->array); 226 __xa_erase(&foo->array, index); [all …]
|