2019-10-30 09:36:06

by Li RongQing

[permalink] [raw]
Subject: mount cgroup with "already mounted or cgroup busy"

Hi:

I meet a issue, and not sure if it is normal
Using the below script, the last line mount will fail after unmount
And it will fail until reboot system

mount -t cgroup -o cpu,cpuset xx cgroup
mkdir cgroup/x
rmdir cgroup/x
umount cgroup
mount -t cgroup -o cpu xx cgroup
mount: xx already mounted or cgroup busy

but if I add sleep, it will success

mount -t cgroup -o cpu,cpuset xx cgroup
mkdir cgroup/x
rmdir cgroup/x
sleep 10 <<<<==========
umount cgroup
mount -t cgroup -o cpu xx cgroup

- Li RongQing



2019-11-22 15:24:08

by Michal Koutný

[permalink] [raw]
Subject: Re: mount cgroup with "already mounted or cgroup busy"

Hello Li.

On Wed, Oct 30, 2019 at 09:32:41AM +0000, "Li,Rongqing" <[email protected]> wrote:
> I meet a issue, and not sure if it is normal
It is a consequence of how cgroup state is retained.

I considered a "trivial" fix, however, I learnt later it'd be a revert
(and hence regression) of
3c606d35fe97 "cgroup: prevent mount hang due to memory controller lifetime"

> Using the below script, the last line mount will fail after unmount
> And it will fail until reboot system
The cause is that controllers remained pinned to the same root.
You can unpin them by mounting/unmounting again attached to the same
root (i.e. cpu,cpuset again).

(Perhaps the logic in cgroup1_root_to_use may be changed to cope better
with the "stateless" controllers.)

Michal


Attachments:
(No filename) (782.00 B)
signature.asc (849.00 B)
Digital signature
Download all attachments