Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1321158
| From | Byungchul Park <byungchul.park@lge.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code |
| Date | 2016-01-29 01:00 +0100 |
| Message-ID | <qW4DN-2tl-7@gated-at.bofh.it> (permalink) |
| References | (5 earlier) <qVQ7P-FX-67@gated-at.bofh.it> <qVSjg-28z-25@gated-at.bofh.it> <qVSsW-2cx-19@gated-at.bofh.it> <qVWZA-5wF-17@gated-at.bofh.it> <qW3Ro-28Y-31@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Jan 28, 2016 at 03:08:19PM -0800, Peter Hurley wrote: > The problem is you have postulated a very shallow recursion. > This looks much worse if this happens 1000 times, and > probably won't recover to output anything. > > Additionally, what if the console_sem is simply corrupted? > A livelock with no output ever is not very helpful. > > As I wrote earlier, I don't think this is the way to fix > recursion problems with printk() [by eliding output]. I think you are currently misunderstading about this patch. Or I'm misunderstanding you.. The patch was changed in v4 so that it can print a debug message even in the recursive cycle case, at the first time. I also thought printing nothing in the case was not helpful at all which I did in v1,2,3. But it's changed in v4, that is, this patch. thanks, byungchul > > Rather, a way to effectively determine a recursion is in progress, > and _at a minimum_ guaranteeing that the recursive output will > eventually be output should be the goal. > > Including dumb recursion like a console driver printing > an error :/ > > Then, lockdep could remain enabled while calling console drivers. > > Regards, > Peter Hurley > > > sem->count-- > > spin_unlock() << unlock, return > > arch_spin_lock() << got the lock, return > > sem->count-- > > spin_unlock() << unlock, return > > arch_spin_lock() << got the lock, return > > sem->count-- > > spin_unlock() << unlock, return > > > > > > ...um > > > > > >> But I found there's a possiblity in the debug code *itself* to cause a > >> lockup. > > > > please explain. > > > > -ss > >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-28 03:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-28 03:40 +0100
RE: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code "byungchul.park" <byungchul.park@lge.com> - 2016-01-28 06:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-28 07:10 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-28 09:30 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-28 11:50 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-28 12:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky@gmail.com> - 2016-01-28 16:50 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Peter Hurley <peter@hurleysoftware.com> - 2016-01-29 00:10 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-29 01:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 02:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-29 04:10 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 05:10 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-29 13:20 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 01:30 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Peter Hurley <peter@hurleysoftware.com> - 2016-01-29 05:40 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 06:30 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Peter Hurley <peter@hurleysoftware.com> - 2016-01-29 06:50 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 07:20 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 07:40 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-31 13:30 +0100
[PATCH 2/3] printk: introduce reset_console_drivers() Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-31 13:40 +0100
Re: [PATCH 2/3] printk: introduce reset_console_drivers() kbuild test robot <lkp@intel.com> - 2016-01-31 13:50 +0100
[PATCH 1/3] printk: introduce console_reset_on_panic() function Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-31 13:40 +0100
[PATCH 3/3] spinlock_debug: panic on recursive lock spin_dump() Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-31 13:40 +0100
Re: [PATCH 3/3] spinlock_debug: panic on recursive lock spin_dump() Sergey Senozhatsky <sergey.senozhatsky@gmail.com> - 2016-02-01 17:20 +0100
Re: [PATCH 3/3] spinlock_debug: panic on recursive lock spin_dump() Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-02-02 09:00 +0100
Re: [PATCH 1/3] printk: introduce console_reset_on_panic() function kbuild test robot <lkp@intel.com> - 2016-01-31 13:50 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-29 08:00 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2016-01-29 08:20 +0100
Re: [PATCH v4] lib/spinlock_debug.c: prevent a recursive cycle in the debug code Byungchul Park <byungchul.park@lge.com> - 2016-01-29 09:20 +0100
csiph-web