atom feed51 messages in org.freebsd.freebsd-armRe: Performance of SheevaPlug on 8-st...
FromSent OnAttachments
Maks VerverMar 6, 2010 12:39 pm 
Bernd WalterMar 6, 2010 1:16 pm 
Bernd WalterMar 6, 2010 1:51 pm 
M. Warner LoshMar 6, 2010 2:25 pm 
Maks VerverMar 6, 2010 5:39 pm 
Bernd WalterMar 6, 2010 10:59 pm 
Maks VerverMar 7, 2010 11:55 am 
Bernd WalterMar 7, 2010 12:11 pm 
Rafal JaworowskiMar 7, 2010 12:30 pm 
Mark TinguelyMar 7, 2010 1:25 pm 
Maks VerverMar 7, 2010 1:38 pm 
Bernd WalterMar 7, 2010 4:26 pm 
Bernd WalterMar 7, 2010 5:30 pm 
Bernd WalterMar 7, 2010 6:16 pm 
Mark TinguelyMar 7, 2010 6:59 pm 
Bernd WalterMar 8, 2010 12:20 am 
Jacques FourieMar 8, 2010 12:25 am 
Hans Petter SelaskyMar 8, 2010 1:06 am 
Bernd WalterMar 8, 2010 4:40 am 
Mark TinguelyMar 8, 2010 5:57 am 
M. Warner LoshMar 8, 2010 6:07 am 
Maks VerverMar 8, 2010 6:28 am 
Grzegorz BernackiMar 8, 2010 7:50 am 
M. Warner LoshMar 8, 2010 8:14 am 
Mark TinguelyMar 8, 2010 10:18 am 
Bernd WalterMar 8, 2010 10:41 am 
Mark TinguelyMar 8, 2010 11:36 am 
Bernd WalterMar 8, 2010 11:54 am 
Maks VerverMar 8, 2010 3:50 pm 
Rafal JaworowskiMar 9, 2010 2:03 am 
Grzegorz BernackiMar 9, 2010 8:11 am 
Mark TinguelyMar 9, 2010 10:11 am 
Grzegorz BernackiMar 10, 2010 5:57 am 
Rafal JaworowskiMar 10, 2010 6:04 am 
Mark TinguelyMar 10, 2010 6:20 am 
Bernd WalterMar 10, 2010 6:37 am 
Rafal JaworowskiMar 10, 2010 7:52 am 
Mark TinguelyMar 10, 2010 8:41 am 
Mark TinguelyMar 10, 2010 10:06 am 
Rafal JaworowskiMar 11, 2010 1:18 pm 
Maks VerverMar 12, 2010 9:51 am 
Maks VerverMar 12, 2010 11:58 am 
Mark TinguelyMar 12, 2010 1:20 pm 
Mark TinguelyMar 15, 2010 10:50 am 
Mark TinguelyMar 22, 2010 7:54 am 
Olivier HouchardMar 22, 2010 8:05 am 
Mark TinguelyMar 22, 2010 9:25 am 
Steve WoodfordMar 23, 2010 1:14 am 
Grzegorz BernackiMar 23, 2010 4:13 am 
Mark TinguelyMar 23, 2010 5:56 am 
Mark TinguelyNov 3, 2010 9:08 am 
Subject:Re: Performance of SheevaPlug on 8-stable
From:Mark Tinguely (ting@casselton.net)
Date:Mar 15, 2010 10:50:32 am
List:org.freebsd.freebsd-arm

On Fri, 12 Mar 2010 18:51, Maks Verver said:

On 03/10/2010 04:53 PM, Rafal Jaworowski wrote:

Mark, Can you confirm this worsening over time happens with a fresh (from scratch) kernel build (with Mark T. patch applied)? Please provide the scenario / steps which lead to this behaviour.

Was this directed at me? If so, I've rebuilt the distribution from CURRENT sources (previously, I used 8-STABLE with some patches applied) which I believe includes Mark Tinguely's patches.

With these patches, the problem doesn't occur for tests that I run immediately after booting. However, if I create a new binary (either by recompiling, which is what I did before, or simply by copying, as I found out) then this new binary executes slowly:

elysium# time ./test 9.000u 0.000s 0:09.07 99.6% 40+1324k 1+0io 0pf+0w elysium# cp test test2 elysium# time ./test2 287.000u 0.000s 4:48.54 99.5% 40+1322k 0+0io 0pf+0w

9 seconds is still slower than it should be (Linux runs this test program in 5.4 s) but this may well be a completely separate issue.

I also added the KASSERT line that Mark Tinguely suggested, but I forgot to enable the INVARIANT option when rebuilding the kernel. I'll have to get back to you on that one.

Kind regards, Maks Verver.

As a FYI to everyone else, I ask Maks to include a printf statement in vm_hold_free_pages(); it ensures the vm_page and the KVA are in sync on the pages that are freed. I also added a printf statement in the pmap_remove_pages() and pmap_remove_all() routines to make sure they are not being called before freeing the page.

pmap_remove_pages() is for a memory map being removed. Kernel maps are global, so we can't go and clear them.

pmap_remove_all() removes all references to a particular page. We cannot remove the pte entry in pmap_remove_all(), but we might be able to remove the md.pv_kva value. It seems to me that that kernel allocator should still call the pmap_[kq]remove() for this page.

Worse case, we can clean the md.pv_kva and md.pv_flags when we free the page. We might get some objections from the VM people about this.