lkml.org 
[lkml]   [2012]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v5 6/7] x86/tlb: optimizing flush_tlb_mm
    From
    Date
    On Wed, 2012-05-16 at 10:00 +0200, Peter Zijlstra wrote:
    > On Wed, 2012-05-16 at 14:46 +0800, Alex Shi wrote:
    > > diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
    > > index 75e888b..ed6642a 100644
    > > --- a/include/asm-generic/tlb.h
    > > +++ b/include/asm-generic/tlb.h
    > > @@ -86,6 +86,8 @@ struct mmu_gather {
    > > #ifdef CONFIG_HAVE_RCU_TABLE_FREE
    > > struct mmu_table_batch *batch;
    > > #endif
    > > + unsigned long start;
    > > + unsigned long end;
    > > unsigned int need_flush : 1, /* Did free PTEs */
    > > fast_mode : 1; /* No batching */
    > >
    > > diff --git a/mm/memory.c b/mm/memory.c
    > > index 6105f47..b176172 100644
    > > --- a/mm/memory.c
    > > +++ b/mm/memory.c
    > > @@ -206,6 +206,8 @@ void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, bool fullmm)
    > > tlb->mm = mm;
    > >
    > > tlb->fullmm = fullmm;
    > > + tlb->start = -1UL;
    > > + tlb->end = 0;
    > > tlb->need_flush = 0;
    > > tlb->fast_mode = (num_possible_cpus() == 1);
    > > tlb->local.next = NULL;

    Also, you just broke compilation on a bunch of archs.. again.


    \
     
     \ /
      Last update: 2012-05-16 11:02    [W:0.032 / U:0.544 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site