All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anders Ossowicki <aowi@novozymes.com>
To: Dave Chinner <david@fromorbit.com>
Cc: "xfs@oss.sgi.com" <xfs@oss.sgi.com>
Subject: Re: "XFS: possible memory allocation deadlock in kmem_alloc" on high memory machine
Date: Wed, 3 Jun 2015 09:07:25 +0200	[thread overview]
Message-ID: <20150603070725.GA20743@otto> (raw)
In-Reply-To: <20150603015245.GN24666@dastard>

On Wed, Jun 03, 2015 at 03:52:45AM +0200, Dave Chinner wrote:
> On Tue, Jun 02, 2015 at 02:06:48PM +0200, Anders Ossowicki wrote:
>
> > Slab:           79729144 kB
> > SReclaimable:   79040008 kB
>
> 80GB of slab caches as well - what is the output of /proc/slabinfo?

slabinfo - version: 2.1
# name         <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
btrfs_prelim_ref           0      0     80   51    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_data_ref     0      0     96   42    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_ref_head     0      0    160   51    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_node         0      0    304   53    4 : tunables    0    0    0 : slabdata      0      0      0
btrfs_ordered_extent       0      0    424   38    4 : tunables    0    0    0 : slabdata      0      0      0
btrfs_extent_buffer        0      0    280   58    4 : tunables    0    0    0 : slabdata      0      0      0
btrfs_extent_state         0      0     88   46    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delalloc_work        0      0    152   53    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_trans_handle         0      0    176   46    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_inode                0      0   1000   32    8 : tunables    0    0    0 : slabdata      0      0      0
ufs_inode_cache            0      0    744   44    8 : tunables    0    0    0 : slabdata      0      0      0
qnx4_inode_cache           0      0    656   49    8 : tunables    0    0    0 : slabdata      0      0      0
hfsplus_attr_cache         0      0   3840    8    8 : tunables    0    0    0 : slabdata      0      0      0
hfsplus_icache             0      0    896   36    8 : tunables    0    0    0 : slabdata      0      0      0
hfs_inode_cache            0      0    768   42    8 : tunables    0    0    0 : slabdata      0      0      0
minix_inode_cache          0      0    648   50    8 : tunables    0    0    0 : slabdata      0      0      0
ntfs_big_inode_cache       0      0    896   36    8 : tunables    0    0    0 : slabdata      0      0      0
ntfs_inode_cache           0      0    312   52    4 : tunables    0    0    0 : slabdata      0      0      0
jfs_mp                    32     32    128   32    1 : tunables    0    0    0 : slabdata      1      1      0
jfs_ip                     0      0   1240   26    8 : tunables    0    0    0 : slabdata      0      0      0
reiser_inode_cache         0      0    744   44    8 : tunables    0    0    0 : slabdata      0      0      0
ext2_inode_cache           0      0    792   41    8 : tunables    0    0    0 : slabdata      0      0      0
nfsd4_openowners       13394  13838    440   37    4 : tunables    0    0    0 : slabdata    374    374      0
nfs_direct_cache           0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
nfs_commit_data         2167   2167    704   46    8 : tunables    0    0    0 : slabdata     48     48      0
nfs_inode_cache       174843 175088   1040   31    8 : tunables    0    0    0 : slabdata   5648   5648      0
fscache_cookie_jar      1702   1702     88   46    1 : tunables    0    0    0 : slabdata     37     37      0
rpc_inode_cache         2448   2448    640   51    8 : tunables    0    0    0 : slabdata     48     48      0
xfs_dquot                  0      0    472   34    4 : tunables    0    0    0 : slabdata      0      0      0
xfs_icr                    0      0    144   56    2 : tunables    0    0    0 : slabdata      0      0      0
xfs_ili              1066228 1066625   152   53    2 : tunables    0    0    0 : slabdata  20125  20125      0
xfs_inode            2522728 2523172  1024   32    8 : tunables    0    0    0 : slabdata  78857  78857      0
xfs_efd_item            8320   8920    400   40    4 : tunables    0    0    0 : slabdata    223    223      0
xfs_da_state            1632   1632    480   34    4 : tunables    0    0    0 : slabdata     48     48      0
xfs_btree_cur           1872   1872    208   39    2 : tunables    0    0    0 : slabdata     48     48      0
ext4_groupinfo_4k        896    896    144   56    2 : tunables    0    0    0 : slabdata     16     16      0
ip6-frags                  0      0    216   37    2 : tunables    0    0    0 : slabdata      0      0      0
UDPLITEv6                  0      0   1088   30    8 : tunables    0    0    0 : slabdata      0      0      0
UDPv6                   1440   1440   1088   30    8 : tunables    0    0    0 : slabdata     48     48      0
tw_sock_TCPv6           1312   1312    256   32    2 : tunables    0    0    0 : slabdata     41     41      0
TCPv6                    768    768   1984   16    8 : tunables    0    0    0 : slabdata     48     48      0
kcopyd_job                 0      0   3312    9    8 : tunables    0    0    0 : slabdata      0      0      0
dm_uevent                  0      0   2632   12    8 : tunables    0    0    0 : slabdata      0      0      0
dm_rq_target_io            0      0    408   40    4 : tunables    0    0    0 : slabdata      0      0      0
scsi_cmd_cache         93743 107688    384   42    4 : tunables    0    0    0 : slabdata   2564   2564      0
cfq_queue              21842  21910    232   35    2 : tunables    0    0    0 : slabdata    626    626      0
bsg_cmd                    0      0    312   52    4 : tunables    0    0    0 : slabdata      0      0      0
mqueue_inode_cache        36     36    896   36    8 : tunables    0    0    0 : slabdata      1      1      0
fuse_request               0      0    416   39    4 : tunables    0    0    0 : slabdata      0      0      0
fuse_inode                 0      0    768   42    8 : tunables    0    0    0 : slabdata      0      0      0
ecryptfs_key_record_cache  0      0    576   56    8 : tunables    0    0    0 : slabdata      0      0      0
ecryptfs_inode_cache       0      0   1024   32    8 : tunables    0    0    0 : slabdata      0      0      0
fat_inode_cache            0      0    720   45    8 : tunables    0    0    0 : slabdata      0      0      0
fat_cache                  0      0     40  102    1 : tunables    0    0    0 : slabdata      0      0      0
hugetlbfs_inode_cache   2592   2592    600   54    8 : tunables    0    0    0 : slabdata     48     48      0
jbd2_journal_handle     4080   4080     48   85    1 : tunables    0    0    0 : slabdata     48     48      0
journal_handle             0      0     24  170    1 : tunables    0    0    0 : slabdata      0      0      0
journal_head           17208  17712    112   36    1 : tunables    0    0    0 : slabdata    492    492      0
revoke_table             256    256     16  256    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_record           6400   6400     32  128    1 : tunables    0    0    0 : slabdata     50     50      0
ext4_inode_cache      642098 775776   1008   32    8 : tunables    0    0    0 : slabdata  24243  24243      0
ext4_free_data         11328  11328     64   64    1 : tunables    0    0    0 : slabdata    177    177      0
ext4_allocation_context 1536   1536    128   32    1 : tunables    0    0    0 : slabdata     48     48      0
ext4_io_end             3024   3024     72   56    1 : tunables    0    0    0 : slabdata     54     54      0
ext4_extent_status     68877 105672     40  102    1 : tunables    0    0    0 : slabdata   1036   1036      0
ext3_inode_cache           0      0    816   40    8 : tunables    0    0    0 : slabdata      0      0      0
dquot                   1760   1760    256   32    2 : tunables    0    0    0 : slabdata     55     55      0
fsnotify_mark              0      0    112   36    1 : tunables    0    0    0 : slabdata      0      0      0
pid_namespace              0      0   2200   14    8 : tunables    0    0    0 : slabdata      0      0      0
posix_timers_cache     12541  12705    248   33    2 : tunables    0    0    0 : slabdata    385    385      0
UDP-Lite                   0      0    960   34    8 : tunables    0    0    0 : slabdata      0      0      0
xfrm_dst_cache             0      0    448   36    4 : tunables    0    0    0 : slabdata      0      0      0
ip_fib_trie              292    292     56   73    1 : tunables    0    0    0 : slabdata      4      4      0
UDP                     1632   1632    960   34    8 : tunables    0    0    0 : slabdata     48     48      0
tw_sock_TCP             2358   2624    256   32    2 : tunables    0    0    0 : slabdata     82     82      0
TCP                     3539   3808   1856   17    8 : tunables    0    0    0 : slabdata    224    224      0
blkdev_queue             323    464   1928   16    8 : tunables    0    0    0 : slabdata     29     29      0
blkdev_requests        13992  14740    368   44    4 : tunables    0    0    0 : slabdata    335    335      0
blkdev_ioc             23201  24141    104   39    1 : tunables    0    0    0 : slabdata    619    619      0
dmaengine-unmap-256       15     15   2112   15    8 : tunables    0    0    0 : slabdata      1      1      0
dmaengine-unmap-128      180    180   1088   30    8 : tunables    0    0    0 : slabdata      6      6      0
sock_inode_cache        6273   6273    640   51    8 : tunables    0    0    0 : slabdata    123    123      0
net_namespace              0      0   4352    7    8 : tunables    0    0    0 : slabdata      0      0      0
shmem_inode_cache       2784   2784    672   48    8 : tunables    0    0    0 : slabdata     58     58      0
ftrace_event_file       1702   1702     88   46    1 : tunables    0    0    0 : slabdata     37     37      0
taskstats               2352   2352    328   49    4 : tunables    0    0    0 : slabdata     48     48      0
proc_inode_cache       19293  24750    648   50    8 : tunables    0    0    0 : slabdata    495    495      0
sigqueue                3111   3111    160   51    2 : tunables    0    0    0 : slabdata     61     61      0
bdev_cache              1014   1014    832   39    8 : tunables    0    0    0 : slabdata     26     26      0
kernfs_node_cache     342112 342244    120   34    1 : tunables    0    0    0 : slabdata  10066  10066      0
mnt_cache               2448   2448    320   51    4 : tunables    0    0    0 : slabdata     48     48      0
inode_cache            36637  45080    584   56    8 : tunables    0    0    0 : slabdata    805    805      0
dentry               3217866 3702384   192   42    2 : tunables    0    0    0 : slabdata  88152  88152      0
iint_cache                 0      0     72   56    1 : tunables    0    0    0 : slabdata      0      0      0
buffer_head        370050715 400741536 104   39    1 : tunables    0    0    0 : slabdata 10275424 10275424  0
vm_area_struct        147654 150128    184   44    2 : tunables    0    0    0 : slabdata   3412   3412      0
mm_struct               9550  10404    896   36    8 : tunables    0    0    0 : slabdata    289    289      0
files_cache             4029   4029    640   51    8 : tunables    0    0    0 : slabdata     79     79      0
signal_cache            4383   5180   1152   28    8 : tunables    0    0    0 : slabdata    185    185      0
sighand_cache           3081   3255   2112   15    8 : tunables    0    0    0 : slabdata    217    217      0
task_xstate            10016  10881    832   39    8 : tunables    0    0    0 : slabdata    279    279      0
task_struct             1913   2070   6432    5    8 : tunables    0    0    0 : slabdata    414    414      0
Acpi-ParseExt           6048   6048     72   56    1 : tunables    0    0    0 : slabdata    108    108      0
Acpi-State               306    306     80   51    1 : tunables    0    0    0 : slabdata      6      6      0
Acpi-Namespace          2040   2040     40  102    1 : tunables    0    0    0 : slabdata     20     20      0
anon_vma               69129  72318     80   51    1 : tunables    0    0    0 : slabdata   1418   1418      0
shared_policy_node     27030  27285     48   85    1 : tunables    0    0    0 : slabdata    321    321      0
numa_policy             8160   8160     24  170    1 : tunables    0    0    0 : slabdata     48     48      0
radix_tree_node     64025078 64148728  584   56    8 : tunables    0    0    0 : slabdata 1145751 1145751    0
idr_layer_cache         3456   3709   2096   15    8 : tunables    0    0    0 : slabdata    251    251      0
dma-kmalloc-8192           0      0   8192    4    8 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-4096           0      0   4096    8    8 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-2048           0      0   2048   16    8 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-1024           0      0   1024   32    8 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-512           32     32    512   32    4 : tunables    0    0    0 : slabdata      1      1      0
dma-kmalloc-256            0      0    256   32    2 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-128            0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-64             0      0     64   64    1 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-32             0      0     32  128    1 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-16             0      0     16  256    1 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-8              0      0      8  512    1 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-192            0      0    192   42    2 : tunables    0    0    0 : slabdata      0      0      0
dma-kmalloc-96             0      0     96   42    1 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-8192             779    832   8192    4    8 : tunables    0    0    0 : slabdata    208    208      0
kmalloc-4096            2918   3304   4096    8    8 : tunables    0    0    0 : slabdata    413    413      0
kmalloc-2048            3530   4224   2048   16    8 : tunables    0    0    0 : slabdata    264    264      0
kmalloc-1024           23980  27264   1024   32    8 : tunables    0    0    0 : slabdata    852    852      0
kmalloc-512           179639 222048    512   32    4 : tunables    0    0    0 : slabdata   6939   6939      0
kmalloc-256           488489 521296    256   32    2 : tunables    0    0    0 : slabdata  16291  16291      0
kmalloc-192            41454  53508    192   42    2 : tunables    0    0    0 : slabdata   1274   1274      0
kmalloc-128            54683  67168    128   32    1 : tunables    0    0    0 : slabdata   2099   2099      0
kmalloc-96             20274  37044     96   42    1 : tunables    0    0    0 : slabdata    882    882      0
kmalloc-64            329220 1136832    64   64    1 : tunables    0    0    0 : slabdata  17763  17763      0
kmalloc-32             76222  90112     32  128    1 : tunables    0    0    0 : slabdata    704    704      0
kmalloc-16            245496 247552     16  256    1 : tunables    0    0    0 : slabdata    967    967      0
kmalloc-8             570025 915456      8  512    1 : tunables    0    0    0 : slabdata   1788   1788      0
kmem_cache_node         1310   1472     64   64    1 : tunables    0    0    0 : slabdata     23     23      0
kmem_cache               512    512    256   32    2 : tunables    0    0    0 : slabdata     16     16      0

