On Tue 28-11-17 17:19:10, jiang.biao2@xxxxxxxxxx wrote: > > On Tue 28-11-17 09:49:45, Jiang Biao wrote:> > 1. Use unlikely to try to improve branch prediction. The > > > *total_scan < 0* branch is unlikely to reach, so use unlikely. > > > > > > 2. Optimize *next_deferred >= scanned* condition. > > > *next_deferred >= scanned* condition could be optimized into > > > *next_deferred > scanned*, because when *next_deferred == scanned*, > > > next_deferred shoud be 0, which is covered by the else branch. > > > > > > 3. Merge two branch blocks into one. The *next_deferred > 0* branch > > > could be merged into *next_deferred > scanned* to simplify the code. > > > > How have you measured benefit of this patch? > No accurate measurement for now. > Theoretically, unlikely could improve branch prediction for unlikely branch. Yes, except that this is a slow path and I suspect that branch prediction has minimal if at all. > It's hard to measure the benefit of 2 and 3, any idea to do that enlightened > would be greatly appreciated. :) But it could simply code logic from coding > perspective。 Well, in general I wouldn't touch the code without a clear benefit. Theoretical but unmeasurable changes would require a bigger benefit. I am not saying it is wrong at all but I am not conviced your patch is really worth merging. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>