Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1283478

Re: + printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch added to -mm tree

From Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Newsgroups linux.kernel
Subject Re: + printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch added to -mm tree
Date 2015-12-04 01:30 +0100
Message-ID <qBMq6-3PE-5@gated-at.bofh.it> (permalink)
References <qBqIW-6yl-7@gated-at.bofh.it> <qBqIW-6yl-5@gated-at.bofh.it> <qBs82-7iq-17@gated-at.bofh.it> <qByQa-3g4-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On (12/03/15 10:57), Jan Kara wrote:
[..]
> > > CPU2 still can cause lots of troubles. consider
> > > 
> > > CPU0		CPU1			CPU2
> > > printk		
> > > ...		printk_deferred		
> > > printk					wake_up_klogd
> > > 						wake_up_klogd_work_func
> > > 							console_trylock
> > > 								console_unlock
> > > 
> > > printk_deferred() may be issued by scheduler, for example.
> > 
> > IOW, may be we can start limiting the number of bytes printed in console_unlock()
> > from irq contexts. Which is quite ugly, yes. We basically don't know how much time
> > we spend in call_console_drivers(); some of the consoles can do 'internal' spin_lock
> > loops in ->write() handlers, etc. So something like this (below) probably will not
> > really help, but still it's not always OK to do `while (1)' loop in console_unlock()
> > for irqs.
> 
> What we really want is pushing the printing into async context (unless
> forced by debug option or oops in progress). Because what you do here fixes
> only a small fraction of the problem space. I have patches which fix more
> of it (https://lkml.org/lkml/2015/10/26/16) but they are still not enough
> because on large machines e.g. udev times out because printing messages
> about inserted hardware over serial console just takes too long.

absolutely agree. thanks for the link!

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

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: +  printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch  added to -mm tree Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2015-12-03 02:20 +0100
  Re: +  printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch  added to -mm tree Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2015-12-03 03:50 +0100
    Re: +  printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch  added to -mm tree Jan Kara <jack@suse.cz> - 2015-12-03 11:00 +0100
      Re: +  printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch  added to -mm tree Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2015-12-04 01:30 +0100

csiph-web