Messages in this thread |  | | Subject | Re: [patch] voluntary-preempt-2.6.8.1-P0 | | From | Lee Revell <> | | Date | Mon, 16 Aug 2004 00:30:25 -0400 |
| |
On Mon, 2004-08-16 at 00:26, Ingo Molnar wrote: > * Lee Revell <rlrevell@joe-job.com> wrote: > > > > > just to check this theory, could you make __check_and_rekey() an empty > > > > function? This should still produce a working random driver, albeit at > > > > much reduced entropy. If these latencies have a relationship to the > > > > mlockall() issue then this change should have an effect. > > > > > > hm, could you disable the random driver in the .config rather? It seems > > > that adding to the entropy pool (from hardirq context) alone is quite > > > expensive too. > > > > > > > Can this be disabled in the .config? I can't find an option for it. > > oh well, indeed it cannot be disabled. Then i'd suggest to return early > from extract_entropy(), without doing anything. That is the function > that seems to introduce the worst overhead. >
Yes, I really seem to remember this could be disabled in the past... maybe I am thinking of BSD/OS, or maybe this CONFIG_ option was removed.
This was caused by 'Actions -> Run -> rxvt':
preemption latency trace v1.0 ----------------------------- latency: 409 us, entries: 300 (300) process: gnome-panel/7575, uid: 1000 nice: 0, policy: 0, rt_priority: 0 =======> 0.000ms (+0.000ms): __vma_link_rb (copy_mm) 0.000ms (+0.000ms): rb_insert_color (copy_mm) 0.000ms (+0.000ms): __rb_rotate_left (rb_insert_color) 0.000ms (+0.000ms): copy_page_range (copy_mm) 0.001ms (+0.000ms): pte_alloc_map (copy_page_range) 0.205ms (+0.204ms): do_IRQ (common_interrupt) 0.206ms (+0.000ms): mask_and_ack_8259A (do_IRQ) 0.209ms (+0.003ms): generic_redirect_hardirq (do_IRQ) 0.210ms (+0.000ms): generic_handle_IRQ_event (do_IRQ) 0.210ms (+0.000ms): timer_interrupt (generic_handle_IRQ_event) 0.210ms (+0.000ms): mark_offset_tsc (timer_interrupt) 0.217ms (+0.006ms): do_timer (timer_interrupt) 0.217ms (+0.000ms): update_process_times (do_timer) 0.217ms (+0.000ms): update_one_process (update_process_times) 0.217ms (+0.000ms): run_local_timers (update_process_times) 0.218ms (+0.000ms): raise_softirq (update_process_times) 0.218ms (+0.000ms): scheduler_tick (update_process_times) 0.218ms (+0.000ms): sched_clock (scheduler_tick) 0.219ms (+0.001ms): task_timeslice (scheduler_tick) 0.220ms (+0.000ms): update_wall_time (do_timer) 0.220ms (+0.000ms): update_wall_time_one_tick (update_wall_time) 0.221ms (+0.000ms): generic_note_interrupt (do_IRQ) 0.221ms (+0.000ms): end_8259A_irq (do_IRQ) 0.222ms (+0.000ms): enable_8259A_irq (do_IRQ) 0.223ms (+0.001ms): do_softirq (do_IRQ) 0.223ms (+0.000ms): __do_softirq (do_softirq) 0.224ms (+0.000ms): wake_up_process (do_softirq) 0.224ms (+0.000ms): try_to_wake_up (wake_up_process) 0.224ms (+0.000ms): task_rq_lock (try_to_wake_up) 0.225ms (+0.000ms): activate_task (try_to_wake_up) 0.225ms (+0.000ms): sched_clock (activate_task) 0.225ms (+0.000ms): recalc_task_prio (activate_task) 0.226ms (+0.000ms): effective_prio (recalc_task_prio) 0.226ms (+0.000ms): enqueue_task (activate_task) 0.227ms (+0.000ms): preempt_schedule (try_to_wake_up) 0.228ms (+0.000ms): preempt_schedule (copy_page_range)
[...]
0.399ms (+0.000ms): preempt_schedule (copy_page_range) 0.400ms (+0.000ms): check_preempt_timing (touch_preempt_timing)
Lee
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |