From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758833AbcAMPNL (ORCPT ); Wed, 13 Jan 2016 10:13:11 -0500 Received: from mail.fireflyinternet.com ([87.106.93.118]:60808 "EHLO fireflyinternet.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752067AbcAMPNJ (ORCPT ); Wed, 13 Jan 2016 10:13:09 -0500 X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Date: Wed, 13 Jan 2016 15:12:55 +0000 From: Chris Wilson To: Geliang Tang Cc: Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH 1/5] drm/i915: use hlist_for_each_entry Message-ID: <20160113151255.GH3541@nuc-i3427.alporthouse.com> Mail-Followup-To: Chris Wilson , Geliang Tang , Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org References: <60dcf3fb69ec74bd57026ae434bd06514d699044.1452696179.git.geliangtang@163.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <60dcf3fb69ec74bd57026ae434bd06514d699044.1452696179.git.geliangtang@163.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 13, 2016 at 10:48:39PM +0800, Geliang Tang wrote: > Use hlist_for_each_entry() instead of hlist_for_each() to simplify > the code. > > Signed-off-by: Geliang Tang > --- > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > index 5d01ea6..8f194be 100644 > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > @@ -192,14 +192,10 @@ static struct i915_vma *eb_get_vma(struct eb_vmas *eb, unsigned long handle) > return NULL; > return eb->lut[handle]; > } else { > - struct hlist_head *head; > - struct hlist_node *node; > - > - head = &eb->buckets[handle & eb->and]; > - hlist_for_each(node, head) { > - struct i915_vma *vma; > + struct i915_vma *vma; > > - vma = hlist_entry(node, struct i915_vma, exec_node); > + hlist_for_each_entry(vma, &eb->buckets[handle & eb->and], > + exec_node) { Keep the head = &eb->buckets[handle & eb->and]; local assignment as it makes the line splitting neater (and iirc something like gcc -Os doesn't use the temporary assignment - but then who would use CONFIG_OPTIMIZE_FOR_SIZE!). -Chris -- Chris Wilson, Intel Open Source Technology Centre