Messages in this thread | | | Date | Sat, 28 Mar 2009 12:54:19 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 1/2] x86/mm: maintain a percpu "in get_user_pages_fast" flag |
| |
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.
| |