[Top] [All Lists]

Re: [PATCH 0/2] xfs: fix some new memory allocation failures

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH 0/2] xfs: fix some new memory allocation failures
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 4 Sep 2013 06:04:01 +1000
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <5225DF07.4080509@xxxxxxx>
References: <1378119180-31380-1-git-send-email-david@xxxxxxxxxxxxx> <5224C4E9.8080604@xxxxxxx> <20130902222004.GI12779@dastard> <5225DF07.4080509@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Sep 03, 2013 at 08:07:19AM -0500, Mark Tinguely wrote:
> On 09/02/13 17:20, Dave Chinner wrote:
> >On Mon, Sep 02, 2013 at 12:03:37PM -0500, Mark Tinguely wrote:
> >>On 09/02/13 05:52, Dave Chinner wrote:
> >>>Hi folks,
> >>>
> >>>These failures are a result of order-4 allocations being done on v5
> >>>filesystems to support the large ACL count xattrs. The first patch
> >>>puts out usual falbback to vmalloc workaround in place. The second
> >>>patch factors all the places we now have this fallback-to-vmalloc
> >>>and makes it transparent to the callers.
> >>>
> >>>Cheers,
> >>>
> >>>Dave.
> >>
> >>Thanks for clean up. Broken record time: Do we really need order
> >>allocation in the filesystem? Esp in xfs_ioctl.c.
> >
> >I don't understand your question. Are you asking why we need high
> >order allocation?
> >
> >Cheers,
> >
> >Dave.
> In patch 2, why not drop the physically contiguous allocation
> attempt and just do the virtually contiguous allocation?


        a) virtual memory space is extremely limited on some
        platforms - we regularly get people reporting that they've
        exhausted vmalloc space on 32 bit systems.
        b) when there is free contiguous memory, allocating that
        contiguous memory is much faster than allocating
        virtual memory.
        c) virtual memory access is slower than physical memory
        access and it puts pressure on the page tables.

IOWs, we want to avoid allocating virtual memory if at all possible.


Dave Chinner

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