Date: Mon, 2 Nov 2015 16:06:46 +0100 From: Oliver Pinter <oliver.pinter@hardenedbsd.org> To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <royger@freebsd.org> Cc: Adrian Chadd <adrian.chadd@gmail.com>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org> Subject: Re: svn commit: r289834 - head/sys/x86/x86 Message-ID: <CAPQ4ffsVARUvk9cHpBMj0G_aocZE=g_NXz7%2BtWL5wgTUjagQ8g@mail.gmail.com> In-Reply-To: <CAPQ4fftu_kMG3Qa9fWQm%2BXMka6auvOJgy%2BtwVZP-y8%2ByXQPtnw@mail.gmail.com> References: <201510231539.t9NFdxPe018130@repo.freebsd.org> <562A564D.9080703@citrix.com> <CAJ-Vmok2WnSe2DA6jf6eLsL=OGsUD2_1LgLFRJi3LAhYk5aMwA@mail.gmail.com> <562E1F8F.3010304@FreeBSD.org> <CAPQ4fft%2B4nSHSRAt%2BnD-DF7XW3W6RR-ADfhYYtgQLNyYCLqE-Q@mail.gmail.com> <CAJ-VmonEk76vZ%2BA=rTYN_H_gVkd2RpL=qJxa8mCPvcQonDOitg@mail.gmail.com> <CAPQ4fftgXgDV8YwhFqbAS1mdaiCh5t611gd3u_xNbwukwGiK1Q@mail.gmail.com> <5632447B.1020402@FreeBSD.org> <CAPQ4fftEUYCGKY-niqwb_SayRu-3P2fTJWf022GihNziFmE5Ww@mail.gmail.com> <56376567.9090100@FreeBSD.org> <CAPQ4fftu_kMG3Qa9fWQm%2BXMka6auvOJgy%2BtwVZP-y8%2ByXQPtnw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 2, 2015 at 2:44 PM, Oliver Pinter <oliver.pinter@hardenedbsd.org> wrote: > On 11/2/15, Roger Pau Monn=C3=A9 <royger@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.pau@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 behav= iour 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 fi= rst page is passed to the current _bus_dmamap_load_ma implementation (so th= e 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 pag= e). If the same is done with a mapped buffer and calling _bus_dmamap_load_b= uffer 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 ve= rsion (_bus_dmamap_load_buffer). This patch only modifies the x86 bounce buff= er 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 root@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. >> >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPQ4ffsVARUvk9cHpBMj0G_aocZE=g_NXz7%2BtWL5wgTUjagQ8g>