Commit Graph

29 Commits

Author SHA1 Message Date
yongduan 772d6366c7 net: rps using pvipi
In the virtualization scenario, you can use pvipi to optimize the sending of
IPI interrupts and reduce the number of vmexit.

rps_using_pvipi test
Test guest: 32 core, 64G memory, virtio-net 8 queues, rss interrupt is bound
to 24-31 core. Observe the number of vmexit of 31 cores.

1. 1000000pps
100 iperf instances, 10000pps per instance.
disable rps_using_pvipi  68077 vmexit/s
enable  rps_using_pvipi  21138 vmexit/s

2. 2000000pps
1000 iperf instances, 2000pps per instance.
disable rps_using_pvipi  40879 vmexit/s
enable  rps_using_pvipi  9195  vmexit/s

3. 2000000pps
2000 iperf instances, 1000pps per instance.
disable rps_using_pvipi  24746 vmexit/s
enable  rps_using_pvipi  7292  vmexit/s

Enabling rps_using_pvipi can greatly reduce the number of vmexit.

Signed-off-by: yongduan <yongduan@tencent.com>
2020-12-01 10:36:20 +08:00
gxm-newtonf a26f554ca5
Merge pull request #35 from charliecgxu/softirq
softirq: enhance network latency
2020-10-28 11:16:06 +08:00
charliecgxu f7860a5c86 softirq: enhance network latency
Enhance network tail latency by directly handling softirq
when detecting long scheduling latency of ksoftirqd.

Signed-off-by: yongduan <yongduan@tencent.com>
Signed-off-by: charliecgxu <charliecgxu@tencent.com>
2020-10-16 11:55:22 +08:00
charliecgxu 61219f7c16 memcg: add scheduling point while showing memcg usage
Without preemption, if syscall excutes too long it will significantly
affect performance of other important processes. So add a shceduling
point when showing root memcg usage.

Signed-off-by: yongduan <yongduan@tencent.com>
Signed-off-by: charliecgxu <charliecgxu@tencent.com>
2020-10-13 10:13:59 +08:00
Liu Hua 6d0d1ff068 sched: /proc/cpuinfo in docker base on cpu quota
Signed-off-by: Liu Hua <shookliu@tencent.com>
2020-07-16 14:59:05 +08:00
Liu Hua 1fe0578c20 cgroup: add switch for subsystem stats isolated
Statictics of memcg, cpuset, cpuacct and blkio export by /proc/
 when switch enabled.

Signed-off-by: Liu Hua <shookliu@tencent.com>
2020-07-16 14:52:41 +08:00
chen xiaoguang e59390ab76 Revert "sched/BT: add RDT support for BT scheduler class"
This reverts commit a2119393bd.

Signed-off-by: Xiaoguang Chen <xiaoggchen@tencent.com>
2020-07-16 12:41:34 +08:00
He Chen de8ae6bfd2 sched/bt: cgroup support and ignore cpu binding for offline task
This commit add cpu.offline to cpu cgroup, echo 1 > cpu.offline would
convert all tasks under this cgroup to offline task. Beside, a new
sysctl sysctl_sched_bt_ignore_cpubind is added, which makes offline
tasks ignoring CPU binding and running on any CPU.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Hua Liu <shookliu@tencent.com>
Signed-off-by: Xiaogguang Chen <xiaoggchen@tencent.com>
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
Signed-off-by: Bin Fan <tombinfan@tencent.com>
Signed-off-by: He Chen <heddchen@tencent.com>
2020-06-24 10:09:06 +08:00
chen xiaoguang 8fe0499fd3 cgroup/memory: add schedule point while showing memory stat
Also a switch had been added to control whether show the
subtree or not.

Signed-off-by: Chen He <heddchen@tencent.com>
Signed-off-by: Peng Zhiguang <zgpeng@tencent.com>
Signed-off-by: Chen Xiaoguang <xiaoggchen@tencent.com>
2020-05-29 10:41:01 +08:00
He Chen a2119393bd sched/BT: add RDT support for BT scheduler class
Offline tasks (BT tasks) may have some performance impact to online
tasks.
In this commit, we introduce Intel RDT features to limit offline tasks
L3 cache usage to avoid the influence caused by offline tasks.

