All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anton Altaparmakov <anton@tuxera.com>
To: Andrzej Hajda <a.hajda@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-ntfs-dev@lists.sourceforge.net" 
	<linux-ntfs-dev@lists.sourceforge.net>
Subject: Re: [PATCH 22/31] fs/ntfs: use kmemdup rather than duplicating its implementation
Date: Thu, 24 Sep 2015 10:22:04 +0100	[thread overview]
Message-ID: <17AD20CA-2436-481E-B048-46857710B759@tuxera.com> (raw)
In-Reply-To: <AB2004BE-4B4A-47B8-A21E-7D1F8787B4CA@tuxera.com>


> On 24 Sep 2015, at 10:20, Anton Altaparmakov <anton@tuxera.com> wrote:
> 
> Hi Andrzej,
> 
>> On 24 Sep 2015, at 09:34, Andrzej Hajda <a.hajda@samsung.com> wrote:
>> 
>> On 09/23/2015 12:21 PM, Anton Altaparmakov wrote:
>>> Hi Andrzej,
>>> 
>>> Thanks for your patch.  It looks fine though I don't quite see the point of it to be honest.
>>> 
>>> It actually adds an additional function call (kmemdup() is not inline) just to save 1 line of source code in the driver and I don't think it improves readability or anything so why bother?  What does it gain?
>> 
>> kmemdup replaces combo (kmalloc + memdup) with one call.
>> The patch follows quite common practice of abstracting out common patterns.
> 
> Sure it does I am just questioning the sanity of the practice...  (-;
> 
> Such changes reduce the size of the kernel binary by a few bytes at the cost of adding CPU cycles to the execution time.  How is that good thing?  Unless you are on an embedded system desperate for RAM throwing away CPU cycles on pointless abstractions makes no sense to me...
> 
> But as I said patch is fine.  Feel free to send it onto Andrew to get it into mainline.  You can add my Acked-by: Anton Altaparmakoc <anton@tuxera.com>

Altaparmakov even.  Can't even spell my own surname...  )-;

> line to it when sending it.  I am just saying that I think patches like that don't make much sense to me...
> 
> Best regards,
> 
> 	Anton
> 
>> Regards
>> Andrzej
>> 
>>> 
>>> Best regards,
>>> 
>>> 	Anton
>>> 
>>>> On 7 Aug 2015, at 08:59, Andrzej Hajda <a.hajda@samsung.com> wrote:
>>>> 
>>>> The patch was generated using fixed coccinelle semantic patch
>>>> scripts/coccinelle/api/memdup.cocci [1].
>>>> 
>>>> [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320
>>>> 
>>>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>>>> ---
>>>> fs/ntfs/dir.c | 7 +++----
>>>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>>> 
>>>> diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c
>>>> index 9e38daf..2b7fef0 100644
>>>> --- a/fs/ntfs/dir.c
>>>> +++ b/fs/ntfs/dir.c
>>>> @@ -1172,14 +1172,13 @@ static int ntfs_readdir(struct file *file, struct dir_context *actor)
>>>> 	 * map the mft record without deadlocking.
>>>> 	 */
>>>> 	rc = le32_to_cpu(ctx->attr->data.resident.value_length);
>>>> -	ir = kmalloc(rc, GFP_NOFS);
>>>> +	/* Copy the index root value (it has been verified in read_inode). */
>>>> +	ir = kmemdup((u8 *)ctx->attr + le16_to_cpu(ctx->attr->data.resident.value_offset),
>>>> +		     rc, GFP_NOFS);
>>>> 	if (unlikely(!ir)) {
>>>> 		err = -ENOMEM;
>>>> 		goto err_out;
>>>> 	}
>>>> -	/* Copy the index root value (it has been verified in read_inode). */
>>>> -	memcpy(ir, (u8*)ctx->attr +
>>>> -			le16_to_cpu(ctx->attr->data.resident.value_offset), rc);
>>>> 	ntfs_attr_put_search_ctx(ctx);
>>>> 	unmap_mft_record(ndir);
>>>> 	ctx = NULL;
>>>> -- 
>>>> 1.9.1
> 
> -- 
> Anton Altaparmakov <anton at tuxera.com> (replace at with @)
> Lead in File System Development, Tuxera Inc., http://www.tuxera.com/
> Linux NTFS maintainer

Best regards,

	Anton
-- 
Anton Altaparmakov <anton at tuxera.com> (replace at with @)
Lead in File System Development, Tuxera Inc., http://www.tuxera.com/
Linux NTFS maintainer


  reply	other threads:[~2015-09-24  9:22 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07  7:59 [PATCH 00/31] use kmemdup rather than duplicating its implementation Andrzej Hajda
2015-08-07  7:59 ` [PATCH 01/31] arch/arm/mach-lpc32xx: " Andrzej Hajda
2015-08-07  7:59   ` Andrzej Hajda
2015-09-16  9:52   ` Andrzej Hajda
2015-09-16  9:52     ` Andrzej Hajda
2015-09-16 10:06     ` Arnd Bergmann
2015-09-16 10:06       ` Arnd Bergmann
2015-08-07  7:59 ` [PATCH 02/31] arch/ia64/tioce: " Andrzej Hajda
2015-08-07  7:59   ` Andrzej Hajda
2015-09-16  9:53   ` Andrzej Hajda
2015-09-16  9:53     ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 03/31] arch/m68k/bootinfo: " Andrzej Hajda
2015-08-07  7:59 ` Andrzej Hajda
2015-08-07 10:23   ` Geert Uytterhoeven
2015-08-07 10:23     ` Geert Uytterhoeven
2015-08-07  7:59 ` [PATCH 04/31] arch/mips/bcm47xx: " Andrzej Hajda
2015-08-09 20:14   ` Hauke Mehrtens
2015-08-07  7:59 ` [PATCH 05/31] arch/powerpc/nvram: " Andrzej Hajda
2015-08-07 19:46   ` Nathan Fontenot
2015-08-19 23:14   ` [05/31] " Michael Ellerman
2015-08-07  7:59 ` [PATCH 06/31] arch/powerpc/pseries: " Andrzej Hajda
2015-08-07 19:46   ` Nathan Fontenot
2015-08-19 23:14   ` [06/31] " Michael Ellerman
2015-08-07  7:59 ` [PATCH 07/31] arch/x86/microcode: " Andrzej Hajda
2015-08-07 16:30   ` Borislav Petkov
2015-08-07  7:59 ` [PATCH 08/31] arch/x86/intel-mid: " Andrzej Hajda
2015-09-16  9:54   ` Andrzej Hajda
2015-09-17 21:42   ` [tip:x86/platform] arch/x86/intel-mid: Use " tip-bot for Andrzej Hajda
2015-08-07  7:59 ` [PATCH 09/31] crypto: use " Andrzej Hajda
2015-08-07  8:05   ` Herbert Xu
2015-08-07  7:59 ` [PATCH 10/31] clk/mmp: " Andrzej Hajda
2015-08-07 22:17   ` Stephen Boyd
2015-08-07  7:59 ` [PATCH 11/31] cpufreq/sfi: " Andrzej Hajda
2015-08-07  8:58   ` Viresh Kumar
2015-08-07  7:59 ` [PATCH 12/31] drm/amdgpu: " Andrzej Hajda
2015-08-07  7:59   ` Andrzej Hajda
2015-09-16  9:56   ` Andrzej Hajda
2015-09-16  9:56     ` Andrzej Hajda
2015-09-16 16:21     ` Christian König
2015-09-16 16:21       ` Christian König
2015-09-21 21:36       ` Alex Deucher
2015-09-21 21:36         ` Alex Deucher
2015-08-07  7:59 ` [PATCH 13/31] memstick: " Andrzej Hajda
2015-09-16  9:57   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 14/31] message/fusion: " Andrzej Hajda
2015-09-16 10:01   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 15/31] misc/vmw_vmci: " Andrzej Hajda
2015-09-16 10:01   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 16/31] net/cavium/liquidio: " Andrzej Hajda
2015-08-07  7:59   ` Andrzej Hajda
2015-08-07  7:59   ` Andrzej Hajda
2015-09-16 10:02   ` Andrzej Hajda
2015-09-16 10:02     ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 17/31] scsi/aacraid: " Andrzej Hajda
2015-09-16 10:02   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 18/31] scsi/aic7xxx: " Andrzej Hajda
2015-09-16 10:02   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 19/31] staging/lustre: " Andrzej Hajda
2015-08-07  7:59 ` [PATCH 20/31] fs/cifs: " Andrzej Hajda
2015-09-16 10:03   ` Andrzej Hajda
     [not found]   ` <1438934377-4922-21-git-send-email-a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-09-17  5:00     ` Steve French
2015-09-17  5:00       ` Steve French
2015-08-07  7:59 ` [PATCH 21/31] fs/dlm: " Andrzej Hajda
2015-08-07  7:59   ` [Cluster-devel] " Andrzej Hajda
2015-09-16 10:03   ` Andrzej Hajda
2015-09-16 10:03     ` [Cluster-devel] " Andrzej Hajda
2015-08-07  7:59 ` [PATCH 22/31] fs/ntfs: " Andrzej Hajda
2015-09-16 10:04   ` Andrzej Hajda
2015-09-23 10:21   ` Anton Altaparmakov
2015-09-24  8:34     ` Andrzej Hajda
     [not found]     ` <fc4b273eb58a4c33b4e80270a7fd06b1@nebula-exfe-01.nebula.local>
2015-09-24  9:20       ` Anton Altaparmakov
2015-09-24  9:22         ` Anton Altaparmakov [this message]
2015-08-07  7:59 ` [PATCH 23/31] fs/ocfs2: " Andrzej Hajda
2015-08-07  7:59   ` [Ocfs2-devel] " Andrzej Hajda
2015-09-16 10:04   ` Andrzej Hajda
2015-09-16 10:04     ` [Ocfs2-devel] " Andrzej Hajda
2015-08-07  7:59 ` [PATCH 24/31] fs/omfs: " Andrzej Hajda
2015-08-07 12:22   ` Bob Copeland
2015-09-16 10:05   ` Andrzej Hajda
2015-08-07  7:59 ` [PATCH 25/31] fs/ubifs: " Andrzej Hajda
2015-08-08  9:12   ` Richard Weinberger
2015-08-10  8:16   ` Artem Bityutskiy
2015-08-07  7:59 ` [PATCH 26/31] net/sched: " Andrzej Hajda
2015-08-07 10:35   ` Daniel Borkmann
2015-08-07  7:59 ` [PATCH 27/31] net/tipc: " Andrzej Hajda
2015-09-16 10:07   ` Andrzej Hajda
2015-09-17  9:58     ` Jon Maloy
2015-09-17  1:19   ` Ying Xue
2015-08-07  7:59 ` [PATCH 28/31] net/xfrm: " Andrzej Hajda
2015-08-12 10:25   ` Steffen Klassert
2015-08-07  7:59 ` [PATCH 29/31] sound/oxfw: " Andrzej Hajda
2015-08-07 12:52   ` [alsa-devel] " Takashi Iwai
2015-08-07  7:59 ` [PATCH 30/31] sound/atom: " Andrzej Hajda
2015-08-07 12:29   ` Mark Brown
2015-08-07 12:30   ` Applied "ASoC: intel: use kmemdup rather than duplicating its implementation" to the asoc tree Mark Brown
2015-08-07  7:59 ` [PATCH 31/31] sound/soc: use kmemdup rather than duplicating its implementation Andrzej Hajda
2015-08-07 12:30   ` Applied "ASoC: topology: use kmemdup rather than duplicating its implementation" to the asoc tree Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=17AD20CA-2436-481E-B048-46857710B759@tuxera.com \
    --to=anton@tuxera.com \
    --cc=a.hajda@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-ntfs-dev@lists.sourceforge.net \
    --cc=m.szyprowski@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.