From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Vegard Nossum" Subject: Re: 2.6.27-rc4-git1: Reported regressions from 2.6.26 Date: Sun, 24 Aug 2008 20:43:45 +0200 Message-ID: <19f34abd0808241143t6f5239d7o679135e9e974fe63@mail.gmail.com> References: Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=3+IuvKjKBPgR7m74Lex3EyXeCVSRRA4zuB15PpcKTaE=; b=S9pV3ctFB/zDBMacKMk947QU2HFTbMoNYYskEYLSlUOiLGxoimJfv/IXdbHx/xW/Mn k8VvPM7gVoB4wsBVKQbqk4y9MdcpFa+oLygVb6JgEFXuxIDaD7SxrmFsDl9l7Nc05tZW LSNrjOCjBnBNCAnGjYY9CWPmbbzT8s8uSEZu8= In-Reply-To: Content-Disposition: inline Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Linus Torvalds Cc: "Rafael J. Wysocki" , Daniel J Blueman , Thomas Gleixner , Ingo Molnar , Linux Kernel Mailing List , Adrian Bunk , Andrew Morton , Natalie Protasevich , Kernel Testers List On Sun, Aug 24, 2008 at 8:03 PM, Linus Torvalds wrote: > > > On Sat, 23 Aug 2008, Rafael J. Wysocki wrote: >> >> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=11410 >> Subject : SLUB list_lock vs obj_hash.lock... >> Submitter : Daniel J Blueman >> Date : 2008-08-22 21:48 (2 days old) >> References : http://marc.info/?l=linux-kernel&m=121944176609042&w=4 > > This one now has a suggested patch for Daniel to try from Vegard, but no > reply yet: > > http://marc.info/?l=linux-kernel&m=121946972307110&w=4 > Hi! > Vegard, I think your patch is a bit odd, though. The result of your patch > is > > - first loop: > > hlist_for_each_entry_safe(obj, node, tmp, &db->list, node) { > hlist_del(&obj->node); > hlist_add_head(&obj->node, &freelist); > } > > and quite frankly, I don't see what the difference between that and a > something like a simple > > struct hlist_node *first = bd->list.first; > if (first) { > bd->list.first = NULL; > first->pprev = &first; > } > > really is? > > I dunno. We don't have list splicing ops for the hlist things. Hm. I haven't really used the hlists before, so my first instinct was to do what is obvious. That's also why I put the XXX comment. Other than that, I guess open-coding list ops is also not very good programming practice? :-) But... feel free to submit your own patch. Oh, what am I saying. Vegard -- "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036