[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081127.002015.221466656.davem@davemloft.net>
Date: Thu, 27 Nov 2008 00:20:15 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: mingo@...e.hu, rjw@...k.pl, linux-kernel@...r.kernel.org,
kernel-testers@...r.kernel.org, efault@....de,
a.p.zijlstra@...llo.nl, netdev@...r.kernel.org,
cl@...ux-foundation.org, hch@...radead.org
Subject: Re: [PATCH 2/6] fs: Introduce special dentries for pipes, socket,
anon fd
From: Eric Dumazet <dada1@...mosbay.com>
Date: Thu, 27 Nov 2008 00:31:40 +0100
> Sockets, pipes and anonymous fds have interesting properties.
...
> This patch defines a new DCACHE_SPECIAL flag, to mark a dentry as
> a special one (for sockets, pipes, anonymous fd), and a new
> d_alloc_special(const struct qstr *name, struct inode *inode)
> method, called by the three subsystems.
>
> Internally, dput() can take a fast path to dput_special() for
> special dentries, avoiding an expensive atomic_dec_and_lock()
>
> Differences betwen a special dentry and a normal one are :
>
> 1) Special dentry has the DCACHE_SPECIAL flag
> 2) Special dentry's parent are themselves.
> This to avoid taking a reference on 'root' dentry, shared
> by too many dentries.
> 3) They are not hashed into global hash table
> 4) Their d_alias list is empty
>
> (socket8 bench result : from 27.5s to 24s)
>
> Signed-off-by: Eric Dumazet <dada1@...mosbay.com>
Networking bits look fine:
Acked-by: David S. Miller <davem@...emloft.net>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists