* [PATCH] [AIO] remove unused aio_run_iocbs()
@ 2006-07-31 22:12 Zach Brown
2006-08-01 7:27 ` Suparna Bhattacharya
0 siblings, 1 reply; 4+ messages in thread
From: Zach Brown @ 2006-07-31 22:12 UTC (permalink / raw)
To: linux-aio, linux-kernel; +Cc: Benjamin LaHaise, Andrew Morton
[AIO] remove unused aio_run_iocbs()
Nothing is calling the aio_run_iocbs() variant of *aio_run_*iocb*(). Let's try
and make life just a little less complicated by getting rid of it.
Signed-off-by: Zach Brown <zach.brown@oracle.com>
---
fs/aio.c | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
Index: 2.6.18-rc3-trivialaio/fs/aio.c
===================================================================
--- 2.6.18-rc3-trivialaio.orig/fs/aio.c
+++ 2.6.18-rc3-trivialaio/fs/aio.c
@@ -814,30 +814,13 @@ static void aio_queue_work(struct kioctx
queue_delayed_work(aio_wq, &ctx->wq, timeout);
}
-
/*
- * aio_run_iocbs:
+ * aio_run_all_iocbs:
* Process all pending retries queued on the ioctx
- * run list.
+ * run list. It will retry until the list stays empty.
* Assumes it is operating within the aio issuer's mm
* context.
*/
-static inline void aio_run_iocbs(struct kioctx *ctx)
-{
- int requeue;
-
- spin_lock_irq(&ctx->ctx_lock);
-
- requeue = __aio_run_iocbs(ctx);
- spin_unlock_irq(&ctx->ctx_lock);
- if (requeue)
- aio_queue_work(ctx);
-}
-
-/*
- * just like aio_run_iocbs, but keeps running them until
- * the list stays empty
- */
static inline void aio_run_all_iocbs(struct kioctx *ctx)
{
spin_lock_irq(&ctx->ctx_lock);
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [AIO] remove unused aio_run_iocbs()
2006-07-31 22:12 [PATCH] [AIO] remove unused aio_run_iocbs() Zach Brown
@ 2006-08-01 7:27 ` Suparna Bhattacharya
2006-08-01 16:14 ` Zach Brown
0 siblings, 1 reply; 4+ messages in thread
From: Suparna Bhattacharya @ 2006-08-01 7:27 UTC (permalink / raw)
To: Zach Brown
Cc: linux-aio, linux-kernel, Benjamin LaHaise, Andrew Morton, mason
On Mon, Jul 31, 2006 at 03:12:29PM -0700, Zach Brown wrote:
> [AIO] remove unused aio_run_iocbs()
>
> Nothing is calling the aio_run_iocbs() variant of *aio_run_*iocb*(). Let's try
> and make life just a little less complicated by getting rid of it.
Chris Mason's aio pipe patches used these to reduce the large
number of context switches he was observing when running pipetest.
Of course aio pipe support hasn't been merged into mainline so far, and hence
you could argue that we put these back in if/when we hit that problem. But why
not just put in a comment there for now to ease the confusion ... generally
I'd rather go a little slow in removing apparently unused code at this
point when we are churning things up again.
Regards
Suparna
>
> Signed-off-by: Zach Brown <zach.brown@oracle.com>
> ---
>
> fs/aio.c | 21 ++-------------------
> 1 file changed, 2 insertions(+), 19 deletions(-)
>
> Index: 2.6.18-rc3-trivialaio/fs/aio.c
> ===================================================================
> --- 2.6.18-rc3-trivialaio.orig/fs/aio.c
> +++ 2.6.18-rc3-trivialaio/fs/aio.c
> @@ -814,30 +814,13 @@ static void aio_queue_work(struct kioctx
> queue_delayed_work(aio_wq, &ctx->wq, timeout);
> }
>
> -
> /*
> - * aio_run_iocbs:
> + * aio_run_all_iocbs:
> * Process all pending retries queued on the ioctx
> - * run list.
> + * run list. It will retry until the list stays empty.
> * Assumes it is operating within the aio issuer's mm
> * context.
> */
> -static inline void aio_run_iocbs(struct kioctx *ctx)
> -{
> - int requeue;
> -
> - spin_lock_irq(&ctx->ctx_lock);
> -
> - requeue = __aio_run_iocbs(ctx);
> - spin_unlock_irq(&ctx->ctx_lock);
> - if (requeue)
> - aio_queue_work(ctx);
> -}
> -
> -/*
> - * just like aio_run_iocbs, but keeps running them until
> - * the list stays empty
> - */
> static inline void aio_run_all_iocbs(struct kioctx *ctx)
> {
> spin_lock_irq(&ctx->ctx_lock);
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-aio' in
> the body to majordomo@kvack.org. For more info on Linux AIO,
> see: http://www.kvack.org/aio/
> Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
--
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Lab, India
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [AIO] remove unused aio_run_iocbs()
2006-08-01 7:27 ` Suparna Bhattacharya
@ 2006-08-01 16:14 ` Zach Brown
2006-08-02 8:09 ` Suparna Bhattacharya
0 siblings, 1 reply; 4+ messages in thread
From: Zach Brown @ 2006-08-01 16:14 UTC (permalink / raw)
To: suparna; +Cc: linux-aio, linux-kernel, Benjamin LaHaise, Andrew Morton, mason
> Chris Mason's aio pipe patches used these to reduce the large
> number of context switches he was observing when running pipetest.
> Of course aio pipe support hasn't been merged into mainline so far, and hence
> you could argue that we put these back in if/when we hit that problem.
Yeah, and that's trivial.
> But why
> not just put in a comment there for now to ease the confusion ... generally
> I'd rather go a little slow in removing apparently unused code at this
> point when we are churning things up again.
The only thing slower than not removing it after *years* of not being
used would be to never remove it :)
So I don't see any value in keeping it, but I won't make a fight of it
either.
- z
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [AIO] remove unused aio_run_iocbs()
2006-08-01 16:14 ` Zach Brown
@ 2006-08-02 8:09 ` Suparna Bhattacharya
0 siblings, 0 replies; 4+ messages in thread
From: Suparna Bhattacharya @ 2006-08-02 8:09 UTC (permalink / raw)
To: Zach Brown
Cc: linux-aio, linux-kernel, Benjamin LaHaise, Andrew Morton, mason
On Tue, Aug 01, 2006 at 09:14:19AM -0700, Zach Brown wrote:
> > Chris Mason's aio pipe patches used these to reduce the large
> > number of context switches he was observing when running pipetest.
> > Of course aio pipe support hasn't been merged into mainline so far, and hence
> > you could argue that we put these back in if/when we hit that problem.
>
> Yeah, and that's trivial.
>
> > But why
> > not just put in a comment there for now to ease the confusion ... generally
> > I'd rather go a little slow in removing apparently unused code at this
> > point when we are churning things up again.
>
> The only thing slower than not removing it after *years* of not being
> used would be to never remove it :)
By slow, I meant having enough time between posting the RFC/patch and
its getting included in -mm or mainline. The AIO core code is tricky and
subtle in parts, so it is better to err on the side of caution during such
cleanups, at least give ourselves time to remember why something was there
in the first place. Especially now that there are several out-of-tree patches
under re-consideration.
>
> So I don't see any value in keeping it, but I won't make a fight of it
> either.
Its not a big deal either way in this particular case - possibly only
some redundant work eventually. And I think its already in -mm anyway.
I'm just raising the flag about the need to be very careful about cleanups
in this part of the code in general. Under such circumstances, I would
tend to look at it from the angle of "Is there a value in removing it ?"
rather than the other way around.
Regards
Suparna
>
> - z
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-aio' in
> the body to majordomo@kvack.org. For more info on Linux AIO,
> see: http://www.kvack.org/aio/
> Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
--
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Lab, India
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-08-02 8:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-31 22:12 [PATCH] [AIO] remove unused aio_run_iocbs() Zach Brown
2006-08-01 7:27 ` Suparna Bhattacharya
2006-08-01 16:14 ` Zach Brown
2006-08-02 8:09 ` Suparna Bhattacharya
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox