[<prev] [next>] [day] [month] [year] [list]
Message-ID: <129600E5E5FB004392DDC3FB599660D7ACC13C6D@irsmsx504.ger.corp.intel.com>
Date: Fri, 29 May 2009 14:41:46 +0100
From: "Sosnowski, Maciej" <maciej.sosnowski@...el.com>
To: "Williams, Dan J" <dan.j.williams@...el.com>
CC: "neilb@...e.de" <neilb@...e.de>,
"linux-raid@...r.kernel.org" <linux-raid@...r.kernel.org>,
"maan@...temlinux.org" <maan@...temlinux.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"yur@...raft.com" <yur@...raft.com>,
"hpa@...or.com" <hpa@...or.com>
Subject: RE: [PATCH v2 03/11] async_tx: structify submission arguments, add
scribble
Dan Williams wrote:
> Prepare the api for the arrival of a new parameter, 'scribble'. This
> will allow callers to identify scratchpad memory for dma address or page
> address conversions. As this adds yet another parameter, take this
> opportunity to convert the common submission parameters (flags,
> dependency, callback, and callback argument) into an object that is
> passed by reference.
>
> [ Impact: moves api pass-by-value parameters to a pass-by-reference struct ]
>
> Signed-off-by: Dan Williams <dan.j.williams@...el.com>
> ---
> crypto/async_tx/async_memcpy.c | 21 ++++-----
> crypto/async_tx/async_memset.c | 23 ++++------
> crypto/async_tx/async_tx.c | 34 +++++++--------
> crypto/async_tx/async_xor.c | 93 +++++++++++++++++-----------------------
> drivers/md/raid5.c | 59 +++++++++++++++----------
> include/linux/async_tx.h | 84 +++++++++++++++++++++++-------------
> 6 files changed, 161 insertions(+), 153 deletions(-)
(...)
> @@ -811,13 +818,11 @@ ops_run_postxor(struct stripe_head *sh, struct
> dma_async_tx_descriptor *tx)
>
> atomic_inc(&sh->count);
>
> - if (unlikely(count == 1)) {
> - flags &= ~(ASYNC_TX_XOR_DROP_DST | ASYNC_TX_XOR_ZERO_DST);
> - tx = async_memcpy(xor_dest, xor_srcs[0], 0, 0, STRIPE_SIZE,
> - flags, tx, ops_complete_postxor, sh);
> - } else
> - tx = async_xor(xor_dest, xor_srcs, 0, count, STRIPE_SIZE,
> - flags, tx, ops_complete_postxor, sh);
> + init_async_submit(&submit, flags, tx, ops_complete_postxor, sh, NULL);
> + if (unlikely(count == 1))
> + tx = async_memcpy(xor_dest, xor_srcs[0], 0, 0, STRIPE_SIZE, &submit);
> + else
> + tx = async_xor(xor_dest, xor_srcs, 0, count, STRIPE_SIZE, &submit);
> }
What about ASYNC_TX_XOR_DROP_DST and ASYNC_TX_XOR_ZERO_DST flags clearing before async_memcpy?
Maciej--
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