Messages in this thread | | | From | "Huang\, Ying" <> | Subject | Re: [PATCH] GHES: Fix cached error-status | Date | Mon, 26 Oct 2015 11:20:35 +0800 |
| |
Hi, Tony,
"Luck, Tony" <tony.luck@intel.com> writes: >> ping? > > I'm not actually sure that the code is wrong. As you say it is a pretty strange loop. > > We seem to want to look at a bunch of conditions, and use "continue" to ignore > bits until we find one that we like the look of. Perhaps as soon as we do, we want > to believe it to get our return value? Perhaps the code knows that we won't find > another section that matches all the tests, so it isn't worth going around the loop > again. > > Ying: You wrote this code 4 years ago. Any recollections of why it looks like it does?
Sorry for late. I read the code again, and found the although the original code is a little tricky, it actually works.
In ghes_estatus_caches[], for caches with same contents, the cache with biggest (newest) cache->time_in should be the first. So if we found one cache with too small (old) cache->time_in, we can say there are no cache with same contents and bigger (newer) cache->time_in, so that we can make decision (break) earlier.
Best Regards, Huang, Ying
| |