Hi, I've been getting get the 'No memory on buffer alloc' on a busy
mythtv box (2x ivtv + 1x hdhomerun + transcoding&commflagging), and I
know I'm using i ivtv_dynbuf=0, but I still got those messages. Then I
found it didn't allocate the max, even with dynbuf, so I made this patch:

====================================================
--- driver/ivtv-queue.c (revision 3567)
+++ driver/ivtv-queue.c (working copy)
@@ -1008,7 +1008,7 @@

        /* allocate stream buffers */
        if (s->buffers && ivtv_init_queues_nolock(itv,
-                                 streamtype, s->buf_min, s->bufsize) < 0) {
+                                 streamtype, (itv->options.dynbuf) ?
s->buf_min : s->buf_max, s->bufsize) < 0) {
                IVTV_ERR("Couldn't allocate buffers for %s stream\n",
                              ivtv_stream_name(streamtype));
====================================================

But now I still sometimes get that message, and it doesn't make sense to me.

And I'm using 'vmalloc=192M', so I don't think I should be seeing this
at all:

Nov 13 14:21:55 oxygen ivtv0: All encoder MPEG stream buffers are full.
Dropping data.
Nov 13 14:21:55 oxygen ivtv0: Cause: the application is not reading fast
enough.
Nov 13 14:21:57 oxygen ivtv1: All encoder MPEG stream buffers are full.
Dropping data.
Nov 13 14:21:57 oxygen ivtv1: Cause: the application is not reading fast
enough.
Nov 13 14:28:17 oxygen ivtv0-osd warning: Need to adjust to width 720
src_w 720 dst_w 650 src_x 0 dst_x 35
Nov 13 14:28:17 oxygen ivtv0-osd warning: Need to adjust to height 480
src_h 480 dst_h 448 src_y 0 dst_y 16
Nov 13 14:28:17 oxygen ivtv0-osd warning: Source video: Interlaced
Nov 13 14:28:17 oxygen ivtv0 warning: Enable video output
Nov 13 14:30:41 oxygen ivtv0-osd warning: Need to adjust to width 528
src_w 528 dst_w 650 src_x 0 dst_x 35
Nov 13 14:30:41 oxygen ivtv0-osd warning: Need to adjust to height 480
src_h 480 dst_h 448 src_y 0 dst_y 16
Nov 13 14:30:41 oxygen ivtv0-osd warning: Source video: Interlaced
Nov 13 14:30:41 oxygen ivtv0 warning: Enable video output
Nov 13 14:32:22 oxygen ivtv1: All encoder MPEG stream buffers are full.
Dropping data.
Nov 13 14:32:22 oxygen ivtv1: Cause: the application is not reading fast
enough.
Nov 13 14:34:04 oxygen ivtv1: All encoder MPEG stream buffers are full.
Dropping data.
Nov 13 14:34:04 oxygen ivtv1: Cause: the application is not reading fast
enough.
Nov 13 14:37:24 oxygen ivtv1: All encoder MPEG stream buffers are full.
Dropping data.
Nov 13 14:37:24 oxygen ivtv1: Cause: the application is not reading fast
enough.
Nov 13 15:36:21 oxygen ivtv-enc: page allocation failure. order:4, mode:0xd0
Nov 13 15:36:21 oxygen [<c01467bc>] __alloc_pages+0x1e7/0x2bd
Nov 13 15:36:21 oxygen [<c0159a12>] kmem_getpages+0x2c/0x97
Nov 13 15:36:21 oxygen [<c015a68c>] cache_grow+0xac/0x153
Nov 13 15:36:21 oxygen [<c015a880>] cache_alloc_refill+0x14d/0x1d4
Nov 13 15:36:21 oxygen [<c015ac56>] __kmalloc+0x6f/0x7f
Nov 13 15:36:21 oxygen [<f4c86514>] ivtv_init_buffer+0x35/0x1b2 [ivtv]
Nov 13 15:36:21 oxygen [<f4c871d5>] enc_gather_free_buffers+0x1b9/0x205
[ivtv]
Nov 13 15:36:21 oxygen [<c011c4d9>] __wake_up+0x38/0x4e
Nov 13 15:36:21 oxygen [<f4c92c37>] ivtv_sched_DMA+0x43d/0x958 [ivtv]
Nov 13 15:36:21 oxygen [<c011c440>] default_wake_function+0x0/0xc
Nov 13 15:36:21 oxygen [<c011c440>] default_wake_function+0x0/0xc
Nov 13 15:36:21 oxygen [<c0104bb3>] do_IRQ+0x6b/0xb4
Nov 13 15:36:21 oxygen [<f4c9631e>] enc_work_handler+0x2d/0x2f [ivtv]
Nov 13 15:36:21 oxygen [<f4c97879>] ivtv_enc_thread+0x12f/0x1f1 [ivtv]
Nov 13 15:36:21 oxygen [<c0133716>] autoremove_wake_function+0x0/0x43
Nov 13 15:36:21 oxygen [<c0102a7a>] ret_from_fork+0x6/0x1c
Nov 13 15:36:21 oxygen [<c0133716>] autoremove_wake_function+0x0/0x43
Nov 13 15:36:21 oxygen [<f4c9774a>] ivtv_enc_thread+0x0/0x1f1 [ivtv]
Nov 13 15:36:21 oxygen [<c0101049>] kernel_thread_helper+0x5/0xb
Nov 13 15:36:21 oxygen Mem-info:
Nov 13 15:36:21 oxygen DMA per-cpu:
Nov 13 15:36:21 oxygen cpu 0 hot: high 0, batch 1 used:0
Nov 13 15:36:21 oxygen cpu 0 cold: high 0, batch 1 used:0
Nov 13 15:36:21 oxygen cpu 1 hot: high 0, batch 1 used:0
Nov 13 15:36:21 oxygen cpu 1 cold: high 0, batch 1 used:0
Nov 13 15:36:21 oxygen DMA32 per-cpu: empty
Nov 13 15:36:21 oxygen Normal per-cpu:
Nov 13 15:36:21 oxygen cpu 0 hot: high 186, batch 31 used:153
Nov 13 15:36:21 oxygen cpu 0 cold: high 62, batch 15 used:30
Nov 13 15:36:21 oxygen cpu 1 hot: high 186, batch 31 used:90
Nov 13 15:36:21 oxygen cpu 1 cold: high 62, batch 15 used:48
Nov 13 15:36:21 oxygen HighMem per-cpu: empty
Nov 13 15:36:21 oxygen Free pages:      108592kB (0kB HighMem)
Nov 13 15:36:21 oxygen Active:73727 inactive:29291 dirty:2985
writeback:250 unstable:0 free:27148 slab:74566 mapped:7280 pagetables:328
Nov 13 15:36:21 oxygen DMA free:3380kB min:68kB low:84kB high:100kB
active:4524kB inactive:0kB present:16384kB pages_scanned:129
all_unreclaimable? no
Nov 13 15:36:21 oxygen lowmem_reserve[]: 0 0 816 816
Nov 13 15:36:21 oxygen DMA32 free:0kB min:0kB low:0kB high:0kB
active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Nov 13 15:36:21 oxygen lowmem_reserve[]: 0 0 816 816
Nov 13 15:36:21 oxygen Normal free:105212kB min:3620kB low:4524kB
high:5428kB active:290384kB inactive:117164kB present:835584kB
pages_scanned:7 all_unreclaimable? no
Nov 13 15:36:21 oxygen lowmem_reserve[]: 0 0 0 0
Nov 13 15:36:21 oxygen HighMem free:0kB min:128kB low:128kB high:128kB
active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Nov 13 15:36:21 oxygen lowmem_reserve[]: 0 0 0 0
Nov 13 15:36:21 oxygen DMA: 169*4kB 52*8kB 9*16kB 17*32kB 1*64kB 0*128kB
0*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 3380kB
Nov 13 15:36:21 oxygen DMA32: empty
Nov 13 15:36:21 oxygen Normal: 17983*4kB 3784*8kB 158*16kB 7*32kB 0*64kB
0*128kB 1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 105212kB
Nov 13 15:36:21 oxygen HighMem: empty
Nov 13 15:36:21 oxygen Swap cache: add 4727, delete 4727, find
9675/10246, race 0+53
Nov 13 15:36:21 oxygen Free swap  = 1492992kB
Nov 13 15:36:21 oxygen Total swap = 1493976kB
Nov 13 15:36:21 oxygen Free swap:       1492992kB
Nov 13 15:36:21 oxygen 212992 pages of RAM
Nov 13 15:36:21 oxygen 0 pages of HIGHMEM
Nov 13 15:36:21 oxygen 3538 reserved pages
Nov 13 15:36:21 oxygen 28464 pages shared
Nov 13 15:36:21 oxygen 0 pages swap cached
Nov 13 15:36:21 oxygen 2960 pages dirty
Nov 13 15:36:21 oxygen 275 pages writeback
Nov 13 15:36:21 oxygen 7280 pages mapped
Nov 13 15:36:21 oxygen 74566 pages slab
Nov 13 15:36:21 oxygen 328 pages pagetables
Nov 13 15:36:21 oxygen ivtv0 warning: No memory on buffer alloc!
Nov 13 15:36:21 oxygen ivtv0 warning: Needed 20480 bufs for encoder MPEG
stream, received 0 (buffers free 0, dma 0, full 201)


_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to