Re: Can you help explain these OOM crashes?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 25, 2016 at 02:42:51PM -0500, Chris Mason wrote:
> Al, any ideas why get_anon_bdev is doing an atomic allocation here?
> 
> 	if (ida_pre_get(&unnamed_dev_ida, GFP_ATOMIC) == 0)

Because set() callback of sget() runs under sb_lock - it must be atomic
wrt scanning the list of superblock in search of match.  And get_anon_bdev()
is called from such callbacks...

In principle, we could change locking rules for case when test callback
is NULL, except that it's also called from ns_set_super(), which *does*
come along with non-NULL test() (see mount_ns()), so that really doesn't
help...
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux