Re: Memory allocation in Video4Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Wen,

Em 09-02-2011 04:23, Wang, Wen W escreveu:
> Hi,
> 
> We are developing the image processor driver for Intel Medfield platform. 
> 
> We have received some comments on memory management that we should use standard Linux kernel interfaces for this, since we are doing everything by ourselves including memory allocation (based on pages), page table management, virtual address management and etc.
> 
> So can you please help give some advice or suggestion on using standard kernel interface for memory management?
> 
> The processor has a MMU on-chip with same virtual address range as IA. The processor will access system memory (read and write) through MMU and page table. The memory consumption of the driver could be quite big especially for high resolution (14MP) with certain features turned on. 
> For example: advanced ISP with XNR and yuv444 output, at 14MP this uses:
> 	1 RAW16: 2*14 = 28MB
> 	1 qplane6: 6/4 * 14 = 21MB
> 	1 yuv420_16: 2 * 1.5 * 14 = 42MB
> 	1 yuv420: 1.5 * 14 = 21MB
> 	1 yuv444: 3 * 14 = 42MB
> 	total: 154MB.

You should take a look at the videobuf2 for buffer management. It is flexible
enough to be used on embedded hardware, as it splits the memory management
on a separate module. In particular, the CMA allocator was designed to handle
memory management on complex designs. You'll find extensive discussions about
CMA and videobuf2 in the ML. The videobuf2 is already at linux-next and will
be available for 2.6.39. Not sure about the status of the CMA allocator, as
the patches are handled via another upstream tree.

I hope that helps.

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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux