mirror of
https://github.com/torvalds/linux.git
synced 2026-05-15 18:12:22 +02:00
At Linux Plumbers, Andy Lutomirski approached me and pointed out that the function call syscall_get_arguments() implemented in x86 was horribly written and not optimized for the standard case of passing in 0 and 6 for the starting index and the number of system calls to get. When looking at all the users of this function, I discovered that all instances pass in only 0 and 6 for these arguments. Instead of having this function handle different cases that are never used, simply rewrite it to return the first 6 arguments of a system call. This should help out the performance of tracing system calls by ptrace, ftrace and perf. Link: http://lkml.kernel.org/r/20161107213233.754809394@goodmis.org Cc: Oleg Nesterov <oleg@redhat.com> Cc: Kees Cook <keescook@chromium.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Dave Martin <dave.martin@arm.com> Cc: "Dmitry V. Levin" <ldv@altlinux.org> Cc: x86@kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-c6x-dev@linux-c6x.org Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: linux-hexagon@vger.kernel.org Cc: linux-ia64@vger.kernel.org Cc: linux-mips@vger.kernel.org Cc: nios2-dev@lists.rocketboards.org Cc: openrisc@lists.librecores.org Cc: linux-parisc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Cc: linux-sh@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: linux-um@lists.infradead.org Cc: linux-xtensa@linux-xtensa.org Cc: linux-arch@vger.kernel.org Acked-by: Paul Burton <paul.burton@mips.com> # MIPS parts Acked-by: Max Filippov <jcmvbkbc@gmail.com> # For xtensa changes Acked-by: Will Deacon <will.deacon@arm.com> # For the arm64 bits Reviewed-by: Thomas Gleixner <tglx@linutronix.de> # for x86 Reviewed-by: Dmitry V. Levin <ldv@altlinux.org> Reported-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
||
|---|---|---|
| .. | ||
| 9p.h | ||
| afs.h | ||
| alarmtimer.h | ||
| asoc.h | ||
| bcache.h | ||
| block.h | ||
| bridge.h | ||
| btrfs.h | ||
| cachefiles.h | ||
| cgroup.h | ||
| clk.h | ||
| cma.h | ||
| compaction.h | ||
| context_tracking.h | ||
| cpuhp.h | ||
| devlink.h | ||
| dma_fence.h | ||
| ext4.h | ||
| f2fs.h | ||
| fib.h | ||
| fib6.h | ||
| filelock.h | ||
| filemap.h | ||
| fs_dax.h | ||
| fscache.h | ||
| fsi_master_ast_cf.h | ||
| fsi_master_gpio.h | ||
| fsi.h | ||
| gpio.h | ||
| host1x.h | ||
| hswadsp.h | ||
| huge_memory.h | ||
| hwmon.h | ||
| i2c.h | ||
| initcall.h | ||
| intel_ish.h | ||
| intel-sst.h | ||
| iommu.h | ||
| ipi.h | ||
| irq_matrix.h | ||
| irq.h | ||
| iscsi.h | ||
| jbd2.h | ||
| kmem.h | ||
| kvm.h | ||
| kyber.h | ||
| libata.h | ||
| lock.h | ||
| mce.h | ||
| mdio.h | ||
| migrate.h | ||
| mlxsw.h | ||
| mmc.h | ||
| mmflags.h | ||
| module.h | ||
| napi.h | ||
| neigh.h | ||
| net_probe_common.h | ||
| net.h | ||
| nilfs2.h | ||
| nmi.h | ||
| objagg.h | ||
| oom.h | ||
| page_isolation.h | ||
| page_ref.h | ||
| pagemap.h | ||
| percpu.h | ||
| power_cpu_migrate.h | ||
| power.h | ||
| preemptirq.h | ||
| printk.h | ||
| pwc.h | ||
| qdisc.h | ||
| random.h | ||
| rcu.h | ||
| rdma.h | ||
| regulator.h | ||
| rpcgss.h | ||
| rpcrdma.h | ||
| rpm.h | ||
| rseq.h | ||
| rtc.h | ||
| rxrpc.h | ||
| sched.h | ||
| scsi.h | ||
| sctp.h | ||
| signal.h | ||
| siox.h | ||
| skb.h | ||
| smbus.h | ||
| sock.h | ||
| spi.h | ||
| spmi.h | ||
| sunrpc.h | ||
| sunvnet.h | ||
| swiotlb.h | ||
| syscalls.h | ||
| target.h | ||
| task.h | ||
| tcp.h | ||
| tegra_apb_dma.h | ||
| thermal_power_allocator.h | ||
| thermal.h | ||
| thp.h | ||
| timer.h | ||
| tlb.h | ||
| udp.h | ||
| ufs.h | ||
| v4l2.h | ||
| vb2.h | ||
| vmscan.h | ||
| vsock_virtio_transport_common.h | ||
| wbt.h | ||
| workqueue.h | ||
| writeback.h | ||
| xdp.h | ||
| xen.h | ||