Mailinglist Archive: packet-writing (32 mails)

< Previous Next >
Re: multitasking
  • From: Jens Axboe <axboe@xxxxxxx>
  • Date: Thu, 29 May 2003 19:25:39 +0000 (UTC)
  • Message-id: <20030529192542.GY845@xxxxxxx>
On Thu, May 29 2003, Peter Osterlund wrote:
> On Tue, 27 May 2003, Sergiy Kudryk wrote:
>
> > I have a problem with temporary system locking when performing
> > packet writing using pktcdvd with filled buffer ..
> >
> > Utility top shows low pktcdvd CPU/memory utilize ..
> >
> > What's up ?
>
> This old explanation is still valid, I think:
>
> http://lists.suse.com/archive/packet-writing/2002-Jul/0046.html
>
> "The ext2 filesystem doesn't have this property. It adds files at
> full speed without reading anything from the disk, until all your
> memory fills up with dirty data. When this happens the system
> becomes very unresponsive (as in mouse pointer in X freezes for
> minutes), because every process that tries to allocate memory is
> put to sleep.
>
> So the performance problem in the udf filesystem is hiding another
> problem in the virtual memory subsystem. The VM should only allow
> a fraction of the total RAM to be used for dirty data belonging to
> a slow block device."
>
> I'm not sure if 2.5 handles this better than 2.4.

2.5 handles it much better. There's more to the problem than what is
described above. Basically in 2.4 we have a single dirty buffer list, so
if we get stuck writing out 150MB to a cd-rw device, it's impossible to
free other memory. Only much much later will we make some progress.

2.5 has several flusher threads, and a per-mapping dirty page list. Even
a modest machine can keep many spindles going full throttle with ease.

--
Jens Axboe


< Previous Next >