Re: [patch 1/5] avoid tlb gather restarts.

2007-07-16 Thread Andrew Morton
On Tue, 03 Jul 2007 13:18:23 +0200 Martin Schwidefsky <[EMAIL PROTECTED]> wrote: > From: Martin Schwidefsky <[EMAIL PROTECTED]> > > If need_resched() is false in the inner loop of unmap_vmas it is > unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for > each ZAP_BLOCK_SIZE ptes. Do

Re: [patch 1/5] avoid tlb gather restarts.

2007-07-16 Thread Andrew Morton
On Tue, 03 Jul 2007 13:18:23 +0200 Martin Schwidefsky [EMAIL PROTECTED] wrote: From: Martin Schwidefsky [EMAIL PROTECTED] If need_resched() is false in the inner loop of unmap_vmas it is unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for each ZAP_BLOCK_SIZE ptes. Do a

Re: [patch 1/5] avoid tlb gather restarts.

2007-07-04 Thread Martin Schwidefsky
On Tue, 2007-07-03 at 18:42 +0100, Hugh Dickins wrote: > > If need_resched() is false in the inner loop of unmap_vmas it is > > unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for > > each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That gives > > architectures with a

Re: [patch 1/5] avoid tlb gather restarts.

2007-07-04 Thread Martin Schwidefsky
On Tue, 2007-07-03 at 18:42 +0100, Hugh Dickins wrote: If need_resched() is false in the inner loop of unmap_vmas it is unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That gives architectures with a non-generic tlb

Re: [patch 1/5] avoid tlb gather restarts.

2007-07-03 Thread Hugh Dickins
On Tue, 3 Jul 2007, Martin Schwidefsky wrote: > From: Martin Schwidefsky <[EMAIL PROTECTED]> > > If need_resched() is false in the inner loop of unmap_vmas it is > unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for > each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That

[patch 1/5] avoid tlb gather restarts.

2007-07-03 Thread Martin Schwidefsky
From: Martin Schwidefsky <[EMAIL PROTECTED]> If need_resched() is false in the inner loop of unmap_vmas it is unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That gives architectures with a non-generic tlb flush

[patch 1/5] avoid tlb gather restarts.

2007-07-03 Thread Martin Schwidefsky
From: Martin Schwidefsky [EMAIL PROTECTED] If need_resched() is false in the inner loop of unmap_vmas it is unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That gives architectures with a non-generic tlb flush

Re: [patch 1/5] avoid tlb gather restarts.

2007-07-03 Thread Hugh Dickins
On Tue, 3 Jul 2007, Martin Schwidefsky wrote: From: Martin Schwidefsky [EMAIL PROTECTED] If need_resched() is false in the inner loop of unmap_vmas it is unnecessary to do a full blown tlb_finish_mmu / tlb_gather_mmu for each ZAP_BLOCK_SIZE ptes. Do a tlb_flush_mmu() instead. That gives

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-30 Thread Hugh Dickins
On Fri, 29 Jun 2007, Martin Schwidefsky wrote: > On Fri, 2007-06-29 at 19:56 +0100, Hugh Dickins wrote: > > I don't dare comment on your page_mkclean_one patch (5/5), > > that dirty page business has grown too subtle for me. > > Oh yes, the dirty handling is tricky I'll move that discussion

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-30 Thread Hugh Dickins
On Fri, 29 Jun 2007, Martin Schwidefsky wrote: On Fri, 2007-06-29 at 19:56 +0100, Hugh Dickins wrote: I don't dare comment on your page_mkclean_one patch (5/5), that dirty page business has grown too subtle for me. Oh yes, the dirty handling is tricky I'll move that discussion over to

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Martin Schwidefsky
On Fri, 2007-06-29 at 19:56 +0100, Hugh Dickins wrote: > I don't dare comment on your page_mkclean_one patch (5/5), > that dirty page business has grown too subtle for me. Oh yes, the dirty handling is tricky. I had to fix a really nasty bug with it lately. As for page_mkclean_one the difference

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Hugh Dickins
I don't dare comment on your page_mkclean_one patch (5/5), that dirty page business has grown too subtle for me. Your cleanups 2-4 look good, especially the mm_types.h one (how confident are you that everything builds?), and I'm glad we can now lay ptep_establish to rest. Though I think you may

[patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Martin Schwidefsky
From: Martin Schwidefsky <[EMAIL PROTECTED]> If need_resched() is false it is unnecessary to call tlb_finish_mmu() and tlb_gather_mmu() for each vma in unmap_vmas(). Moving the tlb gather restart under the if that contains the cond_resched() will avoid unnecessary tlb flush operations that are

[patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Martin Schwidefsky
From: Martin Schwidefsky [EMAIL PROTECTED] If need_resched() is false it is unnecessary to call tlb_finish_mmu() and tlb_gather_mmu() for each vma in unmap_vmas(). Moving the tlb gather restart under the if that contains the cond_resched() will avoid unnecessary tlb flush operations that are

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Hugh Dickins
I don't dare comment on your page_mkclean_one patch (5/5), that dirty page business has grown too subtle for me. Your cleanups 2-4 look good, especially the mm_types.h one (how confident are you that everything builds?), and I'm glad we can now lay ptep_establish to rest. Though I think you may

Re: [patch 1/5] avoid tlb gather restarts.

2007-06-29 Thread Martin Schwidefsky
On Fri, 2007-06-29 at 19:56 +0100, Hugh Dickins wrote: I don't dare comment on your page_mkclean_one patch (5/5), that dirty page business has grown too subtle for me. Oh yes, the dirty handling is tricky. I had to fix a really nasty bug with it lately. As for page_mkclean_one the difference is