Signed-off-by: Xiaoguang Chen <xiaoggchen@tencent.com>
Signed-off-by: He Chen <heddchen@tencent.com>
2020-05-29 10:40:58 +08:00
Xiaoming Gao 205fee4e55 clocksource: add kernel.clocksource_unstable_cnt to track tsc unstable
since we disable clocksource switch when tsc not stable, we need a
counter to track tsc unstable did happend.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
2020-05-29 10:40:52 +08:00
Xiaoming Gao 7c59213786 clocksource: add debug information and disable tsc switch
output more information when clocksource got unstable,
and add kernel.clocksource_switch_unstable_cs to control
whether to switch off unstable clocksource.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
2020-05-29 10:40:44 +08:00
Kaixu Xia b0e23ef723 pagecachelimit: add the slab(dentry&inode) limit support
Add the support that controlling slab(dentry&inode) limit and the
corresponding sysctl interface.

Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
2020-05-29 10:40:24 +08:00
Xiaoming Gao 9de8b674e2 slub: add fast_slub_nr_free to track free objects
use lightweight track method to count free objects in
slub, remove heavy logic in spin_lock_irqsave.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
2020-05-29 10:40:21 +08:00
zgpeng f2ba303dbd vm: add max_map_count isolate switch
Add the max_map_count isolation switch kernel.isolate_max_map_count;
The isolation of max_map_count is turned on by default. If you want
to turn it off, set kernel.isolate_max_map_count to 0;

Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
2020-05-29 10:38:28 +08:00
He Chen f1ac9bd18b sched/bt: add latency factor for bt load
Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Hua Liu <shookliu@tencent.com>
Signed-off-by: Xiaogguang Chen <xiaoggchen@tencent.com>
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
Signed-off-by: Bin Fan <tombinfan@tencent.com>
Signed-off-by: He Chen <heddchen@tencent.com>
2020-03-02 22:03:10 +08:00
He Chen 0dd9de2d2b sched/bt: BT scheduler load balance support
Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Hua Liu <shookliu@tencent.com>
Signed-off-by: Xiaogguang Chen <xiaoggchen@tencent.com>
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
Signed-off-by: Bin Fan <tombinfan@tencent.com>
Signed-off-by: He Chen <heddchen@tencent.com>
2020-03-02 22:03:09 +08:00
He Chen e6c42e61db sched/bt: BT scheduler bandwidth limit support
Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Hua Liu <shookliu@tencent.com>
Signed-off-by: Xiaogguang Chen <xiaoggchen@tencent.com>
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
Signed-off-by: Bin Fan <tombinfan@tencent.com>
Signed-off-by: He Chen <heddchen@tencent.com>
2020-03-02 22:03:09 +08:00
Fuhai Wang 9d289d8cff epoll: introduce min_wait_time
epoll hrtimer patch may increase loop times if timeout set to 1ms.
This patch add new sysctl control the minimal wait time, and default
to 1 jiffies.

Signed-off-by: Samuel Liao <samuelliao@tencent.com>
Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Fuhai Wang <fuhaiwang@tencent.com>
2020-01-02 14:53:48 +08:00
Fuhai Wang b068df7b27 Revert "epoll: introduce min_wait_time" 2020-01-02 14:53:11 +08:00
Liu Yu f39de73b07 sysctl: fix build issue if CONFIG_CPUSETS disabled
Signed-off-by: Liu Yu <allanyuliu@tencent.com>
2020-01-02 12:24:19 +08:00
Zhiguang Peng d904783fd2 cpuset: add sysctl cpuset_cpuinfo_show_realinfo to switch whether show real cpuinfo or not
IEG need cpuinfo's processor field to start from 0 in docker, so add sysctl
cpuset_cpuinfo_show_realinfo to switch whether cpuinfo's processor
field start from 0 or not.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
2020-01-02 12:21:58 +08:00
Chunguang Xu e133d113ca pagecachelimit: page cache reclaim asynchronous
add /proc/sys/vm/vm_pagecache_limit_async interface which
allow page caches reclaimed in kpclimitd, it will not consume
work threads runtime, but oom may be occured. it's closed default.

Signed-off-by: Zhiping Du <zhipingdu@tencent.com>
Signed-off-by: Chunguang Xu <brookxu@tencent.com>
2020-01-02 12:02:39 +08:00
Chunguang Xu 6711b34671 pagecachelimit: limit the pagecache ratio of totalram
limit the pagecache ratio of totalram

Signed-off-by: Zhiping Du <zhipingdu@tencent.com>
Signed-off-by: Chunguang Xu <brookxu@tencent.com>
2020-01-02 12:01:22 +08:00
Kaixu Xia 954836b8d1 mounts: add shield mountpoint in container support
Add shield mountpoint in container support
$ echo "set /dev/name /mnt/point" >/proc/tkernel/shield_mounts
to shield the mountpoint
$ echo "clear /dev/name /mnt/point" >/proc/tkernel/shield_mounts
to delete the mountpoint shielded

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
Signed-off-by: Weiwei Li <nuonuoli@tencent.com>
Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
2020-01-02 11:55:00 +08:00
Liu Hua ec970f2dff vm:isolate max_map_count by pid namespace
Signed-off-by: Zhiguang Peng <zgpeng@tencent.com>
Signed-off-by: Liu Hua <shookliu@tencent.com>
2020-01-02 11:51:53 +08:00
Xiaoming Gao 34bbe3bcb8 signal: add print_fatal_signals_src_dst sysctl to switch dump fatal signals from sender side
the print_fatal_signals sysctl can only dump fatal signals from receiver's side,
cannot find who and why send these fatal signals, so add a new sysctl
print_fatal_signals_src_dst to switch dump fatal signals from sender side.

Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
2020-01-02 11:44:57 +08:00
Lorin Liu 3dd54ca17c proc: add pid mapping between host and container
create a pid mapping data to parent processes in file  /proc/$PID/status
create a proc file (/proc/$PID/hostinfo), mapping pid data to host pid

Signed-off-by: Lorin Liu <lorinliu@tencent.com>
2020-01-02 11:44:36 +08:00
Xiaoming Gao 78a8c3c2c2 Init Repo base on 4.14.105 long term, and add base tlinux kernel interfaces
Signed-off-by: Xiaoming Gao <newtongao@tencent.com>
2020-01-02 10:51:04 +08:00