Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-04-02 Thread Jaromír Doleček
2018-03-31 13:42 GMT+02:00 Jaromír Doleček : > 2018-03-25 17:27 GMT+02:00 Joerg Sonnenberger : >> Yeah, that's what ephemeral mappings where supposed to be for. The other >> question is whether we can't just use the direct map for this on amd64 >> and similar platforms? > > Right, we could/should u

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-04-02 Thread Martin Husemann
On Mon, Apr 02, 2018 at 09:28:43PM +0200, Jaromír Dole?ek wrote: > The only port actually having optimization for emap is x86. Since amd64 > is also the only one supporting direct map, we are really at liberty to pick > either one. I am not sure what you mean here - AFIK alpha and mips64 also have

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-04-02 Thread Maxime Villard
Le 02/04/2018 à 21:28, Jaromír Doleček a écrit : 2018-03-31 13:42 GMT+02:00 Jaromír Doleček : 2018-03-25 17:27 GMT+02:00 Joerg Sonnenberger : Yeah, that's what ephemeral mappings where supposed to be for. The other question is whether we can't just use the direct map for this on amd64 and simil

re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-04-03 Thread matthew green
> 4GB of KVA; and in addition pmap_kernel will consume some KVA too. i386 for > example has only 4GB of ram and 4GB of KVA, so we'll just never add a direct > map there. note that it changes your direct map point, but, i386 GENERIC_PAE works fine for at least 16GB ram. it should work upto 64GB.

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-04-19 Thread Jaromír Doleček
I've finally got my test rig setup, so was able to check the performance difference when using emap. Good news there is significant speedupon NVMe device, without observing any bad side effects so far. I've setup a test file of 2G, smaller than RAM to fit all in cache, test was: dd if=foo of=/dev

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-11 Thread Jaromír Doleček
I've modified the uvm_bio.c code to use direct map for amd64. Change seems to be stable, I've also run 'build.sh tools' to test out the system, build suceeded and I didn't observe any problems with stability. Test was on 6-core Intel CPU with HT on (i.e. "12" cores visible to OS), NVMe disk, cca 2G

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-11 Thread Jason Thorpe
> On May 11, 2018, at 8:28 AM, Jaromír Doleček > wrote: > > I've modified the uvm_bio.c code to use direct map for amd64. Change > seems to be stable, I've also run 'build.sh tools' to test out the > system, build suceeded and I didn't observe any problems with > stability. Test was on 6-core

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-11 Thread Michael van Elst
On Fri, May 11, 2018 at 05:28:18PM +0200, Jaromír Dole?ek wrote: > I've implemented a tweak to read-ahead code to skip the full > read-ahead if last page of the range is already in cache, this > improved things a lot: That looks a bit like a hack. Can't you just call uvm_pagelookup() to determine

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-12 Thread Jaromír Doleček
2018-05-12 7:07 GMT+02:00 Michael van Elst : > On Fri, May 11, 2018 at 05:28:18PM +0200, Jaromír Dole?ek wrote: >> I've implemented a tweak to read-ahead code to skip the full >> read-ahead if last page of the range is already in cache, this >> improved things a lot: > > That looks a bit like a hac

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-12 Thread Chuck Silvers
hi, sorry for being so late to the party on this thread, I should have replied long ago. On Fri, May 11, 2018 at 05:28:18PM +0200, Jaromr Dole?ek wrote: > I've modified the uvm_bio.c code to use direct map for amd64. Change > seems to be stable, I've also run 'build.sh tools' to test out the > s

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-13 Thread Jaromír Doleček
2018-05-12 21:24 GMT+02:00 Chuck Silvers : > the problem with keeping the pages locked (ie. PG_BUSY) while accessing > the user address space is that it can lead to deadlock if the page > we are accessing via the kernel mapping is the same page that we are > accessing via the user mapping. The pag

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-05-13 Thread Chuck Silvers
On Sun, May 13, 2018 at 02:59:50PM +0200, Jaromr Dole?ek wrote: > 2018-05-12 21:24 GMT+02:00 Chuck Silvers : > > the problem with keeping the pages locked (ie. PG_BUSY) while accessing > > the user address space is that it can lead to deadlock if the page > > we are accessing via the kernel mapping

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-06-10 Thread Jaromír Doleček
2018-05-12 21:24 GMT+02:00 Chuck Silvers : > the problem with keeping the pages locked (ie. PG_BUSY) while accessing > the user address space is that it can lead to deadlock if the page Meanwhile I've tested this scenario - wrote a test program to do mmap(2) for file, then calling write() using th

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map

2018-06-12 Thread Eric Hawicz
On 6/10/2018 3:02 PM, Jaromír Doleček wrote: 2018-05-12 21:24 GMT+02:00 Chuck Silvers : the problem with keeping the pages locked (ie. PG_BUSY) while accessing the user address space is that it can lead to deadlock if the page Meanwhile I've tested this scenario - wrote a test program to do mma