On Mon, Nov 14, 2011 at 01:54:27PM -0500, Jerome Glisse wrote:
On Mon, Nov 14, 2011 at 05:06:42PM +0100, Thomas Hellstrom wrote:
On 11/14/2011 05:02 PM, Jerome Glisse wrote:
On Mon, Nov 14, 2011 at 9:49 AM, Thomas Hellstromthellstrom@vmware.com wrote:
On 11/11/2011 11:47 PM, j.glisse@gmail.com wrote:
So attached is updated serie of patch with fixes for swaping issue that also impacted memory accounting.
Jerome, Out of interest, what was the swapping issue?
/Thomas
The page list was NULL and some access ended up freaking the kernel and oom kicked in for some reason i still don't understand. Bottom
Was it like this:
Nov 16 10:02:02 phenom kernel: [ 4477.232933] [TTM] Out of kernel memory. Nov 16 10:02:02 phenom kernel: [ 4477.232958] radeon 0000:01:00.0: object_init failed for (12288, 0x00000002) Nov 16 10:02:02 phenom kernel: [ 4477.232963] [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (12288, 2, 4096, -12) Nov 16 10:02:02 phenom kernel: [ 4477.248329] [TTM] Out of kernel memory.
followed up with an OOM?
line things were going south in a split second leaving me with no log or access, i thought it was accounting not working as it was what i tested at the time. I should have tested accouting without the patchset
Weirdly enough, I did _not_ see this with the patchset:
592d002 drm/ttm: remove userspace backed ttm object support 9f1cf44 drm/ttm: remove split btw highmen and lowmem page d27ea32 drm/ttm: remove unused backend flags field dad5ef9 drm/ttm: use ttm put pages function to properly restore cache attribute 6aa902d drm/ttm: overhaul memory accounting 60d0fa6 drm/ttm: convert page allocation to use page ptr array instead of list V4 abde3ec drm/ttm: test for dma_address array allocation failure 8145582 drm/ttm: merge ttm_backend and ttm_tt V2 0216e52 drm/ttm: introduce callback for ttm_tt populate & unpopulate V2 ecb0d22 ttm: Provide DMA aware TTM page pool code. V5 793dc40 swiotlb: Expose swiotlb_nr_tlb function to modules 767aa47 drm/radeon/kms: Enable the TTM DMA pool if swiotlb is on V2 e91d0f0 drm/nouveau: enable the TTM DMA pool on 32-bit DMA only device V2 6eda9c3 ttm:dma: Add 'ttm_dma' module to radeon and nouveau to force enable the TTM DMA
which I think was your V4 posting (or earlier) (the last patch is something I added to toggle it off/on to test).
The latest (V5) hit the OOM quite fast - took about an hour or two of me answering emails (mutt inside gnome-terminal) and using both chrome and firefox, and running a make -j10 on the Linux kernel.
Time to turn on more debugging :-)