This patch changes DLM to use its own hash table rather than the idr_
code. It should allow clusters with large nodeids to work correctly.
It also fixes the 1..max_nodeid loops when the DLM shuts down.
This is a slightly different patch to the one I posted to IRC yesterday,
but all I've changed is the use of list_for_each_entry( rather than just
list_for_each().
Chrissie
01-27-2009, 10:33 AM
Chrissie Caulfield
dlm: Allow large nodeids
This an updated patch that uses hlists rather than list_heads to save
memory in the connection structure.
Thanks to Steven Whitehouse for the suggestion.
Chrissie Caulfield wrote:
> This patch changes DLM to use its own hash table rather than the idr_
> code. It should allow clusters with large nodeids to work correctly.
>
> It also fixes the 1..max_nodeid loops when the DLM shuts down.
>
> This is a slightly different patch to the one I posted to IRC yesterday,
> but all I've changed is the use of list_for_each_entry( rather than just
> list_for_each().
Chrissie
01-27-2009, 07:06 PM
David Teigland
dlm: Allow large nodeids
On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
> This an updated patch that uses hlists rather than list_heads to save
> memory in the connection structure.
>
> Thanks to Steven Whitehouse for the suggestion.
I fixed some checkpatch warnings, tested, and pushed into the "next" branch.
01-27-2009, 07:19 PM
David Teigland
dlm: Allow large nodeids
On Tue, Jan 27, 2009 at 02:06:30PM -0600, David Teigland wrote:
> On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
> > This an updated patch that uses hlists rather than list_heads to save
> > memory in the connection structure.
> >
> > Thanks to Steven Whitehouse for the suggestion.
>
> I fixed some checkpatch warnings, tested, and pushed into the "next" branch.
I take that back after hitting the following on unmount,
David Teigland wrote:
> On Tue, Jan 27, 2009 at 02:06:30PM -0600, David Teigland wrote:
>> On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
>>> This an updated patch that uses hlists rather than list_heads to save
>>> memory in the connection structure.
>>>
>>> Thanks to Steven Whitehouse for the suggestion.
>> I fixed some checkpatch warnings, tested, and pushed into the "next" branch.
>
> I take that back after hitting the following on unmount,
>
> Pid: 4484, comm: umount Not tainted 2.6.29-rc2 #1
> RIP: 0010:[<ffffffffa04ecfb4>] [<ffffffffa04ecfb4>] foreach_conn+0x20/0x46 [dlm]
> RSP: 0018:ffff880072db5d38 EFLAGS: 00010202
Thanks,
The attached patch should, I hope, fix that
--
Chrissie
03-06-2009, 07:51 PM
David Teigland
dlm: Allow large nodeids
On Wed, Jan 28, 2009 at 11:27:35AM +0000, Chrissie Caulfield wrote:
> David Teigland wrote:
> > On Tue, Jan 27, 2009 at 02:06:30PM -0600, David Teigland wrote:
> >> On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
> >>> This an updated patch that uses hlists rather than list_heads to save
> >>> memory in the connection structure.
This patch (with fix) seems to cause the following about half of the time when
killing dlm_controld:
David Teigland wrote:
> On Wed, Jan 28, 2009 at 11:27:35AM +0000, Chrissie Caulfield wrote:
>> David Teigland wrote:
>>> On Tue, Jan 27, 2009 at 02:06:30PM -0600, David Teigland wrote:
>>>> On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
>>>>> This an updated patch that uses hlists rather than list_heads to save
>>>>> memory in the connection structure.
>
> This patch (with fix) seems to cause the following about half of the time when
> killing dlm_controld:
I thought you were going to change the iterator in foreach_conn to use
hlist_for_each_entry_safe() ?
My guess is that the connection is being freed by free_conn and messing
up the list.
Chrissie
03-11-2009, 03:02 PM
Chrissie Caulfield
dlm: Allow large nodeids
David Teigland wrote:
> On Wed, Jan 28, 2009 at 11:27:35AM +0000, Chrissie Caulfield wrote:
>> David Teigland wrote:
>>> On Tue, Jan 27, 2009 at 02:06:30PM -0600, David Teigland wrote:
>>>> On Tue, Jan 27, 2009 at 11:33:30AM +0000, Chrissie Caulfield wrote:
>>>>> This an updated patch that uses hlists rather than list_heads to save
>>>>> memory in the connection structure.
>
> This patch (with fix) seems to cause the following about half of the time when
> killing dlm_controld:
>
Oops, Something slightly vital was missing from free_conn() ...