* Question about memory pressure freezes
@ 2007-07-26 22:25 Zan Lynx
2007-07-27 14:54 ` Edward Shishkin
[not found] ` <6ec7a4340707261840r34a68951s26a2691778c3ca15@mail.gmail.com>
0 siblings, 2 replies; 5+ messages in thread
From: Zan Lynx @ 2007-07-26 22:25 UTC (permalink / raw)
To: ReiserFS Mailing List
[-- Attachment #1: Type: text/plain, Size: 787 bytes --]
I have often experienced nearly full system freezes for up to five
seconds at a time while memory is being flushed to disk.
I'm not sure if this is a general Linux problem or a Reiser4 problem, so
I thought I'd ask.
A sysrq-T during the freeze shows many processes trying to acquire a
memory page, and Reiser4 flushing atoms and doing sync things.
My working theory right now is that Reiser4 spends time flushing a lot
of data at once before returning.
If I am right about that, would it not make more sense to flush a few
pages, return to the kernel, flush a few more pages, return to the
kernel, etc, etc? That way programs could get a bit of RAM and make
some progress.
Of course I could be completely off about what's going on.
--
Zan Lynx <zlynx@acm.org>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: Question about memory pressure freezes 2007-07-26 22:25 Question about memory pressure freezes Zan Lynx @ 2007-07-27 14:54 ` Edward Shishkin [not found] ` <6ec7a4340707261840r34a68951s26a2691778c3ca15@mail.gmail.com> 1 sibling, 0 replies; 5+ messages in thread From: Edward Shishkin @ 2007-07-27 14:54 UTC (permalink / raw) To: Zan Lynx; +Cc: ReiserFS Mailing List Zan Lynx wrote: >I have often experienced nearly full system freezes for up to five >seconds at a time while memory is being flushed to disk. > >I'm not sure if this is a general Linux problem or a Reiser4 problem, so >I thought I'd ask. > > > I wouldn't separate the only one of them to blame ;) >A sysrq-T during the freeze shows many processes trying to acquire a >memory page, and Reiser4 flushing atoms and doing sync things. > > yup, and all processes (including interactive ones) wait for reiser4_writepage completion.. This takes place for mapped writes, which can not balance dirty pages like usual writes.. >My working theory right now is that Reiser4 spends time flushing a lot >of data at once before returning. > > right, there was a lightweight reaction on memory pressure notification (emergency flush) a long time ago, but Hans couldn't live with such "swapping" mechanism. Also the emergency flush itself had some problems. >If I am right about that, would it not make more sense to flush a few >pages, return to the kernel, flush a few more pages, return to the >kernel, etc, etc? That way programs could get a bit of RAM and make >some progress. > > I have spent 1-2 days of moving in this direction: no progress. I wouldn't say that this is ultimately wrong way: just requires more time to investigate.. >Of course I could be completely off about what's going on. > > ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <6ec7a4340707261840r34a68951s26a2691778c3ca15@mail.gmail.com>]
[parent not found: <1185557881.8434.6.camel@localhost>]
* Re: Question about memory pressure freezes [not found] ` <1185557881.8434.6.camel@localhost> @ 2007-07-28 1:52 ` Xu CanHao 2007-07-28 21:36 ` Edward Shishkin 0 siblings, 1 reply; 5+ messages in thread From: Xu CanHao @ 2007-07-28 1:52 UTC (permalink / raw) To: Zan Lynx, Edward Shishkin, reiserfs-devel Hello! Since the default atom_max_size is RAM/4, that means 256MB of maximum atom in your computer, and your HDD does 30MB/s which means you'll have 8s-9s "flush/system freeze" time. IIRC, edward said the atom_max_size mount option is useless, so I'd suggest you modify your reiser4/init_super.c and change: sbinfo->tmgr.atom_max_size = totalram_pages / 4; to sbinfo->tmgr.atom_max_size = totalram_pages / 16; which means your atom would have a maximum size of 64MB and a maximum freeze time of only 2 seconds. Thanks! 2007/7/28, Zan Lynx <zlynx@acm.org>: > Edward answered my question mostly. > > But, I have 1 GB RAM and a Hitachi 7,200 RPM laptop drive. It does > about 30 MB/s. > > On Fri, 2007-07-27 at 09:40 +0800, Xu CanHao wrote: > > Hello! > > > > How much is your RAM? > > What is the result of your HDD's hdparm -t? > > > > Thanks! > > > > 2007/7/27, Zan Lynx <zlynx@acm.org>: > > > I have often experienced nearly full system freezes for up to five > > > seconds at a time while memory is being flushed to disk. > > > > > > I'm not sure if this is a general Linux problem or a Reiser4 problem, so > > > I thought I'd ask. > > > > > > A sysrq-T during the freeze shows many processes trying to acquire a > > > memory page, and Reiser4 flushing atoms and doing sync things. > > > > > > My working theory right now is that Reiser4 spends time flushing a lot > > > of data at once before returning. > > > > > > If I am right about that, would it not make more sense to flush a few > > > pages, return to the kernel, flush a few more pages, return to the > > > kernel, etc, etc? That way programs could get a bit of RAM and make > > > some progress. > > > > > > Of course I could be completely off about what's going on. > > > -- > > > Zan Lynx <zlynx@acm.org> > > > > > > > -- > Zan Lynx <zlynx@acm.org> > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Question about memory pressure freezes 2007-07-28 1:52 ` Xu CanHao @ 2007-07-28 21:36 ` Edward Shishkin 2007-07-29 3:11 ` Xu CanHao 0 siblings, 1 reply; 5+ messages in thread From: Edward Shishkin @ 2007-07-28 21:36 UTC (permalink / raw) To: Xu CanHao; +Cc: Zan Lynx, reiserfs-devel Xu CanHao wrote: >Hello! > > Since the default atom_max_size is RAM/4, that means 256MB of >maximum atom in your computer, and your HDD does 30MB/s which means >you'll have 8s-9s "flush/system freeze" time. > > IIRC, edward said the atom_max_size mount option is useless, > It is useless for remount, in other cases it works fine (for root file system it makes sense to edit fstab). So you can pass the option "tmgr.atom_max_size=N", where N is atom size in blocks > so >I'd suggest you modify your reiser4/init_super.c and change: > sbinfo->tmgr.atom_max_size = totalram_pages / 4; >to > sbinfo->tmgr.atom_max_size = totalram_pages / 16; >which means your atom would have a maximum size of 64MB and a maximum >freeze time of only 2 seconds. > > Such nice linear dependency disappears with some workload, so freeze time is not comforting also for small atoms.. >Thanks! > > >2007/7/28, Zan Lynx <zlynx@acm.org>: > > >>Edward answered my question mostly. >> >>But, I have 1 GB RAM and a Hitachi 7,200 RPM laptop drive. It does >>about 30 MB/s. >> >>On Fri, 2007-07-27 at 09:40 +0800, Xu CanHao wrote: >> >> >>>Hello! >>> >>> How much is your RAM? >>> What is the result of your HDD's hdparm -t? >>> >>>Thanks! >>> >>>2007/7/27, Zan Lynx <zlynx@acm.org>: >>> >>> >>>>I have often experienced nearly full system freezes for up to five >>>>seconds at a time while memory is being flushed to disk. >>>> >>>>I'm not sure if this is a general Linux problem or a Reiser4 problem, so >>>>I thought I'd ask. >>>> >>>>A sysrq-T during the freeze shows many processes trying to acquire a >>>>memory page, and Reiser4 flushing atoms and doing sync things. >>>> >>>>My working theory right now is that Reiser4 spends time flushing a lot >>>>of data at once before returning. >>>> >>>>If I am right about that, would it not make more sense to flush a few >>>>pages, return to the kernel, flush a few more pages, return to the >>>>kernel, etc, etc? That way programs could get a bit of RAM and make >>>>some progress. >>>> >>>>Of course I could be completely off about what's going on. >>>>-- >>>>Zan Lynx <zlynx@acm.org> >>>> >>>> >>>> >>>> >>-- >>Zan Lynx <zlynx@acm.org> >> >> >> >> >- >To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Question about memory pressure freezes 2007-07-28 21:36 ` Edward Shishkin @ 2007-07-29 3:11 ` Xu CanHao 0 siblings, 0 replies; 5+ messages in thread From: Xu CanHao @ 2007-07-29 3:11 UTC (permalink / raw) To: Edward Shishkin, Zan Lynx, reiserfs-devel 2007/7/29, Edward Shishkin <edward@namesys.com>: > Xu CanHao wrote: > > >Hello! > > > > Since the default atom_max_size is RAM/4, that means 256MB of > >maximum atom in your computer, and your HDD does 30MB/s which means > >you'll have 8s-9s "flush/system freeze" time. > > > > IIRC, edward said the atom_max_size mount option is useless, > > > > It is useless for remount, in other cases it works fine > (for root file system it makes sense to edit fstab). > So you can pass the option "tmgr.atom_max_size=N", > where N is atom size in blocks IIRC months ago I asked you about something that when I pass the option "tmgr.atom_max_size=N" to /etc/fstab(root partition) and /proc/mounts still shows the original RAM/4 value, you said it's mysteries and a long-term object. But the option worked with newly mounted partition such as "#mount .... -o tmgr.atom_max_size=N" > > > so > >I'd suggest you modify your reiser4/init_super.c and change: > > sbinfo->tmgr.atom_max_size = totalram_pages / 4; > >to > > sbinfo->tmgr.atom_max_size = totalram_pages / 16; > >which means your atom would have a maximum size of 64MB and a maximum > >freeze time of only 2 seconds. > > > > > > Such nice linear dependency disappears with some workload, > so freeze time is not comforting also for small atoms.. Then maybe a value of RAM/128 or 256 or 512... small enough to make the freeze time short enough... ;) > > >Thanks! > > > > > >2007/7/28, Zan Lynx <zlynx@acm.org>: > > > > > >>Edward answered my question mostly. > >> > >>But, I have 1 GB RAM and a Hitachi 7,200 RPM laptop drive. It does > >>about 30 MB/s. > >> > >>On Fri, 2007-07-27 at 09:40 +0800, Xu CanHao wrote: > >> > >> > >>>Hello! > >>> > >>> How much is your RAM? > >>> What is the result of your HDD's hdparm -t? > >>> > >>>Thanks! > >>> > >>>2007/7/27, Zan Lynx <zlynx@acm.org>: > >>> > >>> > >>>>I have often experienced nearly full system freezes for up to five > >>>>seconds at a time while memory is being flushed to disk. > >>>> > >>>>I'm not sure if this is a general Linux problem or a Reiser4 problem, so > >>>>I thought I'd ask. > >>>> > >>>>A sysrq-T during the freeze shows many processes trying to acquire a > >>>>memory page, and Reiser4 flushing atoms and doing sync things. > >>>> > >>>>My working theory right now is that Reiser4 spends time flushing a lot > >>>>of data at once before returning. > >>>> > >>>>If I am right about that, would it not make more sense to flush a few > >>>>pages, return to the kernel, flush a few more pages, return to the > >>>>kernel, etc, etc? That way programs could get a bit of RAM and make > >>>>some progress. > >>>> > >>>>Of course I could be completely off about what's going on. > >>>>-- > >>>>Zan Lynx <zlynx@acm.org> > >>>> > >>>> > >>>> > >>>> > >>-- > >>Zan Lynx <zlynx@acm.org> > >> > >> > >> > >> > >- > >To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in > >the body of a message to majordomo@vger.kernel.org > >More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > > > > > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-07-29 3:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-26 22:25 Question about memory pressure freezes Zan Lynx
2007-07-27 14:54 ` Edward Shishkin
[not found] ` <6ec7a4340707261840r34a68951s26a2691778c3ca15@mail.gmail.com>
[not found] ` <1185557881.8434.6.camel@localhost>
2007-07-28 1:52 ` Xu CanHao
2007-07-28 21:36 ` Edward Shishkin
2007-07-29 3:11 ` Xu CanHao
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.