xfs_init_workqueues(void)
 {
        /*
-        * max_active is set to 8 to give enough concurency to allow
-        * multiple work operations on each CPU to run. This allows multiple
-        * filesystems to be running sync work concurrently, and scales with
-        * the number of CPUs in the system.
+        * We never want to the same work item to run twice, reclaiming inodes
+        * or idling the log is not going to get any faster by multiple CPUs
+        * competing for ressources.  Use the default large max_active value
+        * so that even lots of filesystems can perform these task in parallel.
         */
-       xfs_syncd_wq = alloc_workqueue("xfssyncd", WQ_CPU_INTENSIVE, 8);
+       xfs_syncd_wq = alloc_workqueue("xfssyncd", WQ_NON_REENTRANT, 0);
        if (!xfs_syncd_wq)
                return -ENOMEM;
        return 0;