Re: PATCH: EDAC, core EDAC support code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/15/05, Alan Cox <[email protected]> wrote:
> This is a subset of the bluesmoke project core code, stripped of the NMI
> work which isn't ready to merge and some of the "interesting" proc
> functionality that needs reworking or just has no place in kernel. It
> requires no core kernel changes except the added scrub functions already
> posted.
>
> The goal is to merge further functionality only after the core code is
> accepted and proven in the base kernel, and only at the point the
> upstream extras are really ready to merge.
>
> Alan
>
> Signed-off-by: Alan Cox <[email protected]>
>
>
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.14-rc2-mm1/drivers/edac/edac_mc.c linux-2.6.14-rc2-mm1/drivers/edac/edac_mc.c
> --- linux.vanilla-2.6.14-rc2-mm1/drivers/edac/edac_mc.c 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.14-rc2-mm1/drivers/edac/edac_mc.c 2005-10-14 18:26:12.000000000 +0100

<snip>

> +static int poll_msec = 1000;

<snip>

> +static int edac_kernel_thread(void *arg)
> +{
> +       struct bs_thread_info *thread = (struct bs_thread_info *) arg;
> +
> +       /* detach thread */
> +       daemonize(thread->name);
> +
> +       current->exit_signal = SIGCHLD;
> +       allow_signal(SIGKILL);
> +       thread->task = current;
> +
> +       /* indicate to starting task we have started */
> +       complete(thread->event);
> +
> +       /* loop forever, until we are told to stop */
> +       while(thread->run != NULL) {
> +               void (*run)(unsigned long dummy);
> +
> +               /* call the function to check the memory controllers */
> +               run = thread->run;
> +               if(run)
> +                       run(thread->dummy);
> +
> +               if(signal_pending(current))
> +                       flush_signals(current);
> +
> +               /* ensure we are interruptable */
> +               set_current_state(TASK_INTERRUPTIBLE);
> +
> +               /* goto sleep for the interval */
> +               schedule_timeout((HZ * poll_msec) / 1000);

Can this either be

schedule_timeout_interruptible(msecs_to_jiffies(poll_msec));

or

msleep_interruptible(poll_msec);

?

Thanks,
Nish
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux