On Mon, Nov 2, 2015 at 4:06 PM, Oliver Pinter <oliver.pin...@hardenedbsd.org> wrote: > On Mon, Nov 2, 2015 at 2:44 PM, Oliver Pinter > <oliver.pin...@hardenedbsd.org> wrote: >> On 11/2/15, Roger Pau Monné <roy...@freebsd.org> wrote: >>> El 29/10/15 a les 22.48, Oliver Pinter ha escrit: >>>> Yes, at next week I have time for the test. Please ping me again at >>>> Monday. >>> >>> Ping :). >> >> Pong. :) I now stared a new build with the patch, so I will report >> back 1-2 hours from now. > > It's better. :) > > root@nyi-01 src# git show | head -30 > commit 8f6110bd2e258b3f4224eb580e99fa142bebc727 > Author: Roger Pau Monne <roger....@citrix.com> > Date: Thu Oct 29 12:58:23 2015 +0100 > > x86/dma_bounce: rework _bus_dmamap_load_ma implementation > > The implementation of bus_dmamap_load_ma_triv currently calls > _bus_dmamap_load_phys on each page that is part of the passed in buffer. > Since each page is treated as an individual buffer, the resulting > behaviour > is different from the behaviour of _bus_dmamap_load_buffer. This breaks > certain drivers, like Xen blkfront. > > If an unmapped buffer of size 4096 that starts at offset 13 into the first > page is passed to the current _bus_dmamap_load_ma implementation (so the > ma > array contains two pages), the result is that two segments are created, > one > with a size of 4083 and the other with size 13 (because two independant > calls to _bus_dmamap_load_phys are performed, one for each physical page). > If the same is done with a mapped buffer and calling > _bus_dmamap_load_buffer > the result is that only one segment is created, with a size of 4096. > > This patch relegates the usage of bus_dmamap_load_ma_triv in x86 bounce > buffer code to drivers requesting BUS_DMA_KEEP_PG_OFFSET and implements > _bus_dmamap_load_ma so that it's behaviour is the same as the mapped > version > (_bus_dmamap_load_buffer). This patch only modifies the x86 bounce buffer > code, other arches are left untouched. > > Reviewed by: kib, jah > Differential Revision: https://reviews.freebsd.org/D888 > Sponsored by: Citrix Systems R&D > > root@nyi-01 src# uname -a > FreeBSD nyi-01.build.hardenedbsd.org 11.0-CURRENT-HBSD FreeBSD > 11.0-CURRENT-HBSD #14 8f6110b(jenkins-world-kernel-20151102): Mon Nov > 2 09:42:26 EST 2015 > r...@nyi-01.build.hardenedbsd.org:/usr/obj/usr/src/sys/JENKINS amd64 > root@nyi-01 src# uptime > 10:05AM up 3 mins, 2 users, load averages: 0.46, 1.09, 0.57 > root@nyi-01 src# > > Now I started a new jenkins build to see the patch under stress.
Okay, the server survived a full buildworld + installer generation with the new patch. > >>> >>> _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"