On 08/28/2010 04:20, Andriy Gapon wrote: > on 28/08/2010 04:24 jhell said the following: >> The modified patch from avg@ (portion patch) is: >> >> #ifdef _KERNEL >> if (arc_reclaim_needed()) { >> needfree = 0; >> wakeup(&needfree); >> } >> #endif >> >> I still moved that down to below _KERNEL for the obvious reasons. But >> when I was using the original patch with if (needfree) I noticed a >> performance degradation after ~12 hours of use with and without UMA >> turned on. So far with ~48 hours of testing with the top half of that >> being with the above change, I have not seen more degradation of > > This is quite unexpected. > needfree should be checked as the very first thing in arc_reclaim_needed() > [unless you have patched it locally]. So if needfree is 1 then > arc_reclaim_needed() should also return 1. But the converse is not true, > arc_reclaim_needed() may return 1 even if needfree is zero. > > So if your testing results are conclusive then it must mean that some extra > wakeups on needfree are needed. I.e. needfree is zero, so there shouldn't be > anything waiting on it (see arc_lowmem) and no notification should be needed, > but issuing somehow does make difference, > Hmm... >
I will look further into this and see if I can throw a counter around it or some printf's so I can at least log what its doing in both instances. I thought the very same thing you said above when I saw your patch for that and was astounded at the results that were returned from it. So in short testing I reverted it back quickly to see if that was the cause of the problem and sure enough everything resumed to the way it was before. Anyway thanks for the reply. I will get back to you if I see anything cool arise from this. Regards, -- jhell,v _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"