* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
[not found] <558.1643-13003-1386678025-1217242012@post.cz>
@ 2008-07-28 14:31 ` Edward Shishkin
2008-08-04 10:28 ` Dushan Tcholich
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-07-28 14:31 UTC (permalink / raw)
To: Mr. Tao; +Cc: Reiserfs mailing list
Mr. Tao wrote:
> I just wanted to add sample of fsck failure:
>
> [103a3:2e4368616e6765:3ce4f] (ccreg40), node [721], item [10]: item of the wrong
> cluster size (-2147483648) found, Should be (65536).
> zsh: segmentation fault fsck.reiser4 /dev/sda8
>
>
Note, that data of logical cluster #249423 of the file (inode 66467) are
lost.
Maybe It makes sense to replace this file (it can be found, for example,
with "find -inum 66467") with a correct one..
Edward.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-07-28 14:31 ` kernel BUG at fs/reiser4/plugin/item/ctail.c Edward Shishkin
@ 2008-08-04 10:28 ` Dushan Tcholich
2008-08-04 14:47 ` Edward Shishkin
0 siblings, 1 reply; 21+ messages in thread
From: Dushan Tcholich @ 2008-08-04 10:28 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Mr. Tao, Reiserfs mailing list
Would it be possible if there would be a new version of fsck.reiser4
to fix those false positives about wrong size when checking
cryptocompress partitions?
There are some users that reported those and it's not comforting when
your fs spews thousands of errors, even when someone tells you they're
false.
Oh and what about making cryptocompress default format on mkfs.reiser4 ?
Have a nice day
Dushan
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 10:28 ` Dushan Tcholich
@ 2008-08-04 14:47 ` Edward Shishkin
2008-08-04 14:57 ` Dushan Tcholich
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-04 14:47 UTC (permalink / raw)
To: Dushan Tcholich; +Cc: Mr. Tao, Reiserfs mailing list
Dushan Tcholich wrote:
> Would it be possible if there would be a new version of fsck.reiser4
> to fix those false positives about wrong size when checking
> cryptocompress partitions?
>
Yes, per-file warnings about wrong i_bytes should be suppressed.
Fsck just should report at the end of work in default mode, that N wrong
i_bytes were detected and suggest to fix it with --fix option.
Anyone care to try to make a patch?
> There are some users that reported those and it's not comforting when
> your fs spews thousands of errors, even when someone tells you they're
> false.
>
> Oh and what about making cryptocompress default format on mkfs.reiser4 ?
>
mm.. not sure. First, fsck should be fixed to remove unprepped items.
Mr. Tao, do you still have partitions that make fsck segfault?
Thanks,
Edward.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 14:47 ` Edward Shishkin
@ 2008-08-04 14:57 ` Dushan Tcholich
2008-08-04 16:50 ` Edward Shishkin
0 siblings, 1 reply; 21+ messages in thread
From: Dushan Tcholich @ 2008-08-04 14:57 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Mr. Tao, Reiserfs mailing list
On Mon, Aug 4, 2008 at 4:47 PM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Dushan Tcholich wrote:
>> Would it be possible if there would be a new version of fsck.reiser4
>> to fix those false positives about wrong size when checking
>> cryptocompress partitions?
>>
>
> Yes, per-file warnings about wrong i_bytes should be suppressed.
> Fsck just should report at the end of work in default mode, that N wrong
> i_bytes were detected and suggest to fix it with --fix option.
> Anyone care to try to make a patch?
>
But what happens with systems with ccreg and fsck on boot? They would
stop and wait for user interaction.
Or you meant just to print a message about it with recomended solution
and continue.
I'd like to make a patch but dunno how :)
>> There are some users that reported those and it's not comforting when
>> your fs spews thousands of errors, even when someone tells you they're
>> false.
>>
>> Oh and what about making cryptocompress default format on mkfs.reiser4 ?
>>
>
> mm.. not sure. First, fsck should be fixed to remove unprepped items.
Ofcourse.
> Mr. Tao, do you still have partitions that make fsck segfault?
>
> Thanks,
> Edward.
>
Dushan
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 14:57 ` Dushan Tcholich
@ 2008-08-04 16:50 ` Edward Shishkin
2008-08-04 21:57 ` Dushan Tcholich
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-04 16:50 UTC (permalink / raw)
To: Dushan Tcholich; +Cc: Mr. Tao, Reiserfs mailing list
Dushan Tcholich wrote:
> On Mon, Aug 4, 2008 at 4:47 PM, Edward Shishkin
> <edward.shishkin@gmail.com> wrote:
>
>> Dushan Tcholich wrote:
>>
>>> Would it be possible if there would be a new version of fsck.reiser4
>>> to fix those false positives about wrong size when checking
>>> cryptocompress partitions?
>>>
>>>
>> Yes, per-file warnings about wrong i_bytes should be suppressed.
>> Fsck just should report at the end of work in default mode, that N wrong
>> i_bytes were detected and suggest to fix it with --fix option.
>> Anyone care to try to make a patch?
>>
>>
> But what happens with systems with ccreg and fsck on boot? They would
> stop and wait for user interaction.
>
Why?
Do you have any problems with boot?
> Or you meant just to print a message about it with recomended solution
> and continue.
>
Everything should be the same except per-file warnings.
> I'd like to make a patch but dunno how :)
>
>
>>> There are some users that reported those and it's not comforting when
>>> your fs spews thousands of errors, even when someone tells you they're
>>> false.
>>>
>>> Oh and what about making cryptocompress default format on mkfs.reiser4 ?
>>>
>>>
>> mm.. not sure. First, fsck should be fixed to remove unprepped items.
>>
> Ofcourse.
>
>
>> Mr. Tao, do you still have partitions that make fsck segfault?
>>
>> Thanks,
>> Edward.
>>
>>
> Dushan
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 16:50 ` Edward Shishkin
@ 2008-08-04 21:57 ` Dushan Tcholich
2008-08-04 22:51 ` Volker Armin Hemmann
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Dushan Tcholich @ 2008-08-04 21:57 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Mr. Tao, Reiserfs mailing list
On Mon, Aug 4, 2008 at 6:50 PM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Dushan Tcholich wrote:
>> On Mon, Aug 4, 2008 at 4:47 PM, Edward Shishkin
>> <edward.shishkin@gmail.com> wrote:
>>
>>> Dushan Tcholich wrote:
>>>
>>>> Would it be possible if there would be a new version of fsck.reiser4
>>>> to fix those false positives about wrong size when checking
>>>> cryptocompress partitions?
>>>>
>>>>
>>> Yes, per-file warnings about wrong i_bytes should be suppressed.
>>> Fsck just should report at the end of work in default mode, that N wrong
>>> i_bytes were detected and suggest to fix it with --fix option.
>>> Anyone care to try to make a patch?
>>>
>>>
>> But what happens with systems with ccreg and fsck on boot? They would
>> stop and wait for user interaction.
>>
>
> Why?
> Do you have any problems with boot?
I don't have problems.
I just thought that checking for these false positives lasted 10
minutes on my 6GB / so wouldn't this be a little too long if we don't
put some status of some sorts?
>> Or you meant just to print a message about it with recomended solution
>> and continue.
>>
>
> Everything should be the same except per-file warnings.
>
Maybe a better explanation would be better instead just: "600000 small
errors found" :)
>> I'd like to make a patch but dunno how :)
>>
>>
>>>> There are some users that reported those and it's not comforting when
>>>> your fs spews thousands of errors, even when someone tells you they're
>>>> false.
>>>>
>>>> Oh and what about making cryptocompress default format on mkfs.reiser4 ?
>>>>
>>>>
>>> mm.. not sure. First, fsck should be fixed to remove unprepped items.
>>>
>> Ofcourse.
>>
>>
>>> Mr. Tao, do you still have partitions that make fsck segfault?
>>>
>>> Thanks,
>>> Edward.
>>>
>>>
>> Dushan
>>
>>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 21:57 ` Dushan Tcholich
@ 2008-08-04 22:51 ` Volker Armin Hemmann
2008-08-05 20:31 ` Edward Shishkin
2008-08-05 12:42 ` Mr. Tao
2008-08-07 18:54 ` [reiser4] Point Ryan Hope
2 siblings, 1 reply; 21+ messages in thread
From: Volker Armin Hemmann @ 2008-08-04 22:51 UTC (permalink / raw)
To: reiserfs-devel
On Montag, 4. August 2008, Dushan Tcholich wrote:
> On Mon, Aug 4, 2008 at 6:50 PM, Edward Shishkin
>
> <edward.shishkin@gmail.com> wrote:
> > Dushan Tcholich wrote:
> >> On Mon, Aug 4, 2008 at 4:47 PM, Edward Shishkin
> >>
> >> <edward.shishkin@gmail.com> wrote:
> >>> Dushan Tcholich wrote:
> >>>> Would it be possible if there would be a new version of fsck.reiser4
> >>>> to fix those false positives about wrong size when checking
> >>>> cryptocompress partitions?
> >>>
> >>> Yes, per-file warnings about wrong i_bytes should be suppressed.
> >>> Fsck just should report at the end of work in default mode, that N
> >>> wrong i_bytes were detected and suggest to fix it with --fix option.
> >>> Anyone care to try to make a patch?
> >>
> >> But what happens with systems with ccreg and fsck on boot? They would
> >> stop and wait for user interaction.
> >
> > Why?
> > Do you have any problems with boot?
>
> I don't have problems.
> I just thought that checking for these false positives lasted 10
> minutes on my 6GB / so wouldn't this be a little too long if we don't
> put some status of some sorts?
>
> >> Or you meant just to print a message about it with recomended solution
> >> and continue.
> >
> > Everything should be the same except per-file warnings.
>
> Maybe a better explanation would be better instead just: "600000 small
> errors found" :)
>
that would completly freak out people. How about '60000 false file sizes -
this is normal with compression'?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 21:57 ` Dushan Tcholich
2008-08-04 22:51 ` Volker Armin Hemmann
@ 2008-08-05 12:42 ` Mr. Tao
2008-08-07 18:54 ` [reiser4] Point Ryan Hope
2 siblings, 0 replies; 21+ messages in thread
From: Mr. Tao @ 2008-08-05 12:42 UTC (permalink / raw)
To: Dushan Tcholich; +Cc: Edward Shishkin, Reiserfs mailing list
> >>> Dushan Tcholich wrote:
> >>
> >>
> >>> Mr. Tao, do you still have partitions that make fsck segfault?
> >>>
No, sorry, (un)fortunatelly not any more. These errors occured when fscking portage and ccache partitions, which I decided to put in separate disk partitions, so I used mkfs.reiser4 to "correct" them. (In the past I had them as uncompressible loop files on root reiser4 CC partition, but this _always_ (and I've tried a lot of times with different kernels) led to fatal corruption of root fs --> *loop files on R4 is no go* solution). I also had them as part of root FS, but this approach was also futile and led to corruption of / FS. Seems like (at least at thouse times) R4 couldn't handle very well heavy load, as there are moments with gentoo, where both ccache and portage are under stress.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: kernel BUG at fs/reiser4/plugin/item/ctail.c
2008-08-04 22:51 ` Volker Armin Hemmann
@ 2008-08-05 20:31 ` Edward Shishkin
0 siblings, 0 replies; 21+ messages in thread
From: Edward Shishkin @ 2008-08-05 20:31 UTC (permalink / raw)
To: Volker Armin Hemmann; +Cc: reiserfs-devel
Volker Armin Hemmann wrote:
> On Montag, 4. August 2008, Dushan Tcholich wrote:
>
>> On Mon, Aug 4, 2008 at 6:50 PM, Edward Shishkin
>>
>> <edward.shishkin@gmail.com> wrote:
>>
>>> Dushan Tcholich wrote:
>>>
>>>> On Mon, Aug 4, 2008 at 4:47 PM, Edward Shishkin
>>>>
>>>> <edward.shishkin@gmail.com> wrote:
>>>>
>>>>> Dushan Tcholich wrote:
>>>>>
>>>>>> Would it be possible if there would be a new version of fsck.reiser4
>>>>>> to fix those false positives about wrong size when checking
>>>>>> cryptocompress partitions?
>>>>>>
>>>>> Yes, per-file warnings about wrong i_bytes should be suppressed.
>>>>> Fsck just should report at the end of work in default mode, that N
>>>>> wrong i_bytes were detected and suggest to fix it with --fix option.
>>>>> Anyone care to try to make a patch?
>>>>>
>>>> But what happens with systems with ccreg and fsck on boot? They would
>>>> stop and wait for user interaction.
>>>>
>>> Why?
>>> Do you have any problems with boot?
>>>
>> I don't have problems.
>> I just thought that checking for these false positives lasted 10
>> minutes on my 6GB / so wouldn't this be a little too long if we don't
>> put some status of some sorts?
>>
>>
>>>> Or you meant just to print a message about it with recomended solution
>>>> and continue.
>>>>
>>> Everything should be the same except per-file warnings.
>>>
>> Maybe a better explanation would be better instead just: "600000 small
>> errors found" :)
>>
>>
>
>
There is no big problem here:
Kernel:
-----------
For unix-file plugin:
(1) set i_size and real size which coincide with each other;
(2) don't protect data by checksums (for performance reasons).
For cryptcompress plugin:
(1) set i_size which usually doesn't coincide with real size;
(2) don' t set real size for performance issues.
(3) set data checksums for every logical cluster;
Fsck:
----------
I. For unix-file plugin:
(1) check if i_size == real size, if no then
(a) report error and
(b) handle as corruption
II. For cryptcompress plugin:
(1) check checksums; If wrong, then handle as corruption;
(2) check if i_size == real size, if no, then
(a) report error;
(b) set correct real size;
It is clear, that (II.2.a) is not needed. Just because (II.1): checksums is
the best means to detect corruptions.
> that would completly freak out people. How about '60000 false file sizes -
> this is normal with compression'?
> --
> 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] 21+ messages in thread
* [reiser4] Point
2008-08-04 21:57 ` Dushan Tcholich
2008-08-04 22:51 ` Volker Armin Hemmann
2008-08-05 12:42 ` Mr. Tao
@ 2008-08-07 18:54 ` Ryan Hope
2008-08-08 20:47 ` Edward Shishkin
2 siblings, 1 reply; 21+ messages in thread
From: Ryan Hope @ 2008-08-07 18:54 UTC (permalink / raw)
To: edward.shishkin, reiserfs-devel
Is this todo really done?
>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>> replace wake_up() with wake_up_process()
There are still a few more wake_up()'s in the code, the following patch
takes care of 2 of them.
diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
index a164f5a..355548d 100644
--- a/fs/reiser4/entd.c
+++ b/fs/reiser4/entd.c
@@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
#endif
spin_unlock(&ent->guard);
if (wake_up_ent)
- wake_up(&ent->wait);
+ wake_up_process(ent->tsk);
}
#define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
@@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
writeback_control *wbc)
ent->nr_todo_reqs++;
list_add_tail(&rq.link, &ent->todo_list);
if (ent->nr_todo_reqs == 1)
- wake_up(&ent->wait);
+ wake_up_process(ent->tsk);
spin_unlock(&ent->guard);
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [reiser4] Point
2008-08-07 18:54 ` [reiser4] Point Ryan Hope
@ 2008-08-08 20:47 ` Edward Shishkin
2008-08-09 15:03 ` Ryan Hope
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-08 20:47 UTC (permalink / raw)
To: Ryan Hope; +Cc: reiserfs-devel
Ryan Hope wrote:
> Is this todo really done?
nop
>
> >> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
> >> replace wake_up() with wake_up_process()
>
> There are still a few more wake_up()'s in the code, the following
> patch takes care of 2 of them.
both are not obvious for me, review is needed..
Edward.
>
> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
> index a164f5a..355548d 100644
> --- a/fs/reiser4/entd.c
> +++ b/fs/reiser4/entd.c
> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
> #endif
> spin_unlock(&ent->guard);
> if (wake_up_ent)
> - wake_up(&ent->wait);
> + wake_up_process(ent->tsk);
> }
>
> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
> writeback_control *wbc)
> ent->nr_todo_reqs++;
> list_add_tail(&rq.link, &ent->todo_list);
> if (ent->nr_todo_reqs == 1)
> - wake_up(&ent->wait);
> + wake_up_process(ent->tsk);
>
> spin_unlock(&ent->guard);
>
>
> --
> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-08 20:47 ` Edward Shishkin
@ 2008-08-09 15:03 ` Ryan Hope
2008-08-12 18:58 ` Edward Shishkin
0 siblings, 1 reply; 21+ messages in thread
From: Ryan Hope @ 2008-08-09 15:03 UTC (permalink / raw)
To: Edward Shishkin; +Cc: reiserfs-devel
This works because the struct "ent" is of type "entd_context" which
has members "wait_queue_head_t wait" and "struct task_struct *tsk".
The function wake_up() takes the parameter wait_queue_head_t the
function wake_up_process() takes task_struct... I figured this would
be a legit switch. I have seen no adverse affects yet.
-Ryan
On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Ryan Hope wrote:
>> Is this todo really done?
>
> nop
>
>>
>> >> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>> >> replace wake_up() with wake_up_process()
>>
>> There are still a few more wake_up()'s in the code, the following
>> patch takes care of 2 of them.
>
> both are not obvious for me, review is needed..
>
> Edward.
>
>>
>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>> index a164f5a..355548d 100644
>> --- a/fs/reiser4/entd.c
>> +++ b/fs/reiser4/entd.c
>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>> #endif
>> spin_unlock(&ent->guard);
>> if (wake_up_ent)
>> - wake_up(&ent->wait);
>> + wake_up_process(ent->tsk);
>> }
>>
>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>> writeback_control *wbc)
>> ent->nr_todo_reqs++;
>> list_add_tail(&rq.link, &ent->todo_list);
>> if (ent->nr_todo_reqs == 1)
>> - wake_up(&ent->wait);
>> + wake_up_process(ent->tsk);
>>
>> spin_unlock(&ent->guard);
>>
>>
>> --
>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-09 15:03 ` Ryan Hope
@ 2008-08-12 18:58 ` Edward Shishkin
2008-08-12 20:05 ` Matthew
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-12 18:58 UTC (permalink / raw)
To: Ryan Hope; +Cc: reiserfs-devel
Ryan Hope wrote:
> This works because the struct "ent" is of type "entd_context"
This logic train goes to a wrong direction ;)
> which
> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
> The function wake_up() takes the parameter wait_queue_head_t the
> function wake_up_process() takes task_struct... I figured this would
> be a legit switch. I have seen no adverse affects yet.
>
Did you stress test it?
Thanks,
Edward.
> -Ryan
>
> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
> <edward.shishkin@gmail.com> wrote:
>
>> Ryan Hope wrote:
>>
>>> Is this todo really done?
>>>
>> nop
>>
>>
>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>> replace wake_up() with wake_up_process()
>>>>>
>>> There are still a few more wake_up()'s in the code, the following
>>> patch takes care of 2 of them.
>>>
>> both are not obvious for me, review is needed..
>>
>> Edward.
>>
>>
>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>> index a164f5a..355548d 100644
>>> --- a/fs/reiser4/entd.c
>>> +++ b/fs/reiser4/entd.c
>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>> #endif
>>> spin_unlock(&ent->guard);
>>> if (wake_up_ent)
>>> - wake_up(&ent->wait);
>>> + wake_up_process(ent->tsk);
>>> }
>>>
>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>> writeback_control *wbc)
>>> ent->nr_todo_reqs++;
>>> list_add_tail(&rq.link, &ent->todo_list);
>>> if (ent->nr_todo_reqs == 1)
>>> - wake_up(&ent->wait);
>>> + wake_up_process(ent->tsk);
>>>
>>> spin_unlock(&ent->guard);
>>>
>>>
>>> --
>>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-12 18:58 ` Edward Shishkin
@ 2008-08-12 20:05 ` Matthew
2008-08-12 20:47 ` Edward Shishkin
0 siblings, 1 reply; 21+ messages in thread
From: Matthew @ 2008-08-12 20:05 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Ryan Hope, reiserfs-devel
Hi Edward,
I somehow did kind of a stress-test to it (all of those patches):
usual file operations were comparable (compared to the unpatched
reiser4-tree), but (f)sync-"performance" was somehow abysmal:
whereas it would take 2-5 minutes for the default reiser4 to sync data
out to disk after a kernel-compilation (issueing 'time sync'), it
would take >40+ minutes for the patched version to do so, also the hdd
would be clattering all the time during that
in following cases it would take significant longer:
- emergency syncing [with magic sysrq key]
- emergency remount (sometimes it wouldn't even finish)
- parallel tasks (doing more things at a time / launching several apps at once)
- hdparm -t /dev/sda (seemingly cache-flushing, heavy clattering
before & after the output)
- sync
- shutdown -h now, reboot
here's the page of the thread where I posted all of the testing-experience:
http://forums.gentoo.org/viewtopic-t-696253-start-375.html
could it be that Ryan's problems with ext3/ext4 are caused by probable
inherent problems / bugs with them than rather being a bug in reiser4
itself ?
I don't have any partition with ext* filesystems, only reiserfs +
reiser4 and unfortunately also can't reproduce this behavior ...
the reiser4-devel/reiser4 testing-tree (for zen) can be found on the
zen-sources git-server:
http://zen-sources.org/cgi-bin/gitweb.cgi?p=kernel.git;a=summary
kudos to Ryan, Miguel, Dominic and Corbin :)
keep up the work, guys ! :)
Thanks
Mat
On Tue, Aug 12, 2008 at 8:58 PM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Ryan Hope wrote:
>> This works because the struct "ent" is of type "entd_context"
>
> This logic train goes to a wrong direction ;)
>
>> which
>> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
>> The function wake_up() takes the parameter wait_queue_head_t the
>> function wake_up_process() takes task_struct... I figured this would
>> be a legit switch. I have seen no adverse affects yet.
>>
>
> Did you stress test it?
>
> Thanks,
> Edward.
>
>> -Ryan
>>
>> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
>> <edward.shishkin@gmail.com> wrote:
>>
>>> Ryan Hope wrote:
>>>
>>>> Is this todo really done?
>>>>
>>> nop
>>>
>>>
>>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>>> replace wake_up() with wake_up_process()
>>>>>>
>>>> There are still a few more wake_up()'s in the code, the following
>>>> patch takes care of 2 of them.
>>>>
>>> both are not obvious for me, review is needed..
>>>
>>> Edward.
>>>
>>>
>>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>>> index a164f5a..355548d 100644
>>>> --- a/fs/reiser4/entd.c
>>>> +++ b/fs/reiser4/entd.c
>>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>>> #endif
>>>> spin_unlock(&ent->guard);
>>>> if (wake_up_ent)
>>>> - wake_up(&ent->wait);
>>>> + wake_up_process(ent->tsk);
>>>> }
>>>>
>>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>>> writeback_control *wbc)
>>>> ent->nr_todo_reqs++;
>>>> list_add_tail(&rq.link, &ent->todo_list);
>>>> if (ent->nr_todo_reqs == 1)
>>>> - wake_up(&ent->wait);
>>>> + wake_up_process(ent->tsk);
>>>>
>>>> spin_unlock(&ent->guard);
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>>
>>>
>>
>>
>
> --
> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-12 20:05 ` Matthew
@ 2008-08-12 20:47 ` Edward Shishkin
2008-08-13 8:43 ` Matthew
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-12 20:47 UTC (permalink / raw)
To: Matthew; +Cc: Ryan Hope, reiserfs-devel
Matthew wrote:
> Hi Edward,
>
> I somehow did kind of a stress-test to it (all of those patches):
> usual file operations were comparable (compared to the unpatched
> reiser4-tree), but (f)sync-"performance" was somehow abysmal:
>
> whereas it would take 2-5 minutes for the default reiser4 to sync data
> out to disk after a kernel-compilation (issueing 'time sync'), it
> would take >40+ minutes for the patched version to do so, also the hdd
> would be clattering all the time during that
>
> in following cases it would take significant longer:
> - emergency syncing [with magic sysrq key]
> - emergency remount (sometimes it wouldn't even finish)
> - parallel tasks (doing more things at a time / launching several apps at once)
> - hdparm -t /dev/sda (seemingly cache-flushing, heavy clattering
> before & after the output)
> - sync
> - shutdown -h now, reboot
>
> here's the page of the thread where I posted all of the testing-experience:
> http://forums.gentoo.org/viewtopic-t-696253-start-375.html
>
> could it be that Ryan's problems with ext3/ext4 are caused by probable
> inherent problems / bugs with them than rather being a bug in reiser4
> itself ?
>
> I don't have any partition with ext* filesystems, only reiserfs +
> reiser4 and unfortunately also can't reproduce this behavior ...
>
>
Guys, patches 2/3, 3/3 of the latest series are wrong and all
manipulations with this stuff (testing, getting stacktraces, etc.)
is just useless wasting your time.
The patch 1/3 (use-wake_up_process-instead-of-wake_up)
seems to be ok, but it must be stress tested.
If there are any problems specific to this patch, then let me know.
Thanks,
Edward.
> the reiser4-devel/reiser4 testing-tree (for zen) can be found on the
> zen-sources git-server:
> http://zen-sources.org/cgi-bin/gitweb.cgi?p=kernel.git;a=summary
> kudos to Ryan, Miguel, Dominic and Corbin :)
>
> keep up the work, guys ! :)
>
> Thanks
>
> Mat
>
> On Tue, Aug 12, 2008 at 8:58 PM, Edward Shishkin
> <edward.shishkin@gmail.com> wrote:
>
>> Ryan Hope wrote:
>>
>>> This works because the struct "ent" is of type "entd_context"
>>>
>> This logic train goes to a wrong direction ;)
>>
>>
>>> which
>>> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
>>> The function wake_up() takes the parameter wait_queue_head_t the
>>> function wake_up_process() takes task_struct... I figured this would
>>> be a legit switch. I have seen no adverse affects yet.
>>>
>>>
>> Did you stress test it?
>>
>> Thanks,
>> Edward.
>>
>>
>>> -Ryan
>>>
>>> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
>>> <edward.shishkin@gmail.com> wrote:
>>>
>>>
>>>> Ryan Hope wrote:
>>>>
>>>>
>>>>> Is this todo really done?
>>>>>
>>>>>
>>>> nop
>>>>
>>>>
>>>>
>>>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>>>> replace wake_up() with wake_up_process()
>>>>>>>
>>>>>>>
>>>>> There are still a few more wake_up()'s in the code, the following
>>>>> patch takes care of 2 of them.
>>>>>
>>>>>
>>>> both are not obvious for me, review is needed..
>>>>
>>>> Edward.
>>>>
>>>>
>>>>
>>>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>>>> index a164f5a..355548d 100644
>>>>> --- a/fs/reiser4/entd.c
>>>>> +++ b/fs/reiser4/entd.c
>>>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>>>> #endif
>>>>> spin_unlock(&ent->guard);
>>>>> if (wake_up_ent)
>>>>> - wake_up(&ent->wait);
>>>>> + wake_up_process(ent->tsk);
>>>>> }
>>>>>
>>>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>>>> writeback_control *wbc)
>>>>> ent->nr_todo_reqs++;
>>>>> list_add_tail(&rq.link, &ent->todo_list);
>>>>> if (ent->nr_todo_reqs == 1)
>>>>> - wake_up(&ent->wait);
>>>>> + wake_up_process(ent->tsk);
>>>>>
>>>>> spin_unlock(&ent->guard);
>>>>>
>>>>>
>>>>> --
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>
>> --
>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-12 20:47 ` Edward Shishkin
@ 2008-08-13 8:43 ` Matthew
2008-08-13 9:57 ` Edward Shishkin
0 siblings, 1 reply; 21+ messages in thread
From: Matthew @ 2008-08-13 8:43 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Ryan Hope, reiserfs-devel
Hi Edward,
ok, I'm testing it (patch 1) on my production system since yesterday,
no adverse effects until now,
could you please explain what you exactly mean with "stress test"?
which loads does it include ?
I'm using this for the following tasks right now:
- syncing the portage-tree (lots of small files, at least once a day;
a separate reiser4-partition for /usr/portage)
- emerging applications (reiser4 on the system-partition; emerge &
compilations put relative heavy load on it)
- creating stage4-tarballs (creating a tarball out of the running system)
- heavy compiling kernels (with -j 25)
- usual daily "work" (booting into the OS & launching / working with apps)
- updatedb
- *
if you need more tasks to do let me know and I'll try to include them
Thanks
Mat
On Tue, Aug 12, 2008 at 10:47 PM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Matthew wrote:
>> Hi Edward,
>>
>> I somehow did kind of a stress-test to it (all of those patches):
>> usual file operations were comparable (compared to the unpatched
>> reiser4-tree), but (f)sync-"performance" was somehow abysmal:
>>
>> whereas it would take 2-5 minutes for the default reiser4 to sync data
>> out to disk after a kernel-compilation (issueing 'time sync'), it
>> would take >40+ minutes for the patched version to do so, also the hdd
>> would be clattering all the time during that
>>
>> in following cases it would take significant longer:
>> - emergency syncing [with magic sysrq key]
>> - emergency remount (sometimes it wouldn't even finish)
>> - parallel tasks (doing more things at a time / launching several apps at once)
>> - hdparm -t /dev/sda (seemingly cache-flushing, heavy clattering
>> before & after the output)
>> - sync
>> - shutdown -h now, reboot
>>
>> here's the page of the thread where I posted all of the testing-experience:
>> http://forums.gentoo.org/viewtopic-t-696253-start-375.html
>>
>> could it be that Ryan's problems with ext3/ext4 are caused by probable
>> inherent problems / bugs with them than rather being a bug in reiser4
>> itself ?
>>
>> I don't have any partition with ext* filesystems, only reiserfs +
>> reiser4 and unfortunately also can't reproduce this behavior ...
>>
>>
>
> Guys, patches 2/3, 3/3 of the latest series are wrong and all
> manipulations with this stuff (testing, getting stacktraces, etc.)
> is just useless wasting your time.
>
> The patch 1/3 (use-wake_up_process-instead-of-wake_up)
> seems to be ok, but it must be stress tested.
> If there are any problems specific to this patch, then let me know.
>
> Thanks,
> Edward.
>
>> the reiser4-devel/reiser4 testing-tree (for zen) can be found on the
>> zen-sources git-server:
>> http://zen-sources.org/cgi-bin/gitweb.cgi?p=kernel.git;a=summary
>> kudos to Ryan, Miguel, Dominic and Corbin :)
>>
>> keep up the work, guys ! :)
>>
>> Thanks
>>
>> Mat
>>
>> On Tue, Aug 12, 2008 at 8:58 PM, Edward Shishkin
>> <edward.shishkin@gmail.com> wrote:
>>
>>> Ryan Hope wrote:
>>>
>>>> This works because the struct "ent" is of type "entd_context"
>>>>
>>> This logic train goes to a wrong direction ;)
>>>
>>>
>>>> which
>>>> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
>>>> The function wake_up() takes the parameter wait_queue_head_t the
>>>> function wake_up_process() takes task_struct... I figured this would
>>>> be a legit switch. I have seen no adverse affects yet.
>>>>
>>>>
>>> Did you stress test it?
>>>
>>> Thanks,
>>> Edward.
>>>
>>>
>>>> -Ryan
>>>>
>>>> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
>>>> <edward.shishkin@gmail.com> wrote:
>>>>
>>>>
>>>>> Ryan Hope wrote:
>>>>>
>>>>>
>>>>>> Is this todo really done?
>>>>>>
>>>>>>
>>>>> nop
>>>>>
>>>>>
>>>>>
>>>>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>>>>> replace wake_up() with wake_up_process()
>>>>>>>>
>>>>>>>>
>>>>>> There are still a few more wake_up()'s in the code, the following
>>>>>> patch takes care of 2 of them.
>>>>>>
>>>>>>
>>>>> both are not obvious for me, review is needed..
>>>>>
>>>>> Edward.
>>>>>
>>>>>
>>>>>
>>>>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>>>>> index a164f5a..355548d 100644
>>>>>> --- a/fs/reiser4/entd.c
>>>>>> +++ b/fs/reiser4/entd.c
>>>>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>>>>> #endif
>>>>>> spin_unlock(&ent->guard);
>>>>>> if (wake_up_ent)
>>>>>> - wake_up(&ent->wait);
>>>>>> + wake_up_process(ent->tsk);
>>>>>> }
>>>>>>
>>>>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>>>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>>>>> writeback_control *wbc)
>>>>>> ent->nr_todo_reqs++;
>>>>>> list_add_tail(&rq.link, &ent->todo_list);
>>>>>> if (ent->nr_todo_reqs == 1)
>>>>>> - wake_up(&ent->wait);
>>>>>> + wake_up_process(ent->tsk);
>>>>>>
>>>>>> spin_unlock(&ent->guard);
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>> --
>>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-13 8:43 ` Matthew
@ 2008-08-13 9:57 ` Edward Shishkin
2008-08-13 15:03 ` Ryan Hope
0 siblings, 1 reply; 21+ messages in thread
From: Edward Shishkin @ 2008-08-13 9:57 UTC (permalink / raw)
To: Matthew; +Cc: Ryan Hope, reiserfs-devel
Matthew wrote:
> Hi Edward,
>
> ok, I'm testing it (patch 1) on my production system since yesterday,
> no adverse effects until now,
>
> could you please explain what you exactly mean with "stress test"?
> which loads does it include ?
>
>
It means regression testing with any set of applications
that involves as much file api as possible and causes
intensive IO activity.
> I'm using this for the following tasks right now:
> - syncing the portage-tree (lots of small files, at least once a day;
> a separate reiser4-partition for /usr/portage)
> - emerging applications (reiser4 on the system-partition; emerge &
> compilations put relative heavy load on it)
> - creating stage4-tarballs (creating a tarball out of the running system)
> - heavy compiling kernels (with -j 25)
> - usual daily "work" (booting into the OS & launching / working with apps)
> - updatedb
> - *
>
>
Ok, its enough.
Thanks to everyone!
> if you need more tasks to do let me know and I'll try to include them
>
> Thanks
>
> Mat
>
> On Tue, Aug 12, 2008 at 10:47 PM, Edward Shishkin
> <edward.shishkin@gmail.com> wrote:
>
>> Matthew wrote:
>>
>>> Hi Edward,
>>>
>>> I somehow did kind of a stress-test to it (all of those patches):
>>> usual file operations were comparable (compared to the unpatched
>>> reiser4-tree), but (f)sync-"performance" was somehow abysmal:
>>>
>>> whereas it would take 2-5 minutes for the default reiser4 to sync data
>>> out to disk after a kernel-compilation (issueing 'time sync'), it
>>> would take >40+ minutes for the patched version to do so, also the hdd
>>> would be clattering all the time during that
>>>
>>> in following cases it would take significant longer:
>>> - emergency syncing [with magic sysrq key]
>>> - emergency remount (sometimes it wouldn't even finish)
>>> - parallel tasks (doing more things at a time / launching several apps at once)
>>> - hdparm -t /dev/sda (seemingly cache-flushing, heavy clattering
>>> before & after the output)
>>> - sync
>>> - shutdown -h now, reboot
>>>
>>> here's the page of the thread where I posted all of the testing-experience:
>>> http://forums.gentoo.org/viewtopic-t-696253-start-375.html
>>>
>>> could it be that Ryan's problems with ext3/ext4 are caused by probable
>>> inherent problems / bugs with them than rather being a bug in reiser4
>>> itself ?
>>>
>>> I don't have any partition with ext* filesystems, only reiserfs +
>>> reiser4 and unfortunately also can't reproduce this behavior ...
>>>
>>>
>>>
>> Guys, patches 2/3, 3/3 of the latest series are wrong and all
>> manipulations with this stuff (testing, getting stacktraces, etc.)
>> is just useless wasting your time.
>>
>> The patch 1/3 (use-wake_up_process-instead-of-wake_up)
>> seems to be ok, but it must be stress tested.
>> If there are any problems specific to this patch, then let me know.
>>
>> Thanks,
>> Edward.
>>
>>
>>> the reiser4-devel/reiser4 testing-tree (for zen) can be found on the
>>> zen-sources git-server:
>>> http://zen-sources.org/cgi-bin/gitweb.cgi?p=kernel.git;a=summary
>>> kudos to Ryan, Miguel, Dominic and Corbin :)
>>>
>>> keep up the work, guys ! :)
>>>
>>> Thanks
>>>
>>> Mat
>>>
>>> On Tue, Aug 12, 2008 at 8:58 PM, Edward Shishkin
>>> <edward.shishkin@gmail.com> wrote:
>>>
>>>
>>>> Ryan Hope wrote:
>>>>
>>>>
>>>>> This works because the struct "ent" is of type "entd_context"
>>>>>
>>>>>
>>>> This logic train goes to a wrong direction ;)
>>>>
>>>>
>>>>
>>>>> which
>>>>> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
>>>>> The function wake_up() takes the parameter wait_queue_head_t the
>>>>> function wake_up_process() takes task_struct... I figured this would
>>>>> be a legit switch. I have seen no adverse affects yet.
>>>>>
>>>>>
>>>>>
>>>> Did you stress test it?
>>>>
>>>> Thanks,
>>>> Edward.
>>>>
>>>>
>>>>
>>>>> -Ryan
>>>>>
>>>>> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
>>>>> <edward.shishkin@gmail.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Ryan Hope wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Is this todo really done?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> nop
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>>>>>> replace wake_up() with wake_up_process()
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>> There are still a few more wake_up()'s in the code, the following
>>>>>>> patch takes care of 2 of them.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> both are not obvious for me, review is needed..
>>>>>>
>>>>>> Edward.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>>>>>> index a164f5a..355548d 100644
>>>>>>> --- a/fs/reiser4/entd.c
>>>>>>> +++ b/fs/reiser4/entd.c
>>>>>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>>>>>> #endif
>>>>>>> spin_unlock(&ent->guard);
>>>>>>> if (wake_up_ent)
>>>>>>> - wake_up(&ent->wait);
>>>>>>> + wake_up_process(ent->tsk);
>>>>>>> }
>>>>>>>
>>>>>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>>>>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>>>>>> writeback_control *wbc)
>>>>>>> ent->nr_todo_reqs++;
>>>>>>> list_add_tail(&rq.link, &ent->todo_list);
>>>>>>> if (ent->nr_todo_reqs == 1)
>>>>>>> - wake_up(&ent->wait);
>>>>>>> + wake_up_process(ent->tsk);
>>>>>>>
>>>>>>> spin_unlock(&ent->guard);
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>> --
>>>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-13 9:57 ` Edward Shishkin
@ 2008-08-13 15:03 ` Ryan Hope
2008-08-13 15:59 ` Alli Quaknaa
0 siblings, 1 reply; 21+ messages in thread
From: Ryan Hope @ 2008-08-13 15:03 UTC (permalink / raw)
To: Edward Shishkin; +Cc: Matthew, reiserfs-devel
With just that first patch this is how I was stress-testing it....
My rootfs is ext3 and my /usr/portage partition is reiser4...
I did this: 'cd /usr/portage; while (true); do bonnie; done'
Then on another console I ran 'emerge glibc'
On another console I ran 'emerge --sync'
On another console I compiled my kernel
I did not do any benchmarks, just looked in dmesg for anything abnormal.
-Ryan
On Wed, Aug 13, 2008 at 5:57 AM, Edward Shishkin
<edward.shishkin@gmail.com> wrote:
> Matthew wrote:
>> Hi Edward,
>>
>> ok, I'm testing it (patch 1) on my production system since yesterday,
>> no adverse effects until now,
>>
>> could you please explain what you exactly mean with "stress test"?
>> which loads does it include ?
>>
>>
>
> It means regression testing with any set of applications
> that involves as much file api as possible and causes
> intensive IO activity.
>
>> I'm using this for the following tasks right now:
>> - syncing the portage-tree (lots of small files, at least once a day;
>> a separate reiser4-partition for /usr/portage)
>> - emerging applications (reiser4 on the system-partition; emerge &
>> compilations put relative heavy load on it)
>> - creating stage4-tarballs (creating a tarball out of the running system)
>> - heavy compiling kernels (with -j 25)
>> - usual daily "work" (booting into the OS & launching / working with apps)
>> - updatedb
>> - *
>>
>>
>
> Ok, its enough.
> Thanks to everyone!
>
>> if you need more tasks to do let me know and I'll try to include them
>>
>> Thanks
>>
>> Mat
>>
>> On Tue, Aug 12, 2008 at 10:47 PM, Edward Shishkin
>> <edward.shishkin@gmail.com> wrote:
>>
>>> Matthew wrote:
>>>
>>>> Hi Edward,
>>>>
>>>> I somehow did kind of a stress-test to it (all of those patches):
>>>> usual file operations were comparable (compared to the unpatched
>>>> reiser4-tree), but (f)sync-"performance" was somehow abysmal:
>>>>
>>>> whereas it would take 2-5 minutes for the default reiser4 to sync data
>>>> out to disk after a kernel-compilation (issueing 'time sync'), it
>>>> would take >40+ minutes for the patched version to do so, also the hdd
>>>> would be clattering all the time during that
>>>>
>>>> in following cases it would take significant longer:
>>>> - emergency syncing [with magic sysrq key]
>>>> - emergency remount (sometimes it wouldn't even finish)
>>>> - parallel tasks (doing more things at a time / launching several apps at once)
>>>> - hdparm -t /dev/sda (seemingly cache-flushing, heavy clattering
>>>> before & after the output)
>>>> - sync
>>>> - shutdown -h now, reboot
>>>>
>>>> here's the page of the thread where I posted all of the testing-experience:
>>>> http://forums.gentoo.org/viewtopic-t-696253-start-375.html
>>>>
>>>> could it be that Ryan's problems with ext3/ext4 are caused by probable
>>>> inherent problems / bugs with them than rather being a bug in reiser4
>>>> itself ?
>>>>
>>>> I don't have any partition with ext* filesystems, only reiserfs +
>>>> reiser4 and unfortunately also can't reproduce this behavior ...
>>>>
>>>>
>>>>
>>> Guys, patches 2/3, 3/3 of the latest series are wrong and all
>>> manipulations with this stuff (testing, getting stacktraces, etc.)
>>> is just useless wasting your time.
>>>
>>> The patch 1/3 (use-wake_up_process-instead-of-wake_up)
>>> seems to be ok, but it must be stress tested.
>>> If there are any problems specific to this patch, then let me know.
>>>
>>> Thanks,
>>> Edward.
>>>
>>>
>>>> the reiser4-devel/reiser4 testing-tree (for zen) can be found on the
>>>> zen-sources git-server:
>>>> http://zen-sources.org/cgi-bin/gitweb.cgi?p=kernel.git;a=summary
>>>> kudos to Ryan, Miguel, Dominic and Corbin :)
>>>>
>>>> keep up the work, guys ! :)
>>>>
>>>> Thanks
>>>>
>>>> Mat
>>>>
>>>> On Tue, Aug 12, 2008 at 8:58 PM, Edward Shishkin
>>>> <edward.shishkin@gmail.com> wrote:
>>>>
>>>>
>>>>> Ryan Hope wrote:
>>>>>
>>>>>
>>>>>> This works because the struct "ent" is of type "entd_context"
>>>>>>
>>>>>>
>>>>> This logic train goes to a wrong direction ;)
>>>>>
>>>>>
>>>>>
>>>>>> which
>>>>>> has members "wait_queue_head_t wait" and "struct task_struct *tsk".
>>>>>> The function wake_up() takes the parameter wait_queue_head_t the
>>>>>> function wake_up_process() takes task_struct... I figured this would
>>>>>> be a legit switch. I have seen no adverse affects yet.
>>>>>>
>>>>>>
>>>>>>
>>>>> Did you stress test it?
>>>>>
>>>>> Thanks,
>>>>> Edward.
>>>>>
>>>>>
>>>>>
>>>>>> -Ryan
>>>>>>
>>>>>> On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin
>>>>>> <edward.shishkin@gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Ryan Hope wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Is this todo really done?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> nop
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to
>>>>>>>>>> replace wake_up() with wake_up_process()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> There are still a few more wake_up()'s in the code, the following
>>>>>>>> patch takes care of 2 of them.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> both are not obvious for me, review is needed..
>>>>>>>
>>>>>>> Edward.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c
>>>>>>>> index a164f5a..355548d 100644
>>>>>>>> --- a/fs/reiser4/entd.c
>>>>>>>> +++ b/fs/reiser4/entd.c
>>>>>>>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super)
>>>>>>>> #endif
>>>>>>>> spin_unlock(&ent->guard);
>>>>>>>> if (wake_up_ent)
>>>>>>>> - wake_up(&ent->wait);
>>>>>>>> + wake_up_process(ent->tsk);
>>>>>>>> }
>>>>>>>>
>>>>>>>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX
>>>>>>>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct
>>>>>>>> writeback_control *wbc)
>>>>>>>> ent->nr_todo_reqs++;
>>>>>>>> list_add_tail(&rq.link, &ent->todo_list);
>>>>>>>> if (ent->nr_todo_reqs == 1)
>>>>>>>> - wake_up(&ent->wait);
>>>>>>>> + wake_up_process(ent->tsk);
>>>>>>>>
>>>>>>>> spin_unlock(&ent->guard);
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>> --
>>>>> 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] 21+ messages in thread
* Re: [reiser4] Point
2008-08-13 15:03 ` Ryan Hope
@ 2008-08-13 15:59 ` Alli Quaknaa
2008-08-13 16:28 ` Ryan Hope
0 siblings, 1 reply; 21+ messages in thread
From: Alli Quaknaa @ 2008-08-13 15:59 UTC (permalink / raw)
To: Ryan Hope; +Cc: Edward Shishkin, Matthew, reiserfs-devel
Correct me if I'm wrong, but the "emerge glibc" and compiling kernel
are not actually happening on the reiser4 partition (if it is
/usr/portage only) and they IMHO actually lower the stress on the
reiser4 partition, because they consume CPU power that would be used
by emerge sync and bonnie (which do stress-test the reiser4
partition).
But maybe I'm wrong, or it was the point to get emerge sync & bonnie
working in an environment where they have to compete for CPU time with
other processes?
(Please bear with me, I'm not a developer and I'm newbie, but I use
Gentoo so the things above seemed weird to me).
al-Quaknaa
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [reiser4] Point
2008-08-13 15:59 ` Alli Quaknaa
@ 2008-08-13 16:28 ` Ryan Hope
2008-08-13 16:33 ` Alli Quaknaa
0 siblings, 1 reply; 21+ messages in thread
From: Ryan Hope @ 2008-08-13 16:28 UTC (permalink / raw)
To: Alli Quaknaa; +Cc: Edward Shishkin, Matthew, reiserfs-devel
Well bonnie is running on the reiser4 partition and so is emerge
--sync.... I figured a better stress of reiser4 would be to see how it
hold up when the whole system is loaded as well, not just reiser4
working alone
On Wed, Aug 13, 2008 at 11:59 AM, Alli Quaknaa <alquaknaa@gmail.com> wrote:
> Correct me if I'm wrong, but the "emerge glibc" and compiling kernel
> are not actually happening on the reiser4 partition (if it is
> /usr/portage only) and they IMHO actually lower the stress on the
> reiser4 partition, because they consume CPU power that would be used
> by emerge sync and bonnie (which do stress-test the reiser4
> partition).
>
> But maybe I'm wrong, or it was the point to get emerge sync & bonnie
> working in an environment where they have to compete for CPU time with
> other processes?
>
> (Please bear with me, I'm not a developer and I'm newbie, but I use
> Gentoo so the things above seemed weird to me).
> al-Quaknaa
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [reiser4] Point
2008-08-13 16:28 ` Ryan Hope
@ 2008-08-13 16:33 ` Alli Quaknaa
0 siblings, 0 replies; 21+ messages in thread
From: Alli Quaknaa @ 2008-08-13 16:33 UTC (permalink / raw)
To: Ryan Hope; +Cc: Edward Shishkin, Matthew, reiserfs-devel
OK, I wasn't sure if it was intended this way.
Anyway - I've just got a new notebook and I'm putting my / on reiser4
and I've already got to a little trouble, when I tried to kill some
processes and the kill didn't work, and dmesg reported some oops. I
know this isn't very useful (cause I don't have the oops or other
specific info), I just want to point out that there will probabyl be a
higher number of problematic situations for teh fs to handle on / than
anywhere else. I will report whatever is to come and I will try to
help with testing as much as possible :)
Thanks for the great fs you're working on :)
al-Quaknaa
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-08-13 16:33 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <558.1643-13003-1386678025-1217242012@post.cz>
2008-07-28 14:31 ` kernel BUG at fs/reiser4/plugin/item/ctail.c Edward Shishkin
2008-08-04 10:28 ` Dushan Tcholich
2008-08-04 14:47 ` Edward Shishkin
2008-08-04 14:57 ` Dushan Tcholich
2008-08-04 16:50 ` Edward Shishkin
2008-08-04 21:57 ` Dushan Tcholich
2008-08-04 22:51 ` Volker Armin Hemmann
2008-08-05 20:31 ` Edward Shishkin
2008-08-05 12:42 ` Mr. Tao
2008-08-07 18:54 ` [reiser4] Point Ryan Hope
2008-08-08 20:47 ` Edward Shishkin
2008-08-09 15:03 ` Ryan Hope
2008-08-12 18:58 ` Edward Shishkin
2008-08-12 20:05 ` Matthew
2008-08-12 20:47 ` Edward Shishkin
2008-08-13 8:43 ` Matthew
2008-08-13 9:57 ` Edward Shishkin
2008-08-13 15:03 ` Ryan Hope
2008-08-13 15:59 ` Alli Quaknaa
2008-08-13 16:28 ` Ryan Hope
2008-08-13 16:33 ` Alli Quaknaa
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.