| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: concurrent direct IO write in xfs |
| From: | Zheng Da <zhengda1936@xxxxxxxxx> |
| Date: | Tue, 17 Jan 2012 14:19:52 -0500 |
| Cc: | xfs@xxxxxxxxxxx |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=w+axhirJtGx6n4Mec/Swd+jz63P68GOVoYd+yeaxhPI=; b=phBEPwjx9FqwkD8maw3+TjyA2k1EWqbriP+ILaUQuKTr/hJLjf9LezWkhxO2vnVlrI WviqOrXu/nIMDSlEJjyIOATtAgPUkgfHczUzqx/OcM6TrXQ5gFOpShFuT5GBMuDPNRZm /URyVsfJtZ8PvkAnHZQE8TGqCM+v5qz0J3FC0= |
| In-reply-to: | <20120116232549.GC6922@dastard> |
| References: | <CAFLer83FBZG9ZCrT2jUZBcTC2a2tx_CDmykyPF4cTP0dbHGw7Q@xxxxxxxxxxxxxx> <20120116232549.GC6922@dastard> |
|
Hello, On Mon, Jan 16, 2012 at 6:25 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: Thanks,> 0xffffffff81288b6a : xfs_aio_write_newsize_update+0x3a/0x90 [kernel] This is weird. Yes, I'm sure. I use pwrite() to write data to a 4G file, and I check the offset of each write and they are always smaller than 4G. I instrument the code with systemtap and it shows me that ip->i_new_size and new_size in xfs_aio_write_newsize_update are both 0.
Since in my case there is only overwrite, ip->i_new_size will always be 0 (the only place that updates ip->i_new_size is xfs_file_aio_write_checks). Because of the same reason, new_size returned by xfs_file_aio_write_checks is always 0.
Is it what you expected?
I build XFS on the top of ramdisk. So yes, there is a lot of small concurrent writes in a second.
I create a file of 4GB in XFS (the ramdisk has 5GB of space). My test program overwrites 4G of data to the file and each time writes a page of data randomly to the file. It's always overwriting, and no appending. The offset of each write is always aligned to the page size. There is no overlapping between writes.
So the test case is pretty simple and I think it's easy to reproduce it. It'll be great if you can try the test case. Da
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [patch 01/12] xfs: split tail_lsn assignments from log space wakeups, Mark Tinguely |
|---|---|
| Next by Date: | Re: [PATCH 09/11] xfs: remove the i_new_size field in struct xfs_inode, Ben Myers |
| Previous by Thread: | Re: concurrent direct IO write in xfs, Dave Chinner |
| Next by Thread: | Re: concurrent direct IO write in xfs, Linda Walsh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |