Messages in this thread | | | From | Badari Pulavarty <> | Subject | Re: [RFC] [PATCH] 2.5.35 patch for making DIO async--performance numbers | Date | Thu, 19 Sep 2002 14:19:58 -0700 (PDT) |
| |
Andrew,
> > Thanks. Note that the old code (which seems to be a tiny bit faster, > and used less CPU as well) has a significantly higher context switch > rate. At a guess I'd say that it is more efficient at getting userspace > up and running in response to IO completion. >
I my patch, I removed bio_list. So, I do all the processing of "bio" in end_io() function, instead of postpone it to waiter. Do you think this matters ?
> I'd say it's only likely to affect these huge linear IOs. Once you get > into real workloads which are seeking and merging then a bit of latency > here or there would just be soaked up by other system activity. > > Ah. The current direct-io.c uses wake_up_process(), not waitqueues. > So the aio version has to wear the waitqueue cost. If you're using the > -mm patch I'd suggest that you convert aio.c to prepare_to_wait/finish_wait. > The waitqueue/wakeup costs on your 8-ways seem to be very high.
Ok !! I still use wake_up_process() for the sync case. I will try to use waitqueues and see.
Thanks, Badari - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |