xfs
[Top] [All Lists]

TAKE - fix a hang in parallel copies & dbench

Subject: TAKE - fix a hang in parallel copies & dbench
From: Steve Lord <lord@xxxxxxx>
Date: Mon, 1 Oct 2001 14:01:00 -0500
Sender: owner-linux-xfs@xxxxxxxxxxx
A massively parallel copy, and some users of dbench reported a hung
machine with xfs. Tracked this down to a memory allocation causing
reentry to xfs - from within a transaction which will eventually deadlock.
Fixing this required some core kernel changes, but they are minor
and do not affect the code executed for other filesystems at all.

Date:  Mon Oct  1 11:59:24 PDT 2001
Workarea:  jen.americas.sgi.com:/src/lord/xfs-linux.2.4

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs


Modid:  2.4.x-xfs:slinx:103688a
linux/kernel/ksyms.c - 1.111
        - export icreate instead of icreate4

linux/include/linux/fs.h - 1.121
        - Remove icreate4, change prototype for icreate to include a gfp_mask

linux/fs/inode.c - 1.54
        - Allow allocate_inode to take a gfp_mask so XFS can tell it not
          to call back into the filesystem. Fold icreate4 and icreate into
          one function - we never use the extra arguments. Add the grp_mask
          to the icreate call, and use GFP_KERNEL from the iget call.

linux/fs/xfs/xfs_iget.c - 1.148
        - Pass SLAB_KERNEL or SLAB_NOFS into icreate depending on being in a
          transaction or not.

linux/fs/xfs/linux/xfs_vnode.c - 1.67
        - Call icreate with a gfp_mask argument



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - fix a hang in parallel copies & dbench, Steve Lord <=