One thing I just noticed, it's always the same pages in each buffer that is 
'lost' (in "find_next_packet"). If I printk some details, the 'lost' parts are 
always some multiple of 4k in size (with allowance for 188 byte packet).

printk("find_next_packet() lost %p %d-%d (%d)\n", buf, start, pos, lost);

and then formatting the output through sort -u to eliminate duplicates produces 
output like:

ffffc90002966000 0-24064 (24064)
ffffc90002987000 0-4136 (4136)
ffffc90002990000 0-4136 (4136)
ffffc90002990000 20492-24064 (3572)
ffffc90002999000 0-4136 (4136)
ffffc900029a2000 0-4136 (4136)
ffffc900029ab000 12408-20492 (8084)
ffffc900029b4000 4136-12408 (8272)
ffffc900029bd000 12408-20492 (8084)
ffffc900029c6000 0-4136 (4136)
ffffc900029c6000 20492-24064 (3572)
ffffc900029cf000 20492-24064 (3572)
ffffc900029d8000 16544-20492 (3948)
ffffc900029d8000 4136-12408 (8272)
ffffc900029ea000 0-4136 (4136)

so taking ffffc900029d8000 as an example, the second and third pages have no 
data in them, and neither does the fifth page. This happens every time 
ffffc900029d8000 is accessed.

So I'm guessing that the sg list hasn't been programmed correctly or 
something... does that sound right? I guess I'll print out the pfn's to see if 
there is a pattern there next...

James

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to