Messages in this thread | | | Date | Thu, 9 Jun 2005 23:42:31 -0700 | From | Andrew Morton <> | Subject | Re: Real-time problem due to IO congestion. |
| |
Takashi Ikebe <ikebe.takashi@lab.ntt.co.jp> wrote: > > There are 2 type processes in test environment. > 1. The real-time needed process (run on with high static priority) > The process wake up every 10ms, and wake up, write some log (the > test case is current CPU clock via tsc) to the file. > > 2. The process which make IO load > The process have large memory size, and kill the process with dumping. > The process's memory area exceeds 70% of whole physical > RAM.(Actually 1.5GB memory area while whole RAM is 2GB) > > Whenever during dumping, the real-time needed process sometimes stop for > long time during write system call. (sometimes exceeds 1000ms)
The writeback code does attempt to give some preference to realtime tasks (in get_dirty_limits()), but it can only work up to a point.
Frankly, your application is poorly designed. If you want sub-10ms responsiveness you shouldn't be doing disk I/O. The realtime task should hand the data off to a non-realtime task for writeout, with suitable amounts of buffering in between. - 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/
| |