lkml.org 
[lkml]   [2004]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [3/4] [PATCH]Diskdump - yet another crash dump function
    On Thu, 17 Jun 2004 15:11:40 +0200, Ingo Molnar wrote:

    >
    >* Ingo Molnar <mingo@elte.hu> wrote:
    >
    >> * Takao Indoh <indou.takao@soft.fujitsu.com> wrote:
    >>
    >> > It sounds good because change of timer/tasklet code is not needed.
    >> > But, I wonder whether this method is safe. For example, if kernel
    >> > crashes because of problem of timer, clearing lists may be dangerous
    >> > before dumping. Is it possible to clear all timer lists safely?
    >>
    >> yes it can be done safely - just INIT_LIST_HEAD() all the timer list
    >> heads - like init_timers_cpu() does.
    >
    >obviously this only involves the dumping CPU - no other CPU will run any
    >kernel code. On SMP you should also clear the timer spinlock of the
    >dumping CPU's timer base, if the crash happened within the timer code.
    >
    > Ingo


    How about this?

    void clear_timers(void)
    {
    int j;
    tvec_base_t *base;

    base = &per_cpu(tvec_bases, smp_processor_id());
    spin_lock_init(&base->lock);
    for (j = 0; j < TVN_SIZE; j++) {
    INIT_LIST_HEAD(base->tv5.vec + j);
    INIT_LIST_HEAD(base->tv4.vec + j);
    INIT_LIST_HEAD(base->tv3.vec + j);
    INIT_LIST_HEAD(base->tv2.vec + j);
    }
    for (j = 0; j < TVR_SIZE; j++)
    INIT_LIST_HEAD(base->tv1.vec + j);

    base->timer_jiffies = jiffies;
    }

    And new function which runs timer during dumping is needed,
    like __run_timers() does...

    Best Regards,
    Takao Indoh

    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:03    [W:0.021 / U:6.712 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site