* 2.4.0 and QoS installation
[not found] <20010921095721.A725@athlon.random>
@ 2001-09-21 8:06 ` Radivoje Todorovic
2001-09-21 8:39 ` Marco Colombo
2001-09-21 17:18 ` 2.4.10pre13aa1 Benjamin LaHaise
1 sibling, 1 reply; 8+ messages in thread
From: Radivoje Todorovic @ 2001-09-21 8:06 UTC (permalink / raw)
To: linux-kernel
I have untared SAME linux-2.4.0.tar.gz on two PCs and when I did
make menuconfig in the networking section, only on one of the two machines
there was a choice to use QoS and Fair Queueing.
What is the trick? Or what HW check menuconfig performed before it created
the menu?
Rade
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.0 and QoS installation
2001-09-21 8:06 ` 2.4.0 and QoS installation Radivoje Todorovic
@ 2001-09-21 8:39 ` Marco Colombo
0 siblings, 0 replies; 8+ messages in thread
From: Marco Colombo @ 2001-09-21 8:39 UTC (permalink / raw)
To: Radivoje Todorovic; +Cc: linux-kernel
On Fri, 21 Sep 2001, Radivoje Todorovic wrote:
> I have untared SAME linux-2.4.0.tar.gz on two PCs and when I did
> make menuconfig in the networking section, only on one of the two machines
> there was a choice to use QoS and Fair Queueing.
>
> What is the trick? Or what HW check menuconfig performed before it created
> the menu?
> Rade
diff is your friend: just have a look at the differences between the
two .config. Anyway, I'd bet you enabled CONFIG_EXPERIMENTAL only on one
of the two.
.TM.
--
____/ ____/ /
/ / / Marco Colombo
___/ ___ / / Technical Manager
/ / / ESI s.r.l.
_____/ _____/ _/ Colombo@ESI.it
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
[not found] <20010921095721.A725@athlon.random>
2001-09-21 8:06 ` 2.4.0 and QoS installation Radivoje Todorovic
@ 2001-09-21 17:18 ` Benjamin LaHaise
2001-09-22 7:28 ` 2.4.10pre13aa1 Andrea Arcangeli
1 sibling, 1 reply; 8+ messages in thread
From: Benjamin LaHaise @ 2001-09-21 17:18 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: linux-kernel
On Fri, Sep 21, 2001 at 09:57:21AM +0200, Andrea Arcangeli wrote:
> Only in 2.4.10pre13aa1: 00_unmap-dirty-pte-1
>
> I grepped over the whole 600 pages of the latest x86 system developer
> manual and I couldn't find the proof that I'm wrong.
>
> We can have pagecache pages with pte writeable and non dirty at some
> point.
>
> Now what happens if the userspace task in the other cpu touches the
> writeable page between our "ptep_get_and_clear" and the
> "flush_tlb_page"? Is the resulting pte still zero and the task get into
> a page fault? Or as I am worried it could also just end with the pte
> with only the dirty bit set? Does somebody know for sure? I can
> imagine the cpu finding the tlb state writeable, and issuing just a
> locked bit test and set in the pte without caring to check if the pte
> is zero or not.
>
> If the cpu just set the bit this patch will avoid to lose a shared
> mapping update. Otherwise it's a safe noop so I keep it applied
> until this issue is sorted out.
I've tested this on all the machines I could get my hands on, and every
single CPU will take a page fault if the pte is not present on dirtying
the page. If people are truely paranoid, then make it a boot time assertion.
-ben
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
2001-09-21 17:18 ` 2.4.10pre13aa1 Benjamin LaHaise
@ 2001-09-22 7:28 ` Andrea Arcangeli
2001-09-22 22:39 ` 2.4.10pre13aa1 Benjamin LaHaise
0 siblings, 1 reply; 8+ messages in thread
From: Andrea Arcangeli @ 2001-09-22 7:28 UTC (permalink / raw)
To: Benjamin LaHaise; +Cc: linux-kernel
On Fri, Sep 21, 2001 at 01:18:41PM -0400, Benjamin LaHaise wrote:
> the page. If people are truely paranoid, then make it a boot time assertion.
What do you think if I replace the mkdirty with a BUG() in case the pte
gets marked dirty? Just to be sure no hardware gets it wrong.
Andrea
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
2001-09-22 7:28 ` 2.4.10pre13aa1 Andrea Arcangeli
@ 2001-09-22 22:39 ` Benjamin LaHaise
0 siblings, 0 replies; 8+ messages in thread
From: Benjamin LaHaise @ 2001-09-22 22:39 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: linux-kernel
On Sat, Sep 22, 2001 at 09:28:59AM +0200, Andrea Arcangeli wrote:
> On Fri, Sep 21, 2001 at 01:18:41PM -0400, Benjamin LaHaise wrote:
> > the page. If people are truely paranoid, then make it a boot time assertion.
>
> What do you think if I replace the mkdirty with a BUG() in case the pte
> gets marked dirty? Just to be sure no hardware gets it wrong.
Sure. At some point it should be made part of debugging-only builds. Cheers,
-ben
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
@ 2001-09-23 9:46 Manfred Spraul
2001-09-23 14:32 ` 2.4.10pre13aa1 Andrea Arcangeli
2001-09-23 18:28 ` 2.4.10pre13aa1 Benjamin LaHaise
0 siblings, 2 replies; 8+ messages in thread
From: Manfred Spraul @ 2001-09-23 9:46 UTC (permalink / raw)
To: Benjamin LaHaise, Andrea Arcangeli; +Cc: linux-kernel
>> with only the dirty bit set? Does somebody know for sure? I can
>> imagine the cpu finding the tlb state writeable, and issuing
>> just a locked bit test and set in the pte without caring to
>> check if the pte is zero or not.
>>
>> If the cpu just set the bit this patch will avoid to lose a shared
>> mapping update. Otherwise it's a safe noop so I keep it applied
>> until this issue is sorted out
>
>I've tested this on all the machines I could get my hands on, and every
>single CPU will take a page fault if the pte is not present on dirtying
>the page. If people are truely paranoid, then make it a boot time
> assertion.
>
I don't think that this is a valid argument:
you are testing on i386 and make design decisions for the architecture
independant part.
I'd prefer ptep_get_and_clear_and_flush(), then the arch part can do
what's needed to get the final pte value. (if a single page is modified,
otherwise the arch can define a suitable mmu_gather)
--
Manfred
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
2001-09-23 9:46 2.4.10pre13aa1 Manfred Spraul
@ 2001-09-23 14:32 ` Andrea Arcangeli
2001-09-23 18:28 ` 2.4.10pre13aa1 Benjamin LaHaise
1 sibling, 0 replies; 8+ messages in thread
From: Andrea Arcangeli @ 2001-09-23 14:32 UTC (permalink / raw)
To: Manfred Spraul; +Cc: Benjamin LaHaise, linux-kernel
On Sun, Sep 23, 2001 at 11:46:18AM +0200, Manfred Spraul wrote:
> I'd prefer ptep_get_and_clear_and_flush(), then the arch part can do
agreed. In the meantime I'll just keep the assert.
Andrea
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.4.10pre13aa1
2001-09-23 9:46 2.4.10pre13aa1 Manfred Spraul
2001-09-23 14:32 ` 2.4.10pre13aa1 Andrea Arcangeli
@ 2001-09-23 18:28 ` Benjamin LaHaise
1 sibling, 0 replies; 8+ messages in thread
From: Benjamin LaHaise @ 2001-09-23 18:28 UTC (permalink / raw)
To: Manfred Spraul; +Cc: Andrea Arcangeli, linux-kernel
On Sun, Sep 23, 2001 at 11:46:18AM +0200, Manfred Spraul wrote:
> I don't think that this is a valid argument:
> you are testing on i386 and make design decisions for the architecture
> independant part.
The hook is only needed for x86-like architectures, as all of the risc like
cpus perform the dirty state modification in the page fault handler while
holding the page_table_lock.
> I'd prefer ptep_get_and_clear_and_flush(), then the arch part can do
> what's needed to get the final pte value. (if a single page is modified,
> otherwise the arch can define a suitable mmu_gather)
mmu_gather is the hook. ia64 for instance can create a gather that uses
the hardware tlb flush instruction to shootdown the entry across all cpus
and eliminates the race.
-ben
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2001-09-23 18:28 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20010921095721.A725@athlon.random>
2001-09-21 8:06 ` 2.4.0 and QoS installation Radivoje Todorovic
2001-09-21 8:39 ` Marco Colombo
2001-09-21 17:18 ` 2.4.10pre13aa1 Benjamin LaHaise
2001-09-22 7:28 ` 2.4.10pre13aa1 Andrea Arcangeli
2001-09-22 22:39 ` 2.4.10pre13aa1 Benjamin LaHaise
2001-09-23 9:46 2.4.10pre13aa1 Manfred Spraul
2001-09-23 14:32 ` 2.4.10pre13aa1 Andrea Arcangeli
2001-09-23 18:28 ` 2.4.10pre13aa1 Benjamin LaHaise
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox