diff options
| author | Tejun Heo <tj@kernel.org> | 2012-04-01 15:30:01 -0400 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2012-04-01 15:55:00 -0400 |
| commit | 959d851caa48829eb85cb85aa949fd6b4c5d5bc6 (patch) | |
| tree | 3ba9c94ec346275fb44c4f0d1cd2537cdff8d811 /kernel/trace/trace_syscalls.c | |
| parent | a5567932fc926739e29e98487128080f40c61710 (diff) | |
| parent | 48ddbe194623ae089cc0576e60363f2d2e85662a (diff) | |
Merge branch 'for-3.5' of ../cgroup into block/for-3.5/core-merged
cgroup/for-3.5 contains the following changes which blk-cgroup needs
to proceed with the on-going cleanup.
* Dynamic addition and removal of cftypes to make config/stat file
handling modular for policies.
* cgroup removal update to not wait for css references to drain to fix
blkcg removal hang caused by cfq caching cfqgs.
Pull in cgroup/for-3.5 into block/for-3.5/core. This causes the
following conflicts in block/blk-cgroup.c.
* 761b3ef50e "cgroup: remove cgroup_subsys argument from callbacks"
conflicts with blkiocg_pre_destroy() addition and blkiocg_attach()
removal. Resolved by removing @subsys from all subsys methods.
* 676f7c8f84 "cgroup: relocate cftype and cgroup_subsys definitions in
controllers" conflicts with ->pre_destroy() and ->attach() updates
and removal of modular config. Resolved by dropping forward
declarations of the methods and applying updates to the relocated
blkio_subsys.
* 4baf6e3325 "cgroup: convert all non-memcg controllers to the new
cftype interface" builds upon the previous item. Resolved by adding
->base_cftypes to the relocated blkio_subsys.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/trace/trace_syscalls.c')
| -rw-r--r-- | kernel/trace/trace_syscalls.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index cb654542c1a1..96fc73369099 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c | |||
| @@ -17,9 +17,9 @@ static DECLARE_BITMAP(enabled_enter_syscalls, NR_syscalls); | |||
| 17 | static DECLARE_BITMAP(enabled_exit_syscalls, NR_syscalls); | 17 | static DECLARE_BITMAP(enabled_exit_syscalls, NR_syscalls); |
| 18 | 18 | ||
| 19 | static int syscall_enter_register(struct ftrace_event_call *event, | 19 | static int syscall_enter_register(struct ftrace_event_call *event, |
| 20 | enum trace_reg type); | 20 | enum trace_reg type, void *data); |
| 21 | static int syscall_exit_register(struct ftrace_event_call *event, | 21 | static int syscall_exit_register(struct ftrace_event_call *event, |
| 22 | enum trace_reg type); | 22 | enum trace_reg type, void *data); |
| 23 | 23 | ||
| 24 | static int syscall_enter_define_fields(struct ftrace_event_call *call); | 24 | static int syscall_enter_define_fields(struct ftrace_event_call *call); |
| 25 | static int syscall_exit_define_fields(struct ftrace_event_call *call); | 25 | static int syscall_exit_define_fields(struct ftrace_event_call *call); |
| @@ -468,8 +468,8 @@ int __init init_ftrace_syscalls(void) | |||
| 468 | unsigned long addr; | 468 | unsigned long addr; |
| 469 | int i; | 469 | int i; |
| 470 | 470 | ||
| 471 | syscalls_metadata = kzalloc(sizeof(*syscalls_metadata) * | 471 | syscalls_metadata = kcalloc(NR_syscalls, sizeof(*syscalls_metadata), |
| 472 | NR_syscalls, GFP_KERNEL); | 472 | GFP_KERNEL); |
| 473 | if (!syscalls_metadata) { | 473 | if (!syscalls_metadata) { |
| 474 | WARN_ON(1); | 474 | WARN_ON(1); |
| 475 | return -ENOMEM; | 475 | return -ENOMEM; |
| @@ -649,7 +649,7 @@ void perf_sysexit_disable(struct ftrace_event_call *call) | |||
| 649 | #endif /* CONFIG_PERF_EVENTS */ | 649 | #endif /* CONFIG_PERF_EVENTS */ |
| 650 | 650 | ||
| 651 | static int syscall_enter_register(struct ftrace_event_call *event, | 651 | static int syscall_enter_register(struct ftrace_event_call *event, |
| 652 | enum trace_reg type) | 652 | enum trace_reg type, void *data) |
| 653 | { | 653 | { |
| 654 | switch (type) { | 654 | switch (type) { |
| 655 | case TRACE_REG_REGISTER: | 655 | case TRACE_REG_REGISTER: |
| @@ -664,13 +664,18 @@ static int syscall_enter_register(struct ftrace_event_call *event, | |||
| 664 | case TRACE_REG_PERF_UNREGISTER: | 664 | case TRACE_REG_PERF_UNREGISTER: |
| 665 | perf_sysenter_disable(event); | 665 | perf_sysenter_disable(event); |
| 666 | return 0; | 666 | return 0; |
| 667 | case TRACE_REG_PERF_OPEN: | ||
| 668 | case TRACE_REG_PERF_CLOSE: | ||
| 669 | case TRACE_REG_PERF_ADD: | ||
| 670 | case TRACE_REG_PERF_DEL: | ||
| 671 | return 0; | ||
| 667 | #endif | 672 | #endif |
| 668 | } | 673 | } |
| 669 | return 0; | 674 | return 0; |
| 670 | } | 675 | } |
| 671 | 676 | ||
| 672 | static int syscall_exit_register(struct ftrace_event_call *event, | 677 | static int syscall_exit_register(struct ftrace_event_call *event, |
| 673 | enum trace_reg type) | 678 | enum trace_reg type, void *data) |
| 674 | { | 679 | { |
| 675 | switch (type) { | 680 | switch (type) { |
| 676 | case TRACE_REG_REGISTER: | 681 | case TRACE_REG_REGISTER: |
| @@ -685,6 +690,11 @@ static int syscall_exit_register(struct ftrace_event_call *event, | |||
| 685 | case TRACE_REG_PERF_UNREGISTER: | 690 | case TRACE_REG_PERF_UNREGISTER: |
| 686 | perf_sysexit_disable(event); | 691 | perf_sysexit_disable(event); |
| 687 | return 0; | 692 | return 0; |
| 693 | case TRACE_REG_PERF_OPEN: | ||
| 694 | case TRACE_REG_PERF_CLOSE: | ||
| 695 | case TRACE_REG_PERF_ADD: | ||
| 696 | case TRACE_REG_PERF_DEL: | ||
| 697 | return 0; | ||
| 688 | #endif | 698 | #endif |
| 689 | } | 699 | } |
| 690 | return 0; | 700 | return 0; |
