Paul Brook, le Mon 19 Nov 2007 16:17:26 +0000, a écrit : > On Monday 19 November 2007, Samuel Thibault wrote: > > Samuel Thibault, le Mon 19 Nov 2007 15:20:16 +0000, a écrit : > > > Qemu currently uses 6 65k tables of pointers for handling ioports, which > > > makes 3MB on 64bit machines. There's a comment that says "XXX: use a two > > > level table to limit memory usage". But wouldn't it be more simple and > > > effective to just allocate them through mmap() and when a NULL pointer > > > is read, call the default handlers? > > > > For the ioport_opaque array (500KB on 64bit), it's much simpler, as the > > attached patch suggests. > > AFAICS This makes absolutely no difference to memory usage.
Ah, sorry, in a unix environment it doesn't indeed. In an embedded environment or so which has to provide a fully allocated bss because it doesn't have cow support early enough, that makes a difference. Samuel