Re: [PATCH v1 1/8] Deferred batching of dput()

From: Evgeniy Polyakov
Date: Sat Jan 17 2009 - 05:15:27 EST


Hi Mike.

On Fri, Jan 16, 2009 at 06:29:42PM -0800, Mike Waychison (mikew@xxxxxxxxxx) wrote:
> +static void postpone_dput(struct dentry *dentry)
> +{
> + struct postponed_dentries *ppd, *new_ppd;
> +
> +again:
> + ppd = get_cpu_var(postponed_dentries);
> + if (!pending_dput_full(ppd)) {
> + add_pending_dput(ppd, dentry);
> + put_cpu_var(postponed_dentries);
> + return;
> + }
> +
> + /* need to flush out existing pending dentries. */
> + put_cpu_var(postponed_dentries);
> + /* Allocate more space.. */
> + new_ppd = new_postponed_dentries();
> + if (!new_ppd) {
> + /* Take the slow path, memory is low */
> + struct postponed_dentries_onstack ppd_onstack;
> + struct postponed_dentries *ppd;
> +
> + ppd = init_ppd_onstack(&ppd_onstack);
> + add_pending_dput(ppd, dentry);
> + process_postponed_dentries(ppd);
> + return;
> + }

Why don't you want just to put the dentry in the lowmem condition?

--
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/