Re: Real-time problem due to IO congestion.

From: Takashi Ikebe
Date: Fri Jun 10 2005 - 02:21:38 EST



I see.
The program which I tested is just sample, and I wanted to know the phenomena is spec or bug.
I also understand that this problem is spec, and need to apply some buffering to such applications.

Thank you.

Andrew Morton wrote:
Takashi Ikebe <ikebe.takashi@xxxxxxxxxxxxx> 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.

--
Takashi Ikebe
-
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/