xfs
[Top] [All Lists]

Re: kernels 3.4 slower due to allocation workqueue

To: Yann Dupont <Yann.Dupont@xxxxxxxxxxxxxx>
Subject: Re: kernels 3.4 slower due to allocation workqueue
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Tue, 16 Apr 2013 08:26:39 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <516CFCB8.1060804@xxxxxxxxxxxxxx>
References: <516BCACE.1040900@xxxxxxxxxxxxxx> <516C046C.8080908@xxxxxxx> <516CFCB8.1060804@xxxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 04/16/13 02:24, Yann Dupont wrote:
Le 15/04/2013 15:45, Mark Tinguely a écrit :

Here are the allocation worker changes.


Hello mark, thanks for you answer

The biggest performance commit should be aa292847, which limits the
callers to the worker.

commit 3b876c8f2a361ceeed3fed894980c69066f903a0
Author: Jeff Liu <jeff.liu@xxxxxxxxxx>
Date: Thu Jun 7 15:44:32 2012 +0800

xfs: fix debug_object WARN at xfs_alloc_vextent()

commit aa292847b9fc6e187547110de833a7d3131bbddf
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Thu Jul 12 07:40:43 2012 +1000

xfs: don't defer metadata allocation to the workqueue


Only These 2 commits are candidates, the others are post 3.5.
I'll try to patch a 3.4 with each patch.

commit 2455881c0b52f87be539c4c7deab1afff4d8a560
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Fri Oct 5 11:06:58 2012 +1000

xfs: introduce XFS_BMAPI_STACK_SWITCH

commit e04426b9202bccd4cfcbc70b2fa2aeca1c86d8f5
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Fri Oct 5 11:06:59 2012 +1000

xfs: move allocation stack switch up to xfs_bmapi_allocate

commit 9e96fe6df44425b69ed89f6ac20352cec1f127d7
Author: Brian Foster <bfoster@xxxxxxxxxx>
Date: Thu Jan 17 13:11:29 2013 -0500

xfs: pull up stack_switch check into xfs_bmapi_write


The last 3 patches address an AGF buffer hang with the allocation worker.

--Mark.

As 3.4 Kernels don't have thoses patches, is there a risk associated
with 3.4 kernels ?

Cheers,


The filesystem can hang but only if the OS cannot allocate another worker when doing certain calls.

--Mark.

<Prev in Thread] Current Thread [Next in Thread>