[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-mm
Subject: Re: Possible bug in tlb shootdown patch (IA64)
From: Jack Steiner <steiner () sgi ! com>
Date: 2001-05-29 17:48:44
[Download RAW message or body]
>
> On Fri, 25 May 2001, Jack Steiner wrote:
>
> > I posted this to linux-mm@kvack.org but failed to
> > send you a copy.
> >
> > ----
> >
> > We hit a problem that looks like it is related to the tlb
> > shootdown patch.
>
> Thanks for the analysis. I think the following patch should help...
>
> -ben
>
>
> diff -urN v2.4.4-ac17/mm/memory.c wrk/mm/memory.c
> --- v2.4.4-ac17/mm/memory.c Thu May 24 19:45:18 2001
> +++ wrk/mm/memory.c Fri May 25 15:10:16 2001
> @@ -285,9 +285,9 @@
> return 0;
> }
> ptep = pte_offset(pmd, address);
> - address &= ~PMD_MASK;
> - if (address + size > PMD_SIZE)
> - size = PMD_SIZE - address;
> + offset = address & ~PMD_MASK;
> + if (offset + size > PMD_SIZE)
> + size = PMD_SIZE - offset;
> size &= PAGE_MASK;
> for (offset=0; offset < size; ptep++, offset += PAGE_SIZE) {
> pte_t pte = *ptep;
>
I didnt try the code, but I think there is still a problem.
It looks like the patch addresses only part of the problem. There
is also code in zap_pmd_range that will mask off the upper bits of the
address being flushed. The call to tlb_remove_page() in zap_pte_range()
must pass the entire user virtual address that is being removed.
--
Thanks
Jack Steiner (651-683-5302) (vnet 233-5302) steiner@sgi.com
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic