On Mon, 2007-09-24 at 14:42 -0700, Christoph Lameter wrote:
> On Tue, 25 Sep 2007, Benjamin Herrenschmidt wrote:
>
> > I'd suggest just reverting the patch for now (well, I see from the
> > commit list that you did just that) and I'll try to come up with
> > something better.
>
> That would be
On Tue, 25 Sep 2007, Benjamin Herrenschmidt wrote:
> I'd suggest just reverting the patch for now (well, I see from the
> commit list that you did just that) and I'll try to come up with
> something better.
That would be great. Note that the reversal of the x86_64 quicklist
support patch does
On Fri, 2007-09-21 at 12:21 -0700, Linus Torvalds wrote:
> Yeah, and the whole thing seems totally bogus. It totally depends on
> mmu_gather doing everything right (which very much includes the dependency
> on mmu gathering disabling preempt).
>
> For exmaple, if we were to go back to the
On Fri, 2007-09-21 at 12:21 -0700, Linus Torvalds wrote:
Yeah, and the whole thing seems totally bogus. It totally depends on
mmu_gather doing everything right (which very much includes the dependency
on mmu gathering disabling preempt).
For exmaple, if we were to go back to the original
On Tue, 25 Sep 2007, Benjamin Herrenschmidt wrote:
I'd suggest just reverting the patch for now (well, I see from the
commit list that you did just that) and I'll try to come up with
something better.
That would be great. Note that the reversal of the x86_64 quicklist
support patch does not
On Mon, 2007-09-24 at 14:42 -0700, Christoph Lameter wrote:
On Tue, 25 Sep 2007, Benjamin Herrenschmidt wrote:
I'd suggest just reverting the patch for now (well, I see from the
commit list that you did just that) and I'll try to come up with
something better.
That would be great.
On Fri, 21 Sep 2007, Luck, Tony wrote:
> > The quicklists have a long history and this bug has therefore also been in
> > IA64 for a long time and it also likely exists on sparc64, sh and sh64. We
> > need the patch that I posted to fix the other platforms. And with this fix
> > there would be
> The quicklists have a long history and this bug has therefore also been in
> IA64 for a long time and it also likely exists on sparc64, sh and sh64. We
> need the patch that I posted to fix the other platforms. And with this fix
> there would be nothing amiss on x86_64 either.
IA64 doesn't
On Fri, 21 Sep 2007, Linus Torvalds wrote:
> The problem with that commit that I just reverted was that it mixed the
> two, but not completely. It still kept them separate.
The quicklists have a long history and this bug has therefore also been in
IA64 for a long time and it also likely exists
On Fri, 21 Sep 2007, Linus Torvalds wrote:
>
> So for example, if you actually want to use quicklists in the "generic"
> TLB-gather implementation, you should replace the
>
> struct page *pages[FREE_PTE_NR];
>
> entry in the "struct mmu_gather" with a set of quicklists instead.
Side
On Fri, 21 Sep 2007, Christoph Lameter wrote:
> > The only way to fix it would be to integrate the quicklist stuff *with*
> > the mmu_gather stuff, so that these kinds of implementation issues are
> > explicitly shown in the relationship, instead of havign two "independent"
> > pieces of code
On Fri, 21 Sep 2007, Linus Torvalds wrote:
> Yeah, and the whole thing seems totally bogus. It totally depends on
> mmu_gather doing everything right (which very much includes the dependency
> on mmu gathering disabling preempt).
The quicklists have been existing for a long time in this
On Fri, 21 Sep 2007, Christoph Lameter wrote:
>
> The final flush does only check if there are too many pages on the
> quicklists. Otherwise the quicklist is not dumped/freed (unlike the
> mmu_gather list) but kept for the following page table page allocations
> since we have cache hot cpu
On Fri, 21 Sep 2007, Linus Torvalds wrote:
> On Fri, 21 Sep 2007, Linus Torvalds wrote:
> >
> > On Fri, 21 Sep 2007, Christoph Lameter wrote:
> > >
> > > The quicklists collect pages while we gather pages for TLB flushing.
> > > These pages must be kept until the actual TLB flush has occurred.
On Fri, 21 Sep 2007, Linus Torvalds wrote:
>
> On Fri, 21 Sep 2007, Christoph Lameter wrote:
> >
> > The quicklists collect pages while we gather pages for TLB flushing.
> > These pages must be kept until the actual TLB flush has occurred. The
> > optimization of releasing off node pages
On Fri, 21 Sep 2007, Christoph Lameter wrote:
>
> The quicklists collect pages while we gather pages for TLB flushing.
> These pages must be kept until the actual TLB flush has occurred. The
> optimization of releasing off node pages early is therefore not valid.
That should be the
On Fri, 21 Sep 2007, Linus Torvalds wrote:
> > Can we revert this commit for 2.6.23 and look at this code post 2.6.23?
>
> I'll happily revert it, but I want to understand this better, so more of
> an explanation of the codepath that actually does something wrong, please.
The quicklists
On Fri, 21 Sep 2007, Siddha, Suresh B wrote:
> Essentially quicklist free routines are doing something like
> __quicklist_free()
> ...
> if (unlikely(nid != numa_node_id())) {
> __free_page(page);
> ...
> }
>
>
>
>
> Now this will
On Fri, 21 Sep 2007, Siddha, Suresh B wrote:
>
> git commit 34feb2c83beb3bdf13535a36770f7e50b47ef299 started using quicklists
> for freeing page table pages and removed the usage of tlb_remove_page()
>
> And looking at quicklist_free() and quicklist_free_page(), on a NUMA platform,
> this can
> Can we revert this commit for 2.6.23 and look at this code post 2.6.23?
Fine by me to revert it. I must admit I never 100% understood how it was
supposed to work anyways, but eventually gave up on it.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body
Can we revert this commit for 2.6.23 and look at this code post 2.6.23?
Fine by me to revert it. I must admit I never 100% understood how it was
supposed to work anyways, but eventually gave up on it.
-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of
On Fri, 21 Sep 2007, Christoph Lameter wrote:
The quicklists collect pages while we gather pages for TLB flushing.
These pages must be kept until the actual TLB flush has occurred. The
optimization of releasing off node pages early is therefore not valid.
That should be the mmu_gather
On Fri, 21 Sep 2007, Siddha, Suresh B wrote:
Essentially quicklist free routines are doing something like
__quicklist_free()
...
if (unlikely(nid != numa_node_id())) {
__free_page(page);
...
}
Now this will potentially cause
On Fri, 21 Sep 2007, Siddha, Suresh B wrote:
git commit 34feb2c83beb3bdf13535a36770f7e50b47ef299 started using quicklists
for freeing page table pages and removed the usage of tlb_remove_page()
And looking at quicklist_free() and quicklist_free_page(), on a NUMA platform,
this can
On Fri, 21 Sep 2007, Linus Torvalds wrote:
Can we revert this commit for 2.6.23 and look at this code post 2.6.23?
I'll happily revert it, but I want to understand this better, so more of
an explanation of the codepath that actually does something wrong, please.
The quicklists collect
On Fri, 21 Sep 2007, Linus Torvalds wrote:
On Fri, 21 Sep 2007, Christoph Lameter wrote:
The quicklists collect pages while we gather pages for TLB flushing.
These pages must be kept until the actual TLB flush has occurred. The
optimization of releasing off node pages early is
On Fri, 21 Sep 2007, Linus Torvalds wrote:
On Fri, 21 Sep 2007, Linus Torvalds wrote:
On Fri, 21 Sep 2007, Christoph Lameter wrote:
The quicklists collect pages while we gather pages for TLB flushing.
These pages must be kept until the actual TLB flush has occurred. The
On Fri, 21 Sep 2007, Christoph Lameter wrote:
The final flush does only check if there are too many pages on the
quicklists. Otherwise the quicklist is not dumped/freed (unlike the
mmu_gather list) but kept for the following page table page allocations
since we have cache hot cpu objects
On Fri, 21 Sep 2007, Linus Torvalds wrote:
Yeah, and the whole thing seems totally bogus. It totally depends on
mmu_gather doing everything right (which very much includes the dependency
on mmu gathering disabling preempt).
The quicklists have been existing for a long time in this
On Fri, 21 Sep 2007, Christoph Lameter wrote:
The only way to fix it would be to integrate the quicklist stuff *with*
the mmu_gather stuff, so that these kinds of implementation issues are
explicitly shown in the relationship, instead of havign two independent
pieces of code where one
On Fri, 21 Sep 2007, Linus Torvalds wrote:
So for example, if you actually want to use quicklists in the generic
TLB-gather implementation, you should replace the
struct page *pages[FREE_PTE_NR];
entry in the struct mmu_gather with a set of quicklists instead.
Side note: this
On Fri, 21 Sep 2007, Linus Torvalds wrote:
The problem with that commit that I just reverted was that it mixed the
two, but not completely. It still kept them separate.
The quicklists have a long history and this bug has therefore also been in
IA64 for a long time and it also likely exists
The quicklists have a long history and this bug has therefore also been in
IA64 for a long time and it also likely exists on sparc64, sh and sh64. We
need the patch that I posted to fix the other platforms. And with this fix
there would be nothing amiss on x86_64 either.
IA64 doesn't do a
On Fri, 21 Sep 2007, Luck, Tony wrote:
The quicklists have a long history and this bug has therefore also been in
IA64 for a long time and it also likely exists on sparc64, sh and sh64. We
need the patch that I posted to fix the other platforms. And with this fix
there would be nothing
34 matches
Mail list logo