![]() SVGs are compelling to use for many reasons, and one of them is their ease of accessibility. I have complete faith in the Microsoft Edge team and absolutely expect support to arrive within the next few months.Īll of our dreams came true. We would track progress and vote for attention to this issue. We had been waiting on Edge, previously, but David Storey, Edge’s project manager assured us that native support for external content in SVGs was high on their checklist. OSĪs you can see, all major browsers support external content. Modern browsers support external content in SVGs, except Edge. Use of the nosvg option will requires you to use the legacy version of SVG for Everybody. Thread overview: 33+ messages / expand mbox.Svg4everybody ( ) So we'll continue to work on that in order to enable the parallelīringup on x86, unless anyone has any cleverer ideas.Īfter that we'll get to the TSC sync, which is also not working in Would be horrid to rely on that on *purpose* :) Place the *same* return address at the same place on the stack, but it Only thing they all use it for is a 'call verify_cpu' and they all (Actually they don't seem to mind in practice right now because the Oh, and ideally it needs to do this without using a real-mode stack,īecause they won't like sharing that *either*. With the right apicid, much like default_cpu_present_to_apicid() does. Perhaps just by trawling the various per-cpu data until it finds one Idle thread stack and per-cpu data with a lookup based on its APICID. So the trampoline code would need to find the logical CPU# and thus the I think the only thing the AP has that can disambiguate it from otherĪPs is its CPUID, which it can get in its full 32-bit glory fromĬPUID.0BH:EDX (and I think we can say we'll do parallel bringup *only* The same stack as they come up in parallel, and weird behaviour ensues. It turns out that the APs don't like all sharing We store initial_stack and initial_gs for "the" AP that is coming up, That's the generic part mostly done, and the fun part is where we turnīack to x86 and actually try to split out those four phases of X86/smpboot: Reference count on smpboot_setup_warm_reset_vector() X86/apic/x2apic: Fix parallel handling of cluster_maskĬpu/hotplug: Add dynamic states before CPUHP_BRINGUP_CPU for parallel bringup ![]() So I'm relatively happy at least that far, as preparatory work. We can do that just as a "cleanup" with no Native_cpu_up() into the four separate phases that I had got separate It's also fairly much a no-brainer to splitting up the x86 Into my final patch but frankly, that's the least of my worries about I'll also want to add the irq_lock_sparse() ![]() That means I needed to export idle_thread_get() for the pre-bringup In the state table or not, for which there is precedent already. Its own functions to be called directly, and the loop inīringup_nonboot_cpus() can then operate directly on whether they exist The arch register the CPUHP_BP_PARALLEL_DYN states the normal way with Seemed kind of horrid, so I went for the simple option of just letting Provide a config symbol for whether it really wants them or not? That The pre-bringup states, having hard-coded them? Then let the arch so do we add similar wrappers in kernel/cpu.c for *all* of The irq_lock_sparse() and the idle_thread_get() from there mightĪctually be needed in *earlier* states for platforms which do parallelīringup. Of the existing special-case hackery in bringup_cpu() for the We spent a while vacillating about how to add the new states, because Of CPUs to those "CPUHP_BP_PARALLEL_DYN" dynamic parallel pre-bringup I'veįixed up the bringup_nonboot_cpus() loop to bring an appropriate number Immediately before CPUHP_BRINGUP_CPU as we originally wanted. With the X2APIC global variable thing fixed, the new states can be Hotplug case, although I need to check it gets torn down in the error I've refcounted the warm reset vector thing which should fix the > native_smp_cpus_done() for testing for now. > we'll have to come back to that but we've just shifted it to > Except that it also needs to be done before/after a hotplug cpu up > loop, and done *once* at startup and torn down once in smp_cpus_done. > warm reset vector is going to need to be lifted out of the per-cpu > Here's the hack we're testing with, for reference. On Thu, at 15:55 +0100, Thomas Gleixner wrote: Peter Anvin" Re: use x86 cpu park to speedup smp_init in kexec situationĭate: Mon, 10:36:11 +0000 Re: use x86 cpu park to speedup smp_init in kexec situation - David Woodhouse archive mirror help / color / mirror / Atom feed From: David Woodhouse
0 Comments
Leave a Reply. |