Re: long hangs when deleting large directories (3.0-rc3)

Markus Trippelsdorf
2011-06-20T02:02:39Z

On 2011.06.20 at 11:34 +1000, Dave Chinner wrote:
> On Mon, Jun 20, 2011 at 02:54:15AM +0200, Markus Trippelsdorf wrote:
> > On 2011.06.20 at 08:24 +1000, Dave Chinner wrote:
> > > On Sat, Jun 18, 2011 at 04:19:50PM +0200, Markus Trippelsdorf wrote:
> > > > Running the latest git kernel (3.0-rc3) my machine hangs for long
> > > > periods (1-2 sec) whenever I delete a large directory recursively on my
> > > > xfs partition. During the hang I cannot move the mouse pointer or use
> > > > the keyboard (but the music keeps playing without stuttering). A quick
> > > > way to reproduce is to "rm -fr" a kernel tree.
> > >
> > > So what is the system doing when it "hangs"? Is it CPU bound (e.g.
> > > cpu scheduler issue)? Is the system running out of memory and
> > > stalling everything in memory reclaim? What IO is occurring?
> >
> > It's totally idle otherwise; just a desktop with a single xterm. The
> > machine has four cores (and also runs with "CONFIG_PREEMPT=y"), so I
> > don't think it is CPU bound at all. It has 8GB of memory (and the
> > "hangs" even occur after reboot when most of it is free). No other IO
> > activity is occurring.
>
> Sure, the system might be otherwise idle, but what I was asking is
> what load does the "rm -rf" cause. What IO does it cause? is it cpu
> bound? etc.

I have not measured this, so I cannot tell.

> > > > This happens on a 4kb SATA hard drive:
> > >
> > > How does this appear to the OS? as a 512/512, 512/4k or 4k/4k
> > > logical/physical sector size drive?
> >
> > It unfortunately appears as 512/512, but because I know it's a 4KB
> > drive, I formated it with "-s size=4096".
>
> Oh, joy. Another user having strange performance problems on a 4k
> sector drive that lies to the OS about it's geometry....
>
> > > > xfs_info /var
> > > > meta-data=/dev/sda1 isize=256 agcount=4, agsize=12800000 blks
> > > > = sectsz=4096 attr=2
> > > > data = bsize=4096 blocks=51200000, imaxpct=25
> > > > = sunit=0 swidth=0 blks
> > > > naming =version 2 bsize=4096 ascii-ci=0
> > > > log =internal bsize=4096 blocks=25000, version=2
> > > > = sectsz=4096 sunit=1 blks, lazy-count=1
> > > > realtime =none extsz=4096 blocks=0, rtextents=0
> > > >
> > > > /dev/sda1 on /var type xfs (rw,noatime,attr2,delaylog,logbsize=256k,noquota)
> > >
> > > Is your partition correctly sector aligned for however your drive
> > > maps it's 4k sectors?
> >
> > Yes, it's a GPT partition that is aligned to 1MB.
>
> Ok, that is fine, but the big question now is how does the drive
> align sector 0? Is that 4k aligned, or is it one of those drives
> that aligns an odd 512 byte logical sector to the physical 4k sector
> boundary (i.e. sector 63 is 4k aligned to work with msdos
> partitions). FYI, some drives have jumpers on them to change this
> odd/even sector alignment configuration.....

No, it's none of those (it's a Seagate Barracuda Green ST1500). Sector 0
is 4k aligned for sure. The odd 512 byte offset was present only on some
first generation drives.
But I think the whole alignment issue is a red herring, because I cannot
reproduce the "hangs" on the next partition on the same drive. This
partition is larger and contains my music and film collection (so mostly
static content and no traffic). And as I wrote in my other reply to this
thread: »it appears that the observed "hangs" are the result of a
strongly aged file-system.«