Re: [PATCH 1/2] x86/mm: maintain a percpu "in get_user_pages_fast"flag
From: Avi Kivity
Date:  Sat Mar 28 2009 - 05:54:55 EST
Jeremy Fitzhardinge wrote:
@@ -255,6 +260,10 @@ int get_user_pages_fast(unsigned long start, 
int nr_pages, int write,
     * address down to the the page and take a ref on it.
     */
    local_irq_disable();
+
+    cpu = smp_processor_id();
+    cpumask_set_cpu(cpu, in_gup_cpumask);
+
This will bounce a cacheline, every time.  Please wrap in CONFIG_XEN 
and skip at runtime if Xen is not enabled.
Every time?  Only when running successive gup_fasts on different cpus, 
and only twice per gup_fast. (What's the typical page count?  I see 
that kvm and lguest are page-at-a-time users, but presumably direct IO 
has larger batches.)
Databases will often issue I/Os of 1 or 2 pages.  But not regressing kvm 
should be sufficient motivation.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/