Amiga.org

Amiga.org (http://www.amiga.org/forums/index.php)
-   Amiga Software Issues and Discussion (http://www.amiga.org/forums/forumdisplay.php?f=14)
-   -   PFS3 status update (http://www.amiga.org/forums/showthread.php?t=57448)

Piru 04-21-2011 03:56 AM

PFS3 status update
 
I've been working on PFS3 by using a cross compiler on AMD64 linux box. This has prevented me from testing much of the changes so far, but I will do that shortly when I'll have access to my MorphOS box again.

So far I've:
  • replaced all assembler parts with C code
  • fixed several small bugs in the original code
  • ported the code to compile with GCC, while making sure the original SAS/C build works ok as well
  • ported the filesystem and the tools to MorphOS
  • removed all static data from the filesystem making it possible to include it in the MorphOS boot.img

To do:
  • add support for new MorphOS dospackets
  • add a resethandler to commit any pending changes to disk before reboot
  • testing all the new code and port, fixing any issues
  • fixing the remaining serious bugs (MakeAnodeBitmap superindex array out of bounds access, beta warning #1, softlink support, PFSDoctor zeropage hits)
  • possibly create a MUI GUI for PFSDoctor

Some links that might be of interest:

SHADES 04-21-2011 04:23 AM

Re: PFS3 status update
 
you've got to be kidding? the Perfect File System 3 code? you ported it?
i tried many many times to contact the author to get this released to public over many many years!!
i thought it was closed source, i.e. proprietary, paid for software.
i always used this file system, was so much faster and more reliable than ffs, tests i have done show it to be faster than sfs too.

Err, i'd love to see this file system back in development if you did manage to contact the author and get the code!
All i can say is wow. well done!

Piru 04-21-2011 04:28 AM

Re: PFS3 status update
 
Quote:

Originally Posted by SHADES (Post 632760)
you've got to be kidding? the Perfect File System 3 code? you ported it?
i thought it was closed source, i.e. proprietary, paid for software.

It became open source recently: See http://www.amiga.org/forums/showthread.php?t=52358
Quote:

i always used this file system, was so much faster and more reliable than ffs, tests i have done show it to be faster than sfs too.
Indeed. It's far the best filesystem on amigoid systems. It has some small tiny issues I intend to fix though.

Quote:

Err, i'd love to see this file system back in development if you did manage to contact the author and get the code!
All i can say is wow. well done!
Getting the code wasn't my doing (see the other thread for details) but now that the source code is available I intend to help as much as I can.

mfilos 04-21-2011 04:39 AM

Re: PFS3 status update
 
Awesome news there Piru!!! I was expecting your contribution but wasn't expecting it so soon :)
Btw the SourceForge milestones are really great! I can't wait for the future releases \o/

Are you gonna include binaries for both 3.x and MorphOS platforms in the future releases? (I hope so).

Piru 04-21-2011 04:55 AM

Re: PFS3 status update
 
Quote:

Originally Posted by mfilos (Post 632763)
Are you gonna include binaries for both 3.x and MorphOS platforms in the future releases? (I hope so).

This hasn't been decided yet and needs some careful planning. A filesystem is such a critical component that some serious testing should be done before a new version is released. No such testing/release planning has been done yet.

My plan is to include the PFS3 is some future MorphOS release at least. The filesystem will be inside the boot.img, making it possible to use PFS3 easily with the supported Mac systems, too. Without being inside the boot.img you would be limited to systems with RDB support or to mounting via mountlists.

Also the current 68k version functions just fine with MorphOS already, and since the filesystem is translated by the Trance JIT is likely to be exactly as fast as the native version will be.

For now I've omitted committing the MorphOS Makefiles in the SVN. This is because I have been unable to test much my new code. I wouldn't want anyone to hose their data with a buggy filesystem. Once I've tested and bugfixed the code I'll add the Makefiles. At that stage anyone with the SDK installed can build the filesystem and play with it. Obviously even then I'd seriosly recommend only doing that with some spare partitions and avoid using the SVN version in production environments.

nicholas 04-21-2011 05:09 AM

Re: PFS3 status update
 
Great work Piru, thanks! :)

What gcc arguments do you recommend to compile it with for fastest performance on a CS 060?

Just a simple -m68060 will suffice?

Piru 04-21-2011 06:34 AM

Re: PFS3 status update
 
Quote:

Originally Posted by nicholas (Post 632771)
What gcc arguments do you recommend to compile it with for fastest performance on a CS 060?

Just a simple -m68060 will suffice?

Last I played with 68k target gcc it was back in the 2.95 time. Back then gcc produced far worse code for 68k than SAS/C. I don't know if things has changed since, but in general -O2 with the flag specifying the CPU target (in this case -m68060) is usually the best choice. -O3 is worth trying as well, but usually it only leads to very minimal speed up with the expense of the binary bloating up. As always try couple of different optimization flag combinations and benchmark your code.

Gulliver 04-21-2011 07:49 AM

Re: PFS3 status update
 
@Piru

Thank you for your support to further develop PFS3. I was checking the project SVN and Bugtracker on a daily basis, and I am pleased you are both working on it. I just hope some more developers join in!

psxphill 04-21-2011 08:31 AM

Re: PFS3 status update
 
Quote:

Originally Posted by Piru (Post 632782)
Last I played with 68k target gcc it was back in the 2.95 time. Back then gcc produced far worse code for 68k than SAS/C. I don't know if things has changed since, but in general -O2 with the flag specifying the CPU target (in this case -m68060) is usually the best choice.

I think the geekgadgets build I used was 2.95 and I found that building for 68000 with gcc was quicker than any sas/c build & any other gcc build. At the time gcc probably didn't know to avoid 020 stuff that was removed in later processors.

MichielP 04-22-2011 06:22 AM

Re: PFS3 status update
 
Anyone experience with vbcc? Got a mail from Stefan Haubenthal who wants to make PFS compatible with it. The site http://sun.hasenbraten.de/vbcc/ claims pretty good performance.

Michiel

Karlos 04-22-2011 07:13 AM

Re: PFS3 status update
 
Quote:

Originally Posted by Piru (Post 632782)
Last I played with 68k target gcc it was back in the 2.95 time. Back then gcc produced far worse code for 68k than SAS/C. I don't know if things has changed since, but in general -O2 with the flag specifying the CPU target (in this case -m68060) is usually the best choice.

I don't think it ever got a lot better in later versions. Last time I checked, it wouldn't even output scaled indexed addressing modes on 020+.

Piru 04-22-2011 07:16 AM

Re: PFS3 status update
 
Quote:

Originally Posted by MichielP (Post 633073)
Anyone experience with vbcc? Got a mail from Stefan Haubenthal who wants to make PFS compatible with it.

I think my GCC fixes should go a long way fixing it for VBCC as well. I also made sure that the alignment patches (#pragma pack(2)) work with VBCC, too. No doubt there will be some things to fix with VBCC still.

I haven't used VBCC myself though.

freqmax 04-22-2011 07:45 AM

Re: PFS3 status update
 
I hope the free PFS will be available for 68000 stock AmigaOS too.

matt3k 04-22-2011 09:01 AM

Re: PFS3 status update
 
Thanks Piru,

Your support of MOS is a tremendous asset. I love PFS for the Amiga and look forward to it being used in MOS.

Regards,

Matt

Zac67 04-22-2011 10:26 AM

Re: PFS3 status update
 
:hammer: Good stuff - thx!!


All times are GMT -6. The time now is 06:44 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Amiga.org and the AO logo are copyright 1995 - 2014, DFX Partners, Amiga.org was created by Wayne Hunt
Ad Management plugin by RedTyger