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:	Thu, 14 Apr 2011 12:07:33 +1000
From:	Dave Airlie <airlied@...hat.com>
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	Yinghai Lu <yinghai@...nel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	dri-devel@...ts.freedesktop.org, Tejun Heo <tj@...nel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Thomas Gleixner <tglx@...utronix.de>
Subject: Re: Linux 2.6.39-rc3

On Wed, 2011-04-13 at 18:58 -0700, H. Peter Anvin wrote:
> On 04/13/2011 12:14 PM, Yinghai Lu wrote:
> > 
> > so those two patches uncover some problems.
> > 
> > [    0.000000] Checking aperture...
> > [    0.000000] No AGP bridge found
> > [    0.000000] Node 0: aperture @ a0000000 size 32 MB
> > [    0.000000] Aperture pointing to e820 RAM. Ignoring.
> > [    0.000000] Your BIOS doesn't leave a aperture memory hole
> > [    0.000000] Please enable the IOMMU option in the BIOS setup
> > [    0.000000] This costs you 64 MB of RAM
> > [    0.000000]     memblock_x86_reserve_range: [0xa0000000-0xa3ffffff]       aperture64
> > [    0.000000] Mapping aperture over 65536 KB of RAM @ a0000000
> > 
> > so kernel try to reallocate apperture. because BIOS allocated is pointed to RAM or size is too small.
> > 
> > but your radeon does use [0xa0000000, 0xbfffffff)
> > 
> > [    4.281993] radeon 0000:01:05.0: VRAM: 320M 0x00000000C0000000 - 0x00000000D3FFFFFF (320M used)
> > [    4.290672] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
> > [    4.298550] [drm] Detected VRAM RAM=320M, BAR=256M
> > [    4.309857] [drm] RAM width 32bits DDR
> > [    4.313748] [TTM] Zone  kernel: Available graphics memory: 1896524 kiB.
> > [    4.320379] [TTM] Initializing pool allocator.
> > [    4.324948] [drm] radeon: 320M of VRAM memory ready
> > [    4.329832] [drm] radeon: 512M of GTT memory ready.
> > 
> > and the one seems working:
> > 
> > [    0.000000] Checking aperture...
> > [    0.000000] No AGP bridge found
> > [    0.000000] Node 0: aperture @ a0000000 size 32 MB
> > [    0.000000] Aperture pointing to e820 RAM. Ignoring.
> > [    0.000000] Your BIOS doesn't leave a aperture memory hole
> > [    0.000000] Please enable the IOMMU option in the BIOS setup
> > [    0.000000] This costs you 64 MB of RAM
> > [    0.000000]     memblock_x86_reserve_range: [0x80000000-0x83ffffff]       aperture64
> > [    0.000000] Mapping aperture over 65536 KB of RAM @ 80000000
> > [    0.000000]     memblock_x86_reserve_range: [0xacb6bdc0-0xacb6bddf]          BOOTMEM
> > 
> > will use different position...
> > 
> > [    4.250159] radeon 0000:01:05.0: VRAM: 320M 0x00000000C0000000 - 0x00000000D3FFFFFF (320M used)
> > [    4.258830] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
> > [    4.266742] [drm] Detected VRAM RAM=320M, BAR=256M
> > [    4.271549] [drm] RAM width 32bits DDR
> > [    4.275435] [TTM] Zone  kernel: Available graphics memory: 1896526 kiB.
> > [    4.282066] [TTM] Initializing pool allocator.
> > [    4.282085] usb 7-2: new full speed USB device number 2 using ohci_hcd
> > [    4.293076] [drm] radeon: 320M of VRAM memory ready
> > [    4.298277] [drm] radeon: 512M of GTT memory ready.
> > [    4.303218] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> > [    4.309854] [drm] Driver supports precise vblank timestamp query.
> > [    4.315970] [drm] radeon: irq initialized.
> > [    4.320094] [drm] GART: num cpu pages 131072, num gpu pages 131072
> > 
> > So question is why radeon is using the address [0xa0000000 - 0xc000000], and in E820 it is RAM ....
> > 
> > [    0.000000]  BIOS-e820: 0000000000100000 - 00000000acb8d000 (usable)
> > [    0.000000]  BIOS-e820: 00000000acb8d000 - 00000000acb8f000 (reserved)
> > [    0.000000]  BIOS-e820: 00000000acb8f000 - 00000000afce9000 (usable)
> > [    0.000000]  BIOS-e820: 00000000afce9000 - 00000000afd21000 (reserved)
> > [    0.000000]  BIOS-e820: 00000000afd21000 - 00000000afd4f000 (usable)
> > [    0.000000]  BIOS-e820: 00000000afd4f000 - 00000000afdcf000 (reserved)
> > [    0.000000]  BIOS-e820: 00000000afdcf000 - 00000000afecf000 (ACPI NVS)
> > [    0.000000]  BIOS-e820: 00000000afecf000 - 00000000afeff000 (ACPI data)
> > [    0.000000]  BIOS-e820: 00000000afeff000 - 00000000aff00000 (usable)
> > 
> > so looks bios program wrong address to the radon card?
> > 
> 
> Okay, staring at this, it definitely seems toxic to overlay the GART
> over memory areas reserved by the BIOS.  If I were to guess, I would say
> that the problem here seems to be that the kernel thinks it is
> overlaying 64 MiB of memory, but the actual GART is in fact 512 MiB in
> size -- 131072 CPU pages -- which now overlaps the BIOS reserved areas.
> 
> Alex D., could you comment on the "num cpu pages" bit?

These are not CPU addresses. I think we've stated that already. Not the
droids.

the num cpu pages is how many CPU pages would be needed to fill the GPU
GTT, for those crazy cases where CPU pagesize != GPU pagesize.

Dave.


--
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