| To: | David Chinner <dgc@xxxxxxx> |
|---|---|
| Subject: | Re: PARTIAL TAKE 946630 - Contention on incore superblock lock |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Wed, 8 Feb 2006 09:21:28 +0000 |
| Cc: | linux-xfs@xxxxxxxxxxx, sgi.bugs.xfs@xxxxxxxxxxxx |
| In-reply-to: | <20060203061930.8672A494E42E@xxxxxxxxxxxxxxxxxxxxxxx> |
| References: | <20060203061930.8672A494E42E@xxxxxxxxxxxxxxxxxxxxxxx> |
| Sender: | linux-xfs-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.4.2.1i |
On Fri, Feb 03, 2006 at 05:19:30PM +1100, David Chinner wrote: > When running parallel I/O threads on machines with lots of > CPUs, the incore superblock lock becomes the limiting factor > for buffered write throughput. Make the contended fields in > the incore superblock use per-cpu counters so that there is > no global lock to limit scalability. This looks like it's wrong in case of hotplug cpus. Various functions only iterate over all online cpus, e.g. to initialize structures and update the ondisk counters on unmount. It would oops when adding a new cpu online due to uninitialized spinlocks or corrupt the filesystems when removing cpus while a filesystem is mounted. Changing all for_each_online_cpu to for_each_possible_cpu should fix all this. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | TAKE 907752 - xfstests, FSG QA |
|---|---|
| Next by Date: | SGI 02, Honson Lee |
| Previous by Thread: | PARTIAL TAKE 946630 - Contention on incore superblock lock, David Chinner |
| Next by Thread: | Re: PARTIAL TAKE 946630 - Contention on incore superblock lock, David Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |