On Wed, 23 Feb 2000, Matthew Dillon wrote:

[I wrote]
> :See PR 16568.  pmap_remove_all() doesn't flush the TLB properly in
> :FreeBSD-3.x on i386's.  Somehow this doesn't cause many problems, but
> :it fairly reliably breaks the free() in fdfree() when there was a file
> :descriptor larger than about 1000 (this gives a free() of more than
> :MAXALLOCSAVE = 2 pages) when there is a lot of fork() activity.

>     Ahh.  I presume you will commit this patch now that Bjoern has
>     confirmed that it works?

Not until the reason that it works is understood.

>     I don't know why an unconditional invltlb() didn't work either,
>     it should have.  Maybe the __asm macro is being optimized out.

I verified that the unconditional invtlb() doesn't work.  Better yet,
replacing the invltlb_1pg() in the loop doesn't work.  I think this
means that we've changed the page tables too early for a page elsewhere.

Bruce



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to