Prev: [PATCH 1/2] blkdev: fix merge_bvec_fn return value checks
Next: evdev keyboard driver stopped working after upgrading from Kernel 2.6.33-rc8 to 2.6.33 (official release)
From: Steven Whitehouse on 4 Mar 2010 07:50 Hi, On Fri, 2010-02-26 at 13:17 -0600, David Teigland wrote: > When both blocking and completion callbacks are queued for lock, > the dlm would always deliver the completion callback (cast) first. > In some cases the blocking callback (bast) is queued before the > cast, though, and should be delivered first. This patch keeps > track of the order in which they were queued and delivers them > in that order. > > This patch also keeps track of the granted mode in the last cast > and eliminates the following bast if the bast mode is compatible > with the preceding cast mode. This happens when a remotely mastered > lock is demoted, e.g. EX->NL, in which case the local node queues > a cast immediately after sending the demote message. In this way > a cast can be queued for a mode, e.g. NL, that makes an in-transit > bast extraneous. > Some questions on this one... shouldn't the filtering of the basts go at the start of dlm_add_ast() so that it catches both the basts heading to userspace and the ones going via the kernel interface? Also, when the short-cut of generating casts locally on certain remotly mastered demote requests is used, does that somehow suppress the generation of casts on the lock master? If not, where do the duplicate cast messages get filtered out? I notice that the variable lkb->lkb_bastmode_done has been added, but is only ever assigned to and never read. Was that supposed to have been made accessible via debugfs for example? Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: David Teigland on 4 Mar 2010 11:20
On Thu, Mar 4, 2010 at 6:41 AM, Steven Whitehouse <swhiteho(a)redhat.com> wrote: > Some questions on this one... shouldn't the filtering of the basts go at > the start of dlm_add_ast() so that it catches both the basts heading to > userspace and the ones going via the kernel interface? Hm, I'm not sure what happened to the userspace part of this which is only partly there. Thanks, I'll get that back or done (it's never been a problem for userspace, but should still be done). It may make sense to do some of this earlier for both, I'll have to see. > Also, when the short-cut of generating casts locally on certain remotly > mastered demote requests is used, does that somehow suppress the > generation of casts on the lock master? yes (it's a reply to the convert which is skipped) > I notice that the variable lkb->lkb_bastmode_done has been added, but is > only ever assigned to and never read. Was that supposed to have been > made accessible via debugfs for example? Yeah, it was used in an earlier version of this patch with a lot more checking and debugging. I'll see if there's some debugging or checking I could add that uses it or else remove. Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |