All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivan Shapovalov <intelfx100@gmail.com>
To: Edward Shishkin <edward.shishkin@gmail.com>
Cc: "Dušan Čolić" <dusanc@gmail.com>,
	reiserfs-devel <reiserfs-devel@vger.kernel.org>
Subject: Re: Kernel config option which causes reiser4 to be instable
Date: Fri, 14 Dec 2012 22:20:49 +0400	[thread overview]
Message-ID: <8441852.S0Hz7rjb2F@intelfx-laptop> (raw)
In-Reply-To: <50CB088C.3090801@gmail.com>

On 14 December 2012 12:07:56 Edward Shishkin wrote:
> On 12/14/2012 04:14 AM, Ivan Shapovalov wrote:
> > On 13 December 2012 23:47:10 Edward Shishkin wrote:
> >> On 12/11/2012 09:54 PM, Dušan Čolić wrote:
> >>> On Tue, Dec 11, 2012 at 7:33 PM, Edward Shishkin
> >>> 
> >>> <edward.shishkin@gmail.com>   wrote:
> >>>> On 12/11/2012 04:08 PM, Ivan Shapovalov wrote:
> >>>>> Hello!
> >>>> 
> >>>> Hello.
> >>>> 
> >>>>> With help of Dušan Čolić<dusanc@gmail.com>   who provided his kernel
> >>>>> config
> >>>>> diff I've found a kernel option which, when disabled, greatly reduces
> >>>>> (hopefully to zero, but need time to verify it) corruption rate in
> >>>>> reiser4.
> >>>>> 
> >>>>> It's CONFIG_TRANSPARENT_HUGEPAGE (or something which is used by it
> >>>>> like
> >>>>> CONFIG_COMPACTION or CONFIG_MIGRATION).
> >>>>> For now I'm testing it with CONFIG_TRANSPARENT_HUGEPAGE disabled
> >>>> 
> >>>> How long?
> >>> 
> >>> For me the difference in uptime is months without vs hours with it :D
> >>> on 2.6.39.4
> >> 
> >> Hm, indeed: my setup with enabled migration can not survive even one
> >> kernel compilation, while with disabled migration everything looks ok..
> > 
> > The overnight testing also showed no errors...
> > So shall we release reiser4-for-3.7 and announce FIXED(?) once again?
> > 
> > :)
> 
> I worry that migration is mandatory option for hugepages.
> Does fail_migrate_page() work with hugepages?

_Apparently_ yes. We have a counter named "compact_pagemigrate_failed" in 
/proc/vmstat (documented in vm/transhuge.txt), which means that failing a page 
migration is not a critical event. So hugepages and compaction will work, 
albeit quite less effectively...

...And I've immediately got a bunch of (presumably silly) questions while 
trying to implement ->migratepage().

1) Why it is needed to writeback dirty pages before migrating them?

2) Looking at the default implementation (fallback_migrate_page()), what is 
the meaning of migrating a released page? In other words, doesn't "releasing" 
page anyway mean "completely freeing" it, requiring the fs to read 
corresponding data again?

3) As far as I could understand, migrating page (from fs's point of view) is 
just replacing all internal pointers to the "old" page with pointers to the 
new one together with calling predefined functions migrate_page_move_mapping() 
and migrate_page_copy(). So here's a question - which structures of reiser4 
(beyond jnode->pg) keep pointers to pages and how to access them, given a 
single page?
I can remember cryptcompress's struct cluster_handle which stores an array of 
pages...

Thanks,
Ivan.

> 
> Also before the release I'll try to take a look at this:
> http://marc.info/?l=reiserfs-devel&m=135402207623711&w=2
> 
> This failed path might indicate that we adjusted to fs-writeback
> incorrectly.
> 
> Edward.
> 
> > Regards,
> > Ivan.
> > 
> >>>>>     on kernel
> >>>>> 
> >>>>> 3.6.10, and everything seems to be OK so far (so the workaround is
> >>>>> version-
> >>>>> agnostic).
> >>>>> 
> >>>>> Edward, are there any guesses on what can make reiser4 choke on
> >>>>> hugepages/compaction/migration?
> >>>> 
> >>>> TBH, no ideas. They (hugepages) are _transparent_.
> >>>> It means we shouldn't suffer in theory ;)
> >>>> 
> >>>>>     I'm not even barely familiar with the kernel
> >>>>> 
> >>>>> internals.
> >>>>> 
> >>>>> Thanks,
> >>>>> Ivan.
-- 
С уважением,
Шаповалов Иван.
--
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

  reply	other threads:[~2012-12-14 18:20 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-07 17:56 R4 problem started with 2.6.39 and still there with 3.6.6 Dušan Čolić
2012-12-07 18:34 ` Dušan Čolić
2012-12-09 15:17   ` Ivan Shapovalov
2012-12-09 16:19     ` Dušan Čolić
2012-12-09 16:29       ` Dušan Čolić
2012-12-09 16:38         ` Ivan Shapovalov
2012-12-09 17:12           ` Dušan Čolić
2012-12-09 17:54             ` Dušan Čolić
2012-12-10 20:08               ` Dušan Čolić
2012-12-11 15:08               ` Kernel config option which causes reiser4 to be instable Ivan Shapovalov
2012-12-11 18:33                 ` Edward Shishkin
2012-12-11 18:49                   ` Ivan Shapovalov
2012-12-12  3:23                     ` Ivan Shapovalov
     [not found]                       ` <21180603.IycRkMTJZZ@intelfx-laptop>
2012-12-13 20:51                         ` Edward Shishkin
2012-12-11 20:54                   ` Dušan Čolić
2012-12-13 22:47                     ` Edward Shishkin
2012-12-14  3:14                       ` Ivan Shapovalov
2012-12-14 11:07                         ` Edward Shishkin
2012-12-14 18:20                           ` Ivan Shapovalov [this message]
2012-12-16 15:36                             ` Edward Shishkin
2012-12-26 16:22                               ` Ivan Shapovalov
2012-12-29  0:24                                 ` Edward Shishkin
2012-12-29 18:47                                   ` Ivan Shapovalov
2013-01-07  0:06                                     ` Edward Shishkin
2013-01-07  1:33                                       ` Ivan Shapovalov
2012-12-09 12:36 ` R4 problem started with 2.6.39 and still there with 3.6.6 Ivan Shapovalov
2012-12-09 14:47   ` Dušan Čolić
2012-12-09 14:52     ` Dušan Čolić

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8441852.S0Hz7rjb2F@intelfx-laptop \
    --to=intelfx100@gmail.com \
    --cc=dusanc@gmail.com \
    --cc=edward.shishkin@gmail.com \
    --cc=reiserfs-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.