Messages in this thread | | | Date | Mon, 1 Jun 2020 12:57:00 -0400 | From | Rich Felker <> | Subject | Re: [PATCH] sh: Implement __get_user_u64() required for 64-bit get_user() |
| |
On Mon, Jun 01, 2020 at 11:13:26AM +0200, John Paul Adrian Glaubitz wrote: > Hello! > > On 6/1/20 11:02 AM, Geert Uytterhoeven wrote: > >> Can I propose a different solution? For archs where there isn't > >> actually any 64-bit load or store instruction, does it make sense to > >> be writing asm just to do two 32-bit loads/stores, especially when > >> this code is not in a hot path? > >> > >> What about just having the 64-bit versions call the corresponding > >> 32-bit version twice? (Ideally this would even be arch-generic and > >> could replace the m68k asm.) It would return EFAULT if either of the > >> 32-bit calls did. > > > > Yes, that's an option, too. > > That's the solution that Michael Karcher suggested to me as an alternative > when I talked to him off-list. > > While I understand that it works, I don't like the inconsistency and I also > don't see why we should opt for a potentially slower solution when we can > used the fastest one. > > I'm also not sure how the exception handling would properly work when you > have two invocations of __get_user_asm(). > > My current approach is consistent with the existing code, so I think it's > the natural choice. I just need someone with more experience in SH assembler > than me that the solution is correct. > > I have already pinged Niibe-san in private, he'll hopefully get back to me > within the next days.
I don't have an objection to doing it the way you've proposed, but I don't think there's any performance distinction or issue with the two invocations.
| |