Thread (74 messages) 74 messages, 6 authors, 2017-01-13

Re: [PATCH] mm/page_alloc: Wait for oom_lock before retrying.

From: Sergey Senozhatsky <hidden>
Date: 2016-12-22 13:41:12

On (12/22/16 11:53), Petr Mladek wrote:
quoted
Thank you. I tried "[PATCHv6 0/7] printk: use printk_safe to handle printk()
recursive calls" at https://lkml.org/lkml/2016/12/21/232 on top of linux.git
as of commit 52bce91165e5f2db "splice: reinstate SIGPIPE/EPIPE handling", but
it turned out that your patch set does not solve this problem.

I was assuming that sending to consoles from printk() is offloaded to a kernel
thread dedicated for that purpose, but your patch set does not do it. As a result,
somebody who called out_of_memory() is still preempted by other threads consuming
CPU time due to cond_resched() from console_unlock() as demonstrated by below patch.
Ah, it was a misunderstanding. The "printk_safe" patchset allows to
call printk() from inside some areas guarded by logbuf_lock. By other
words, it allows to print errors from inside printk() code. I does
not solve the soft-/live-locks.
ineeed.
We need the async printk patchset here. It will allow to offload the
console handling to the kthread. AFAIK, Sergey wanted to rebase it
on top of the printk_safe patchset. I am not sure when he want or
will have time to do so, though.
sure. this is still the case. and in fact my tree here
https://gitlab.com/senozhatsky/linux-next-ss/commits/printk-safe-deferred

contains both patch sets: 9 patche in total (rebased agains linux-next
20161221).

first 7 patches are printk-safe, the last 2 -- async printk.

	-ss

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help