And just for good measure, this was meminfo at the same time:

MemTotal:       3170749444 kB
MemFree:        27109596 kB
MemAvailable:   2853545664 kB
Buffers:          442216 kB
Cached:         2882173504 kB
SwapCached:            0 kB
Active:         1636112224 kB
Inactive:       1303578276 kB
Active(anon):   188466588 kB
Inactive(anon):  6202588 kB
Active(file):   1447645636 kB
Inactive(file): 1297375688 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      25353212 kB
SwapFree:       25353212 kB
Dirty:            924980 kB
Writeback:             0 kB
AnonPages:      57090800 kB
Mapped:         137637500 kB
Shmem:          137578904 kB
Slab:           82699516 kB
SReclaimable:   81921588 kB
SUnreclaim:       777928 kB
KernelStack:       27968 kB
PageTables:     101008148 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    1610727932 kB
Committed_AS:   205791344 kB
VmallocTotal:   34359738367 kB
VmallocUsed:     6629132 kB
VmallocChunk:   31937035472 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      172736 kB
DirectMap2M:    13412352 kB
DirectMap1G:    3207593984 kB


> > We have three hardware raid'ed disks with XFS on them, one of which receives
> > the bulk of the load. This is a raid 50 volume on SSDs with the raid controller
> > running in writethrough mode.
> 
> It doesn't seem like writeback of dirty pages is the problem; more
> the case that the page cache is rediculously huge and not being
> reclaimed in a sane manner. Do you really need 2.8TB of cached file
> data in memory for performance?

Yeah, disk cache is the primary reason for stuffing memory into that machine.

-- 
Anders Ossowicki

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-06-03  7:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-01 14:57 "XFS: possible memory allocation deadlock in kmem_alloc" on high memory machine Anders Ossowicki
2015-06-01 21:01 ` Dave Chinner
2015-06-02 12:06   ` Anders Ossowicki
2015-06-03  1:52     ` Dave Chinner
2015-06-03  7:07       ` Anders Ossowicki [this message]
2015-06-03 23:11         ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150603070725.GA20743@otto \
    --to=aowi@novozymes.com \
    --cc=david@fromorbit.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.