lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 11 Mar 2011 14:46:21 +0000
From:	Ian Campbell <Ian.Campbell@...rix.com>
To:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
CC:	Fitzhardinge <jeremy@...p.org>,
	"xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@...citrix.com>
Subject: Re: [Xen-devel] Re: [GIT PATCH v2 0/14] xen: events: cleanups +
 ween off nr_irqs

On Fri, 2011-03-11 at 14:32 +0000, Ian Campbell wrote:
> On Fri, 2011-03-11 at 14:24 +0000, Ian Campbell wrote:
> > On Fri, 2011-03-11 at 13:28 +0000, Ian Campbell wrote:
> > > On Fri, 2011-03-11 at 11:24 +0000, Ian Campbell wrote:
> > > > On Fri, 2011-03-11 at 09:12 +0000, Ian Campbell wrote:
> > > > > On Thu, 2011-03-10 at 22:57 +0000, Konrad Rzeszutek Wilk wrote:
> > > > > > On Thu, Mar 10, 2011 at 04:07:59PM +0000, Ian Campbell wrote:
> > > > > > > Changes since last time:
> > > > > > >       * correct return value of xen_irq_from_pirq
> > > > > > >       * WARN if a pirq cannot be allocated for a legacy IRQ
> > > > > > >       * Updated checking comment of "xen: events: do not workaround
> > > > > > >         too-small nr_irqs"
> > > > > > > 
> > > > > > > The following series makes a few cleanups to the Xen IRQ infrastructure.
> > > > > > > The most important thing is that it removes the need to know about
> > > > > > > nr_irqs and in particular the reliance on nr_irqs being static.
> > > > > > > 
> > > > > > > Apart from being generally a good thing this is needed because in 2.6.39
> > > > > > > nr_irqs will be able to grow dynamically, specifically e7bcecb7b1d2
> > > > > > > "genirq: Make nr_irqs runtime expandable" from tip/core/irq is targeted
> > > > > > > at 2.6.39.
> > > > > > > 
> > > > > > > Dynamically growing nr_irqs also allows us to remove the workaround
> > > > > > > which eats into GSI space if a dynamic IRQ cannot be allocated.
> > > > > > > 
> > > > > > > There is no ideal sequencing of this series vs e7bcecb7b1d2 (most should
> > > > > > > have gone in before, but the penultimate patch really needed to be
> > > > > > > simultaneous) so I haven't bothered to try and pull anything from tip
> > > > > > > into this branch -- it should all be resolved during the merge window
> > > > > > > and bisection won't be too broken since the "eat into GSI space"
> > > > > > > workaround only appears to be needed on a small number of older
> > > > > > > platforms (qemu being the main exception).
> > > > > > 
> > > > > > <nods>
> > > > > > > 
> > > > > > > I have tested:
> > > > > > >       * Domain 0 on real h/w and under qemu
> > > > > > >       * PV guest, including migration and passthrough of both VF and PF.
> > > > > > >       * PVHVM guest, including migration and passthrough of both VF and
> > > > > > >         PF.
> > > > > > 
> > > > > > I am having difficulties with passthrough of an USB device. Somehow the
> > > > > > irq count is not going up at all (both in dom0 and domU) and it looks to
> > > > > > be doing just simple polling. I've rebased the xen-pciback to be on top
> > > > > > of your changes and apply cleanly. The whole lot is now in #master
> > > > > > 
> > > > > > MSI and MSI-X devices work just fine in both Dom0 and DomU case so
> > > > > > it is something special with the legacy IRQs. Probably forgot something
> > > > > > simple...
> > > > > 
> > > > > Thanks, I'll take a look. Did you mean "legacy IRQ" as in <16 or as in
> > > > > not-MSI(-X)?
> > > > 
> > > > Works for me in a PV guest, at least under the second interpretation (I
> > > > don't have any useful devices IRQ < 16). This is with your pciback 0.5.
> > > > 
> > > > I see something like what you describe under HVM, although pciback is
> > > > not used in that case. xc_physdev_map_pirq is used but not with
> > > > the /sys/.../bdf node AFAICT.
> > > > 
> > > > More digging required I guess...
> > > 
> > > If I just pass through the EHCI device it doesn't work. However if I
> > > also pass-through the associated UHCI controller then I do see the
> > > usb-storage device, interrupts and all. The EHCI controller still
> > > doesn't work though. Note that with a PV guest passing-through the EHCI
> > > controller by itself does work.
> > > 
> > > The issue I'm seeing seems to have more to do with accessing the memory
> > > mapped BAR than IRQs though:
> > 
> > I seem to see this with 2.6.32 dom0 as well. This IRQ series of patches
> > doesn't appear to make a difference when running 2.6.38-rcX+.
> > 
> > Unfortunately I think the error must be elsewhere :-(
> 
> BTW, this is with:

BTW2, compared with your merged up branches I get:

$ git log --no-merges --pretty=oneline HEAD..konrad/linux-next
$
(i.e. nothing)
the inverse (konrad/linux-next..HEAD) looks like blkback+pciback
+stefano's branch and nothing else.

$ git log --no-merges --pretty=oneline HEAD...konrad/master
ac55b353aba741aded22e1cbd4a9b59e999b9c89 xen: update mask_rw_pte after kernel page tables init changes
ff5959a1215b9e6d39b86520d62e7d6fc124bfb3 xen: set max_pfn_mapped to the last pfn mapped
09a741fee2cdd4ffa2cf926b70083a6f63073700 x86: Cleanup highmap after brk is concluded
733301920082553b52ce4453493fe6abf6aa7d1a ttm: Pass in 'struct device' to TTM so it can do DMA API on behalf of device.
02bbfbab7dd6a107ea2f5d6e882631cd31c72eda ttm: Include the 'struct dev' when using the DMA API.
7c20cf7644dc632b61a6f7ee52fa4ae2f8abc1b2 nouveau/ttm/PCIe: Use dma_addr if TTM has set it.
eadf243146fbcd88ead082be5341996e52c13b73 radeon/ttm/PCIe: Use dma_addr if TTM has set it.
6b1f175951de66ac07e765a07d4f22004c0d7ce2 ttm: Expand (*populate) to support an array of DMA addresses.
0438748313f46e887aca12ef0cfc4178f2dfe920 ttm: Utilize the DMA API for pages that have TTM_PAGE_FLAG_DMA32 set.
36ff9d246ac231fe6bce55121ddd6f799c9b0c3b ttm: Introduce a placeholder for DMA (bus) addresses.
2bd3f2608788e776ff0524ce77cca995094191a1 drm/radeon/kms: clean up gart dummy page handling

and

$ git log --no-merges --pretty=oneline konrad/master..HEAD
$
(again nothing).

No smoking guns there AFAICT...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