Re: next-20090202: task kmemleak:763 blocked for more than 120 seconds.

From: Catalin Marinas
Date: Mon Feb 02 2009 - 09:53:26 EST


Alexander Beregalov <a.beregalov@xxxxxxxxx> wrote:
> It seems it is blocked forever.

Scanning the full memory may take a lot of time, depending on the
amount of RAM and the number of objects allocated. It is not unlikely
to take more than 120 seconds on some loaded systems. However, it
should call schedule() periodically to let other tasks run. Is your
system unresponsive during this?

> [ 1704.619898] INFO: task kmemleak:763 blocked for more than 120 seconds.
> [ 1704.697951] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> [ 1704.791613] kmemleak D 0000000000000001 6008 763 2
[...]
> [ 1706.246334] no locks held by kmemleak/763.

It looks like the kmemleak thread is in the TASK_UNINTERUPTIBLE state.
This happens when it calls schedule_timeout_uninterruptible() to sleep
between scans. It probably took more than 120 to scan the memory and
hence the report.

It doesn't look like a problem, only that the watchdog thread checks
for uninterruptible tasks. I can try to make it sleep with
TASK_INTERRUPTIBLE to avoid the message.

Thanks.

--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/