내 상자에서 다음 값 :sched_wakeup_granularity_ns, sched_min_granularity_ns 및 SCHED_RR
그것은 1 초에 의미sysctl -A | grep "sched" | grep -v "domain"
kernel.sched_autogroup_enabled = 0
kernel.sched_cfs_bandwidth_slice_us = 5000
kernel.sched_child_runs_first = 0
kernel.sched_latency_ns = 18000000
kernel.sched_migration_cost_ns = 5000000
kernel.sched_min_granularity_ns = 10000000
kernel.sched_nr_migrate = 32
kernel.sched_rr_timeslice_ms = 100
kernel.sched_rt_period_us = 1000000
kernel.sched_rt_runtime_us = 950000
kernel.sched_shares_window_ns = 10000000
kernel.sched_time_avg_ms = 1000
kernel.sched_tunable_scaling = 1
kernel.sched_wakeup_granularity_ns = 3000000
, 0.95 초는 SCHED_FIFO 또는 SCHED_RR입니다, 는 0.05 SCHED_OTHER 예약, 내가 궁금하면
입니다 sched_wakeup_granularity_ns, 나는 그것을 인터넷 검색 및 설명을 얻을 수있다 :
Ability of tasks being woken to preempt the current task.
The smaller the value, the easier it is for the task to force the preemption
내가 sched_wakeup_granularity_ns에만 효과 SCHED_OTHER 작업,,745 생각을SCHED_FIFO 및 SCHED_RR은 절전 모드가 아니어야하므로 "wakeup"할 필요가 없습니다. 맞습니까? CPU 시간의 95 %를 가지고 SCHED_RR 작업을 할 수 있지만, 내가 알고 싶은
Minimum preemption granularity for processor-bound tasks.
Tasks are guaranteed to run for this minimum time before they are preempted
, 그러나 sched_min_granularity_ns 값 = 10000000, 그것 때문에 0.01 초, :
및 sched_min_granularity_ns에 대한
의 설명입니다 즉, 모든 SCHED_OTHER가 차단 대기 소켓 또는 절전 모드에 의해 차단되지 않는 한 선점되기 전에 실행되는 0.01 초 타임 슬라이스를 얻는다는 의미입니다. 예를 들어 코어 1에 3 개의 작업이 있으면 SCHED_RR로 2 개의 작업이, SCHED_OTHER에 3 번째 작업이 있음을 의미합니다. 세 번째 작업은 소켓 recv를 차단하지 않고 무제한 루프를 실행하고 yield없이 수행하므로 세 번째 작업은 CPU를 가져와 실행하고, 그것은 0.01 초 을 실행 한 후 컨텍스트 스위치를 끕니다. 다음 작업이 SCHED_RR의 우선 순위이기도합니다. sched_min_granularity_ns 사용에 대한 권리가 있습니까?편집 :
http://lists.pdxlinux.org/pipermail/plug/2006-February/045495.html
이 설명은 :
No SCHED_OTHER process may be preempted by another SCHED_OTHER process.
However a SCHED_RR or SCHED_FIFO process will preempt SCHED_OTHER
process before their time slice is done. So a SCHED_RR process
should wake up from a sleep with fairly good accuracy.
는 SCHED_RR 작업도 타임 슬라이스를 차단하지 않고 루프 동안 끝없는을 선점 수 있다는 것을 의미하지입니까?!