All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jonathan Corbet <corbet@lwn.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Dave Jones <davej@redhat.com>, Theodore Tso <tytso@mit.edu>,
	Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: Fix quilt merge error in acpi-cpufreq.c
Date: Wed, 22 Apr 2009 13:48:40 +0930	[thread overview]
Message-ID: <200904221348.42677.rusty@rustcorp.com.au> (raw)
In-Reply-To: <20090420103805.GA29891@elte.hu>

On Mon, 20 Apr 2009 08:08:05 pm Ingo Molnar wrote:
> Can you integrate these two into a single summary line? The obvious 
> solution would be to append them:
> 
>      tracing/ring-buffer: add unlock recursion protection on discard to fix spurious warning triggering tracing shutdown
> 
> but 121 characters width is _way_ too long for a summary.

No, if I'm reading this commit correctly, the commit message is well written,
just really bad.

    tracing/ring-buffer: Add unlock recursion protection on discard

-- This helps the patch reviewer, but noone else.  And the patch reviewer
   should be reading the entire thing anyway.  This is a fix, but you have
   to read to the bottom to know that.

    The pair of helpers trace_recursive_lock() and trace_recursive_unlock()
    have been introduced recently to provide generic tracing recursion
    protection.

    They are used in a symetric way:

     - trace_recursive_lock() on buffer reserve
     - trace_recursive_unlock() on buffer commit

-- Err, why is this verbiage in this patch at all?

    However sometimes, we don't commit but discard on entry
    to the buffer, ie: in case of filter checking.

    Then we must also unlock the recursion protection on discard time,
    otherwise the tracing gets definitely deactivated and a warning
    is raised spuriously, such as:

-- So, the problem is that tracing gets deactivated permanently?  Also a
   warning is raised (in which case is it really spurious?).   Since I have
   no idea what this code does, is it common?  When was this problem
   introduced?  

    111.119821] ------------[ cut here ]------------
    [  111.119829] WARNING: at kernel/trace/ring_buffer.c:1498 ring_buffer_lock_reserve+0x1b7/0x1d0()
    [  111.119835] Hardware name: AMILO Li 2727
    [  111.119839] Modules linked in:
    [  111.119846] Pid: 5731, comm: Xorg Tainted: G        W  2.6.30-rc1 #69
    [  111.119851] Call Trace:
    [  111.119863]  [<ffffffff8025ce68>] warn_slowpath+0xd8/0x130
    [  111.119873]  [<ffffffff8028a30f>] ? __lock_acquire+0x19f/0x1ae0
    [  111.119882]  [<ffffffff8028a30f>] ? __lock_acquire+0x19f/0x1ae0
    ...

-- Good, a backtrace is nice.

   [ Impact: fix spurious warning triggering tracing shutdown ]

-- Hidden away here, I don't think I like this.  Not an improvement.

    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>

The patch itself basically adds trace_recursive_unlock() to event discard.
Seems like it should always have done that, and it's a simple bug that it
didn't.  But I had to work hard to figure that out.

Rusty.

  reply	other threads:[~2009-04-22  4:19 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200904140159.n3E1x1K1014705@hera.kernel.org>
2009-04-14  2:05 ` Fix quilt merge error in acpi-cpufreq.c Ingo Molnar
2009-04-15  5:44   ` Ingo Molnar
2009-04-15 10:44     ` Rusty Russell
2009-04-15 15:28       ` Linus Torvalds
2009-04-15 16:26         ` Ingo Molnar
2009-04-15 16:46           ` H. Peter Anvin
2009-04-15 17:00             ` H. Peter Anvin
2009-04-15 17:19           ` Linus Torvalds
2009-04-15 18:47             ` H. Peter Anvin
2009-04-15 19:43               ` Linus Torvalds
2009-04-15 20:07                 ` Ingo Molnar
2009-04-15 20:32                 ` Andrew Morton
2009-04-15 21:03                   ` Ingo Molnar
2009-04-15 21:15                     ` Linus Torvalds
2009-04-15 22:40                       ` Ingo Molnar
2009-04-15 23:08                         ` Linus Torvalds
2009-04-16  0:08                           ` Ingo Molnar
2009-04-16  0:23                             ` Linus Torvalds
2009-04-16  0:38                               ` Linus Torvalds
2009-04-16  0:50                                 ` Ingo Molnar
2009-04-16  4:33                                   ` H. Peter Anvin
2009-04-16  7:14                                     ` Ingo Molnar
2009-04-16 15:24                                   ` Valdis.Kletnieks
2009-04-15 23:49                       ` David Miller
2009-04-16 11:00                         ` Christoph Hellwig
2009-04-15 21:17                     ` Andrew Morton
2009-04-15 23:04                       ` Ingo Molnar
2009-04-15 21:23                 ` David Miller
2009-04-15 22:48                   ` Ingo Molnar
2009-04-15 23:11                     ` Linus Torvalds
2009-04-16  0:44                       ` Ingo Molnar
2009-04-16  1:03                         ` Linus Torvalds
2009-04-16  1:46                           ` Ingo Molnar
2009-04-16  2:22                             ` Linus Torvalds
2009-04-16  7:23                               ` Ingo Molnar
2009-04-16  3:55                             ` Theodore Tso
2009-04-16  7:44                               ` Ingo Molnar
2009-04-16 15:41                             ` Valdis.Kletnieks
2009-04-16 13:04                   ` Valdis.Kletnieks
2009-04-16  2:00               ` Rusty Russell
2009-04-16  2:22                 ` Paul Gortmaker
2009-04-16  2:34                 ` Linus Torvalds
2009-04-16  3:10                 ` Ray Lee
2009-04-16  7:56                 ` Ingo Molnar
2009-04-16 11:57                   ` Theodore Tso
2009-04-16 13:55                 ` Jonathan Corbet
2009-04-20  8:14                   ` Rusty Russell
2009-04-20 10:38                     ` Ingo Molnar
2009-04-22  4:18                       ` Rusty Russell [this message]
2009-04-21 19:37                     ` Jonathan Corbet
2009-04-22  1:58                       ` Rusty Russell
2009-04-16  1:27         ` Rusty Russell
2009-04-16  2:31           ` Theodore Tso
2009-04-16  8:02             ` Ingo Molnar
2009-04-15 15:05     ` Linus Torvalds
2009-04-15 15:22       ` Ali Gholami Rudi
2009-04-15 16:41       ` Ingo Molnar
     [not found] <crh66-6nQ-7@gated-at.bofh.it>
     [not found] ` <crilu-8hM-13@gated-at.bofh.it>
     [not found]   ` <crjhu-1lb-13@gated-at.bofh.it>
     [not found]     ` <crkQl-3QL-7@gated-at.bofh.it>
     [not found]       ` <crm5K-5NR-17@gated-at.bofh.it>
     [not found]         ` <crmyK-6DP-9@gated-at.bofh.it>
     [not found]           ` <crnXV-g5-27@gated-at.bofh.it>
     [not found]             ` <croh9-VK-5@gated-at.bofh.it>
     [not found]               ` <croTQ-1Jm-1@gated-at.bofh.it>
     [not found]                 ` <crqVM-4UC-11@gated-at.bofh.it>
2009-04-16  5:46                   ` Niel Lambrechts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200904221348.42677.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=davej@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.