linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bug 208805] New: XFS: iozone possible memory allocation deadlock
@ 2020-08-04  9:52 bugzilla-daemon
  2020-08-26 15:19 ` Brian Foster
  2020-08-26 15:20 ` [Bug 208805] " bugzilla-daemon
  0 siblings, 2 replies; 3+ messages in thread
From: bugzilla-daemon @ 2020-08-04  9:52 UTC (permalink / raw)
  To: linux-xfs

https://bugzilla.kernel.org/show_bug.cgi?id=208805

            Bug ID: 208805
           Summary: XFS: iozone possible memory allocation deadlock
           Product: File System
           Version: 2.5
    Kernel Version: Linux 5.4
          Hardware: x86-64
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: XFS
          Assignee: filesystem_xfs@kernel-bugs.kernel.org
          Reporter: jjzuming@outlook.com
        Regression: No

When I ran iozone to test XFS in a memory insufficient situation,I found that
iozone was blocked and The log "XFS: iozone possible memory allocation
deadlock" was printed.

Reviewing the XFS code, I found that kmem_alloc(), xfs_buf_allocate_memory(),
kmem_zone_alloc() and kmem_realloc() were implemented with "while" loops. These
functions kept trying to get memory while the memory was insufficient, as a
result of which "memory allocation deadlock" happened.

I think it may be a little unreasonable, although it can guarantee that the
memory allocation succeed. Maybe using error handling code to handle the memory
allocation failures is better.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bug 208805] New: XFS: iozone possible memory allocation deadlock
  2020-08-04  9:52 [Bug 208805] New: XFS: iozone possible memory allocation deadlock bugzilla-daemon
@ 2020-08-26 15:19 ` Brian Foster
  2020-08-26 15:20 ` [Bug 208805] " bugzilla-daemon
  1 sibling, 0 replies; 3+ messages in thread
From: Brian Foster @ 2020-08-26 15:19 UTC (permalink / raw)
  To: bugzilla-daemon; +Cc: linux-xfs

On Tue, Aug 04, 2020 at 09:52:48AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=208805
> 
>             Bug ID: 208805
>            Summary: XFS: iozone possible memory allocation deadlock
>            Product: File System
>            Version: 2.5
>     Kernel Version: Linux 5.4
>           Hardware: x86-64
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: XFS
>           Assignee: filesystem_xfs@kernel-bugs.kernel.org
>           Reporter: jjzuming@outlook.com
>         Regression: No
> 
> When I ran iozone to test XFS in a memory insufficient situation,I found that
> iozone was blocked and The log "XFS: iozone possible memory allocation
> deadlock" was printed.
> 
> Reviewing the XFS code, I found that kmem_alloc(), xfs_buf_allocate_memory(),
> kmem_zone_alloc() and kmem_realloc() were implemented with "while" loops. These
> functions kept trying to get memory while the memory was insufficient, as a
> result of which "memory allocation deadlock" happened.
> 
> I think it may be a little unreasonable, although it can guarantee that the
> memory allocation succeed. Maybe using error handling code to handle the memory
> allocation failures is better.
> 

I think some of this memory allocation code is currently being reworked,
but that aside most of the above cases do break the retry loop if the
caller passes KM_MAYFAIL. So it's a case by case basis as to whether a
particular allocation should be allowed to fail and potentially return
an error to userspace or should continue to retry.

A more useful approach to this bug would be to describe your test, the
specific system/memory conditions, and provide the full log output
(stack trace?) associated with the issue. Then perhaps we can analyze
the cause and determine whether it's something that can be addressed or
improved, or if you just need more memory. ;)

Brian

> -- 
> You are receiving this mail because:
> You are watching the assignee of the bug.
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug 208805] XFS: iozone possible memory allocation deadlock
  2020-08-04  9:52 [Bug 208805] New: XFS: iozone possible memory allocation deadlock bugzilla-daemon
  2020-08-26 15:19 ` Brian Foster
@ 2020-08-26 15:20 ` bugzilla-daemon
  1 sibling, 0 replies; 3+ messages in thread
From: bugzilla-daemon @ 2020-08-26 15:20 UTC (permalink / raw)
  To: linux-xfs

https://bugzilla.kernel.org/show_bug.cgi?id=208805

--- Comment #1 from bfoster@redhat.com ---
On Tue, Aug 04, 2020 at 09:52:48AM +0000, bugzilla-daemon@bugzilla.kernel.org
wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=208805
> 
>             Bug ID: 208805
>            Summary: XFS: iozone possible memory allocation deadlock
>            Product: File System
>            Version: 2.5
>     Kernel Version: Linux 5.4
>           Hardware: x86-64
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: XFS
>           Assignee: filesystem_xfs@kernel-bugs.kernel.org
>           Reporter: jjzuming@outlook.com
>         Regression: No
> 
> When I ran iozone to test XFS in a memory insufficient situation,I found that
> iozone was blocked and The log "XFS: iozone possible memory allocation
> deadlock" was printed.
> 
> Reviewing the XFS code, I found that kmem_alloc(), xfs_buf_allocate_memory(),
> kmem_zone_alloc() and kmem_realloc() were implemented with "while" loops.
> These
> functions kept trying to get memory while the memory was insufficient, as a
> result of which "memory allocation deadlock" happened.
> 
> I think it may be a little unreasonable, although it can guarantee that the
> memory allocation succeed. Maybe using error handling code to handle the
> memory
> allocation failures is better.
> 

I think some of this memory allocation code is currently being reworked,
but that aside most of the above cases do break the retry loop if the
caller passes KM_MAYFAIL. So it's a case by case basis as to whether a
particular allocation should be allowed to fail and potentially return
an error to userspace or should continue to retry.

A more useful approach to this bug would be to describe your test, the
specific system/memory conditions, and provide the full log output
(stack trace?) associated with the issue. Then perhaps we can analyze
the cause and determine whether it's something that can be addressed or
improved, or if you just need more memory. ;)

Brian

> -- 
> You are receiving this mail because:
> You are watching the assignee of the bug.
>

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-26 15:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-04  9:52 [Bug 208805] New: XFS: iozone possible memory allocation deadlock bugzilla-daemon
2020-08-26 15:19 ` Brian Foster
2020-08-26 15:20 ` [Bug 208805] " bugzilla-daemon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).