lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <alpine.GSO.2.00.1402020900270.7559@git.silcnet.org> Date: Sun, 2 Feb 2014 09:45:13 +0100 (CET) From: Pekka Riikonen <priikone@....fi> To: Linus Torvalds <torvalds@...ux-foundation.org> cc: "H. Peter Anvin" <hpa@...or.com>, Suresh Siddha <sbsiddha@...il.com>, Nate Eldredge <nate@...tsmathematics.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...nel.org>, the arch/x86 maintainers <x86@...nel.org>, stable <stable@...r.kernel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Maarten Baert <maarten-baert@...mail.com>, Jan Kara <jack@...e.cz>, George Spelvin <linux@...izon.com>, Pekka Riikonen <priikone@....fi> Subject: Re: [PATCH] Make math_state_restore() save and restore the interrupt flag On Sat, 1 Feb 2014, Linus Torvalds wrote: > We could do that with the whole "task_work" thing (or perhaps just > do_notify_resume(), especially after merging the "don't necessarily > return with iret" patch I sent out earlier), with additionally making > sure that scheduling does the right thing wrt a "currently dirty math > state due to kernel use". > > The advantage of that would be that we really could do a *lot* of FP > math very cheaply in the kernel, because we'd pay the overhead of > kernel_fpu_begin/end() just once (well, the "end" part would be just > setting the bit that we now have dirty state, the cost would be in the > return-to-user-space-and-restore-fp-state part). > > Comments? That would be much more invasive than just changing > __kernel_fpu_end(), but would bring in possibly quite noticeable > advantages under loads that use the FP/vector resources in the kernel. > This would be very good and it needs to work in interrupt context (softirq) also, and when we interrupt idle task. It's with networking we can really hit kernel_fpu_begin()/end() millions of times per second and there's really only need to do it once per interrupt. This is actually similar what I was doing (in do_softirq)) when I noticed eagerfpu was broken and now Nate's bug AFAICS happens there as well. Pekka -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists