Open blastrock opened 5 years ago
Is ux0: the memcard or the SD2VITA ? Maybe your microSD is slower than official memcards...
ux0: is the sd2vita, or the internal memory, depending on the test. When it's the sd2vita it takes 250ms. The problem is specific to mkdir, so I don't think the issue is with the sd card. It also works fine when plugged in a computer.
Happens in gamesd too (see https://github.com/xyzz/gamecard-microsd/issues/30) so it is directly related to the way the sd2vita (GCD) patch is done.
I have made some tests on sceIoMkdir and I get the following results:
sceIoOpen("ux0:somefile", SCE_O_CREAT|SCE_O_WRONLY)
with or without sd2vita => 2mssceIoMkdir("ux0:data", 06)
or any folder that already exists => 2mssceIoMkdir("ur0:test", 06)
=> 40mssceIoMkdir("ux0:test", 06)
without sd2vita and StorageMgr or gamesd => 40mssceIoMkdir("ux0:test", 06)
with sd2vita and StorageMgr or gamesd => 250 ms or moreThis issue causes massive download speed drops in pkgj for games that contains hundreds of folders and eventually lead to a download failure due to HTTP timeout. I am also wondering if these 250ms aren't spent doing a FS sync to the sdcard which may wear it out sooner than necessary.
I tried a couple things (on the gamesd plugin, not this one, they are similar though). Replacing
with
Because that's what the structure looks like before being replaced. It did not help.
I also tried using
sdstor0:gcd-lp-act-entire
because that's a string that appears in the exfat kernel module.Here is the small c++ snippet I used to benchmark
mkdir
: