Re: [PATCH] cpu: break out when a right cpuCandidate found

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

 



On Thu, Feb 13, 2014 at 07:44:20 +0000, Wangyufei (James) wrote:
> >From 8123c5d64f940fa0fb0de32fc5e68035980b6b01 Mon Sep 17 00:00:00 2001
> From: WangYufei <james.wangyufei@xxxxxxxxxx>
> Date: Thu, 13 Feb 2014 07:17:11 +0000
> Subject: [PATCH] cpu: break out when a right cpuCandidate found
> 
> In function x86Decode there's a code segment in while cycle like this:
>         if (cpuModel == NULL
>             || cpuModel->nfeatures > cpuCandidate->nfeatures) {
>             virCPUDefFree(cpuModel);
>             cpuModel = cpuCandidate;
>             cpuData = candidate->data;
>         } else {
>             virCPUDefFree(cpuCandidate);
>         }
> when it finds the right cpuCandidate, it doesn't break out the cycle, but continues
> run in it, and cpuModel will never get a new value, it's meaningless. It should
> break out when a right cpuCndidate found.

That's mainly because we don't know we already have the right candidate.
The next one may actually be better. On other words, the cpuCandidate we
get in later iterations may satisfy the

    cpuModel->nfeatures > cpuCandidate->nfeatures

and thus it may be better than cpuModel stored in earlier iterations.

What are you trying to fix here? Are you just trying to optimize the
code or do you see a wrong CPU model to be selected in some situations?

Jirka

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]