> > Increased size of allocation to reduce number of allocation per > bitmap. Before change the procedure ignored 'alloc_size' parameter > and always allocated memory chunk according to 'size' parameter. > As a result, first chunk could be up to 64K and all following are > limited by line size. For example, for bitmap 1280x1024 there was > more than 1008 chunks allocated, for bitmap 128x1024 - 897 chunks. > We change the procedure to use chunk size up to 64K (similar to first > chunk). This reduces in described examples number of allocation from > 1008 to 64 and 897 to 8 respectively. > > Signed-off-by: Yuri Benditovich <yuri.benditovich@xxxxxxxxxx> > --- > qxldod/QxlDod.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp > index 56a4cf2..94426dd 100755 > --- a/qxldod/QxlDod.cpp > +++ b/qxldod/QxlDod.cpp > @@ -4586,7 +4586,7 @@ BOOLEAN QxlDevice::PutBytesAlign(QXLDataChunk > **chunk_ptr, UINT8 **now_ptr, > UINT8 *now = *now_ptr; > UINT8 *end = *end_ptr; > size_t maxAllocSize = BITS_BUF_MAX - BITS_BUF_MAX % size; > - alloc_size = MIN(size, maxAllocSize); > + alloc_size = MIN(alloc_size, maxAllocSize); > DbgPrint(TRACE_LEVEL_VERBOSE, ("---> %s\n", __FUNCTION__)); > > while (size) { As far as I can see this fix a regression introduced in 9/12 so should be squashed together with 9/12. On the same subject. Why we need to split the allocations? Can't we try to allocate the whole image in one chunk and only if fails fall back to multiple chunks ? Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel