Discussion:
[PATCH 1/2] add ARM FCSE support
Martix
2010-09-01 14:59:19 UTC
Permalink
Enables ARM Fast Context Switching Extension. Context switch can be
done without cache flush.

0001-add-ARM-FCSE-support.patch

Sending as attachment to prevent line wrapping.
Vasily Khoruzhick
2010-09-01 15:05:59 UTC
Permalink
Post by Martix
Enables ARM Fast Context Switching Extension. Context switch can be
done without cache flush.
0001-add-ARM-FCSE-support.patch
Sending as attachment to prevent line wrapping.
Hi, what about sending this patch upstream? It would be nice if such a nice
work will be merged into mainline kernel.

Regards
Vasily
Gilles Chanteperdrix
2010-09-01 15:21:54 UTC
Permalink
Post by Vasily Khoruzhick
Post by Martix
Enables ARM Fast Context Switching Extension. Context switch can be
done without cache flush.
0001-add-ARM-FCSE-support.patch
Sending as attachment to prevent line wrapping.
Hi, what about sending this patch upstream? It would be nice if such a nice
work will be merged into mainline kernel.
I posted it three times on the Linux ARM kernel mailing list, never got
even an inch of an answer from rmk. Not "will look at it later", or "it
is pure crap". Nothing. So, I decided to stop posting it.
--
Gilles.
Gennady Kupava
2010-09-01 14:31:54 UTC
Permalink
Hi Gilles!

Thanks for your work, i hope it is highly appericated.

I want to talk a bit about your patch.

First, how about version for .34? i want to benchmark it. also, i do not
undestand your versioning - is 4.1 in .29 is same to 4.0 in .32?

Second, i've got idea. Is is possible to get smaller amount of apps
(let's say 10 or 8 or 4) but with ability to address larger ram amount
(say full 128M), and keep dynamic list of most recent N apps
fast-switching beetween them?

Gennady.
Gilles Chanteperdrix
2010-09-01 15:41:37 UTC
Permalink
Post by Gennady Kupava
Hi Gilles!
Thanks for your work, i hope it is highly appericated.
I want to talk a bit about your patch.
First, how about version for .34?
I am going to do it soon, but I am lacking some time. The FCSE patch is
maintained as part of the Adeos I-pipe patch, a patch which aim is to
allow running Linux with Xenomai, a real-time extension of Linux. And I
have a lot of work for Xenomai waiting on my todo list. So, it will not
be before, say 2 or 3 weeks.
Post by Gennady Kupava
i want to benchmark it. also, i do not
undestand your versioning - is 4.1 in .29 is same to 4.0 in .32?
4.1, 4.0 are revisions of the patch. Each branch is maintained and
versioned separately. They are maintained in the following git:

http://git.xenomai.org/ipipe-gch.git
Post by Gennady Kupava
Second, i've got idea. Is is possible to get smaller amount of apps
(let's say 10 or 8 or 4) but with ability to address larger ram amount
(say full 128M), and keep dynamic list of most recent N apps
fast-switching beetween them?
No. But the "best-effort" mode will allow you to mix applications with
large address spaces with applications with 32MB address-space.
--
Gilles.
Gennady Kupava
2010-09-03 07:54:55 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Second, i've got idea. Is is possible to get smaller amount of apps
(let's say 10 or 8 or 4) but with ability to address larger ram amount
(say full 128M), and keep dynamic list of most recent N apps
fast-switching beetween them?
No. But the "best-effort" mode will allow you to mix applications with
large address spaces with applications with 32MB address-space.
Is this hardware limitation or limitation of your implementation? ie, do
hardware allow implementation of my idea at all? assign 2 FCSE ids for 1
application is impossible?

Gennady
Gilles Chanteperdrix
2010-09-03 08:58:58 UTC
Permalink
Post by Gennady Kupava
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Second, i've got idea. Is is possible to get smaller amount of apps
(let's say 10 or 8 or 4) but with ability to address larger ram amount
(say full 128M), and keep dynamic list of most recent N apps
fast-switching beetween them?
No. But the "best-effort" mode will allow you to mix applications with
large address spaces with applications with 32MB address-space.
Is this hardware limitation or limitation of your implementation? ie, do
hardware allow implementation of my idea at all? assign 2 FCSE ids for 1
application is impossible?
It is a hardware limitation, read some documents on how the FCSE works,
and you will understand.
--
Gilles.
Vasily Khoruzhick
2010-09-01 15:30:06 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Vasily Khoruzhick
Post by Martix
Enables ARM Fast Context Switching Extension. Context switch can be
done without cache flush.
0001-add-ARM-FCSE-support.patch
Sending as attachment to prevent line wrapping.
Hi, what about sending this patch upstream? It would be nice if such a
nice work will be merged into mainline kernel.
I posted it three times on the Linux ARM kernel mailing list, never got
even an inch of an answer from rmk. Not "will look at it later", or "it
is pure crap". Nothing. So, I decided to stop posting it.
Please, try to post it again (and don't forget to add rmk to cc, your mails
from April'10 are addressed only to maillist) :) Btw, do you have version for
recent kernels? (2.6.36-rc1 or newer). I'd like to test it on my PDA (also
s3c2442 based).

Regards
Vasily
Gilles Chanteperdrix
2010-09-01 15:43:30 UTC
Permalink
Post by Vasily Khoruzhick
Post by Gilles Chanteperdrix
Post by Vasily Khoruzhick
Post by Martix
Enables ARM Fast Context Switching Extension. Context switch can be
done without cache flush.
0001-add-ARM-FCSE-support.patch
Sending as attachment to prevent line wrapping.
Hi, what about sending this patch upstream? It would be nice if such a
nice work will be merged into mainline kernel.
I posted it three times on the Linux ARM kernel mailing list, never got
even an inch of an answer from rmk. Not "will look at it later", or "it
is pure crap". Nothing. So, I decided to stop posting it.
Please, try to post it again (and don't forget to add rmk to cc, your mails
from April'10 are addressed only to maillist) :) Btw, do you have version for
recent kernels? (2.6.36-rc1 or newer). I'd like to test it on my PDA (also
s3c2442 based).
As far as I know rmk reads the linux arm kernel mailing list.
I tell you what, I will issue the patches for 2.6.34, 2.6.35, and 2.6.36
in a pair of weeks. And I will let you post the patches. Is it OK for you?
--
Gilles.
Vasily Khoruzhick
2010-09-01 17:32:03 UTC
Permalink
Post by Gilles Chanteperdrix
As far as I know rmk reads the linux arm kernel mailing list.
I tell you what, I will issue the patches for 2.6.34, 2.6.35, and 2.6.36
in a pair of weeks. And I will let you post the patches. Is it OK for you?
2.6.36 will be enough, OK, publish patches and I'll try to get them upstream.

Regards
Vasily
Vasily Khoruzhick
2010-09-18 19:53:57 UTC
Permalink
В сППбщеМОО Пт 1 of September 2010 18:43:30 автПр Gilles Chanteperdrix
Post by Gilles Chanteperdrix
As far as I know rmk reads the linux arm kernel mailing list.
I tell you what, I will issue the patches for 2.6.34, 2.6.35, and 2.6.36
in a pair of weeks. And I will let you post the patches. Is it OK for you?
So, what about FCSE patches for 2.6.36?

Regards
Vasily

P.S. Removed shr-devel from CC as I'm not its subscriber
Gennady Kupava
2010-09-18 21:09:42 UTC
Permalink
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.

with respect,
Gennady ;)
Gilles Chanteperdrix
2010-09-19 10:52:21 UTC
Permalink
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
--
Gilles.
Vasily Khoruzhick
2010-12-12 20:13:02 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Gilles Chanteperdrix
2010-12-15 20:15:14 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
I am sorry, I have not made any move. This will probably not happen
before the end of the year.
--
Gilles.
Patryk Benderz
2010-12-15 21:40:42 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
I am sorry, I have not made any move. This will probably not happen
before the end of the year.
Do not worry, but remember what they say: Better late then never ;)
--
Patryk "LeadMan" Benderz
Linux Registered User #377521
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
Martix
2011-01-16 16:14:19 UTC
Permalink
Just for information, now we have Linux 2.6.37 branch* and probably
our distributions will soon switch from 2.6.34 to 2.6.37.

* http://git.openmoko.org/?p=kernel.git;a=shortlog;h=refs/heads/om-2.6.37

Regards,

Martix
Timo Juhani Lindfors
2011-01-16 16:28:35 UTC
Permalink
Post by Martix
Just for information, now we have Linux 2.6.37 branch* and probably
our distributions will soon switch from 2.6.34 to 2.6.37.
Which distribution is this?
Martix
2011-01-16 16:31:25 UTC
Permalink
I meant our distributions like SHR unstable and Qt Moko.
Post by Timo Juhani Lindfors
Post by Martix
Just for information, now we have Linux 2.6.37 branch* and probably
our distributions will soon switch from 2.6.34 to 2.6.37.
Which distribution is this?
Gennady Kupava
2011-01-16 15:28:24 UTC
Permalink
Hi, Martix.
Post by Martix
Just for information, now we have Linux 2.6.37 branch* and probably
our distributions will soon switch from 2.6.34 to 2.6.37.
Sad, but true - author has no enough time to port it to latest kernels,
probably he is too busy or lost interest to this topic. So let's stop
pinging him... and try to port patch on our own.

Gennady
Gilles Chanteperdrix
2011-01-16 16:49:10 UTC
Permalink
Post by Martix
Just for information, now we have Linux 2.6.37 branch* and probably
our distributions will soon switch from 2.6.34 to 2.6.37.
* http://git.openmoko.org/?p=kernel.git;a=shortlog;h=refs/heads/om-2.6.37
Hi,

On my side, I forward ported the FCSE patch to 2.6.37. But have some
troubles validating it with LTP (I get OOM, and LTP does not finish, I
am not sure it is related to the FCSE patch). So, I give up for now, and
try again in about two weeks. My aim was to get the patches ready for
the 2.6.38 merge window, but it is not going to work.

Regards,
--
Gilles.
Gennady Kupava
2011-01-16 16:18:10 UTC
Permalink
Post by Gilles Chanteperdrix
On my side, I forward ported the FCSE patch to 2.6.37. But have some
troubles validating it with LTP (I get OOM, and LTP does not finish, I
am not sure it is related to the FCSE patch). So, I give up for now, and
try again in about two weeks. My aim was to get the patches ready for
the 2.6.38 merge window, but it is not going to work.
Ah, great, thanks for your work! Nice that i were wrong :)

Gennnady.
Gilles Chanteperdrix
2011-02-04 00:35:26 UTC
Permalink
Post by Gennady Kupava
Post by Gilles Chanteperdrix
On my side, I forward ported the FCSE patch to 2.6.37. But have some
troubles validating it with LTP (I get OOM, and LTP does not finish, I
am not sure it is related to the FCSE patch). So, I give up for now, and
try again in about two weeks. My aim was to get the patches ready for
the 2.6.38 merge window, but it is not going to work.
Ah, great, thanks for your work! Nice that i were wrong :)
привет!

I did not get the message where you were wrong, so, no harm done :-)

Just to let you know, FCSE for 2.6.37 is basically working. All that
remains to be done is to fix a few details and cleanups and to split the
work in logical patches for mainline submission.

Regards.
--
Gilles.
Gilles Chanteperdrix
2011-02-15 03:44:51 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Hi all,

the patch series for FCSE with Linux 2.6.37 is available in the
following git repository:
git://git.xenomai.org/ipipe-gch.git
in a branch named fcse-2.6.37
Also available through gitweb here:
http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/fcse-2.6.37

This is a forward port of the 2.6.33 v4 patch, a few things have
changed, a few cleanups here and there, while splitting the patch in
several parts. The most notable change is that we no longer restart
cache flushes when they were preempted, it was, in fact, useless.

Also, I noticed that the hackbench test is not the only one in LTP
testsuite to benefit from the speed improvement brought by this patch,
the whole LTP testsuite takes actually 15% less time to execute with the
FCSE patch on.

I think the patch series can be submitted to mainline, at least as a
request for comments. If you end up submitting them after 2.6.38 is out,
then please tell me, and I will rebase on 2.6.38. The most tedious part
of the job was to split the patch in several parts, now that it is done,
we can rebase easily.

Regards.
--
Gilles.
Gennady Kupava
2011-02-15 09:54:20 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Hi all,
the patch series for FCSE with Linux 2.6.37 is available in the
git://git.xenomai.org/ipipe-gch.git
in a branch named fcse-2.6.37
http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/fcse-2.6.37
This is a forward port of the 2.6.33 v4 patch, a few things have
changed, a few cleanups here and there, while splitting the patch in
several parts. The most notable change is that we no longer restart
cache flushes when they were preempted, it was, in fact, useless.
Also, I noticed that the hackbench test is not the only one in LTP
testsuite to benefit from the speed improvement brought by this patch,
the whole LTP testsuite takes actually 15% less time to execute with the
FCSE patch on.
I think the patch series can be submitted to mainline, at least as a
request for comments. If you end up submitting them after 2.6.38 is out,
then please tell me, and I will rebase on 2.6.38. The most tedious part
of the job was to split the patch in several parts, now that it is done,
we can rebase easily.
Hi, Gilles,

My plan with your patches is to test it here with lmbench, but I have
some troubles with .37 at this moment, so i need to go other round to
resolve .37 problems first. I'll post lmbench result then it'll be
ready.

Gennady.
Gilles Chanteperdrix
2011-02-15 11:08:17 UTC
Permalink
Post by Gennady Kupava
Post by Gilles Chanteperdrix
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Hi all,
the patch series for FCSE with Linux 2.6.37 is available in the
git://git.xenomai.org/ipipe-gch.git
in a branch named fcse-2.6.37
http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/fcse-2.6.37
This is a forward port of the 2.6.33 v4 patch, a few things have
changed, a few cleanups here and there, while splitting the patch in
several parts. The most notable change is that we no longer restart
cache flushes when they were preempted, it was, in fact, useless.
Also, I noticed that the hackbench test is not the only one in LTP
testsuite to benefit from the speed improvement brought by this patch,
the whole LTP testsuite takes actually 15% less time to execute with the
FCSE patch on.
I think the patch series can be submitted to mainline, at least as a
request for comments. If you end up submitting them after 2.6.38 is out,
then please tell me, and I will rebase on 2.6.38. The most tedious part
of the job was to split the patch in several parts, now that it is done,
we can rebase easily.
Hi, Gilles,
My plan with your patches is to test it here with lmbench, but I have
some troubles with .37 at this moment, so i need to go other round to
resolve .37 problems first. I'll post lmbench result then it'll be
ready.
No problem, I am not in a hurry, I do not hope much from mainline
submission, my aim is to work on the Adeos I-pipe patch for ARM, and now
that I have the FCSE, I can work on that. Simply, what I meant to tell,
is that if we rebase the patch on 2.6.38, we need to revalidate it
before submission, we can not send it simply rebased and hope that it works.

Note that tests with lmbench have already been done, you may find the
results in the paper we made with Richard Cochran:
http://sisyphus.hd.free.fr/~gilles/pub/fcse/paper.pdf

Regards.
--
Gilles.
Martix
2011-02-15 13:28:11 UTC
Permalink
Hi,
thanks for your FCSE patchset update. I will test it in couple of days
with SHR on my Neo FreeRunner and if everything will be alright I'll
ask for submission to Openmoko kernel tree. I hope FCSE patchset will
reach Linux mainline soon.

Best regards,

Martin 'Martix' Holec
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Gilles Chanteperdrix
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Hi all,
the patch series for FCSE with Linux 2.6.37 is available in the
git://git.xenomai.org/ipipe-gch.git
in a branch named fcse-2.6.37
http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/fcse-2.6.37
This is a forward port of the 2.6.33 v4 patch, a few things have
changed, a few cleanups here and there, while splitting the patch in
several parts. The most notable change is that we no longer restart
cache flushes when they were preempted, it was, in fact, useless.
Also, I noticed that the hackbench test is not the only one in LTP
testsuite to benefit from the speed improvement brought by this patch,
the whole LTP testsuite takes actually 15% less time to execute with the
FCSE patch on.
I think the patch series can be submitted to mainline, at least as a
request for comments. If you end up submitting them after 2.6.38 is out,
then please tell me, and I will rebase on 2.6.38. The most tedious part
of the job was to split the patch in several parts, now that it is done,
we can rebase easily.
Hi, Gilles,
My plan with your patches is to test it here with lmbench, but I have
some troubles with .37 at this moment, so i need to go other round to
resolve .37 problems first. I'll post lmbench result then it'll be
ready.
No problem, I am not in a hurry, I do not hope much from mainline
submission, my aim is to work on the Adeos I-pipe patch for ARM, and now
that I have the FCSE, I can work on that. Simply, what I meant to tell,
is that if we rebase the patch on 2.6.38, we need to revalidate it
before submission, we can not send it simply rebased and hope that it works.
Note that tests with lmbench have already been done, you may find the
http://sisyphus.hd.free.fr/~gilles/pub/fcse/paper.pdf
Regards.
--
                                           Gilles.
Gilles Chanteperdrix
2011-02-22 23:36:25 UTC
Permalink
Post by Gilles Chanteperdrix
Post by Gilles Chanteperdrix
Post by Gennady Kupava
Post by Vasily Khoruzhick
So, what about FCSE patches for 2.6.36?
And for 2.6.34.
I did not work on this. Do not worry, I will notify you when it is done.
Ping?
Hi all,
the patch series for FCSE with Linux 2.6.37 is available in the
git://git.xenomai.org/ipipe-gch.git
in a branch named fcse-2.6.37
http://git.xenomai.org/?p=ipipe-gch.git;a=shortlog;h=refs/heads/fcse-2.6.37
This is a forward port of the 2.6.33 v4 patch, a few things have
changed, a few cleanups here and there, while splitting the patch in
several parts. The most notable change is that we no longer restart
cache flushes when they were preempted, it was, in fact, useless.
Also, I noticed that the hackbench test is not the only one in LTP
testsuite to benefit from the speed improvement brought by this patch,
the whole LTP testsuite takes actually 15% less time to execute with the
FCSE patch on.
I think the patch series can be submitted to mainline, at least as a
request for comments. If you end up submitting them after 2.6.38 is out,
then please tell me, and I will rebase on 2.6.38. The most tedious part
of the job was to split the patch in several parts, now that it is done,
we can rebase easily.
Regards.
Sorry guys, I just rebased the branch, we were triggering a false BUG
with CONFIG_PREEMPT_VOLUNTARY + CONFIG_ARM_FCSE_DEBUG.
--
Gilles.
Loading...