Re: Per-cpu IDT patch
Maxime Villard <[email protected]> Fri, 3 Jul 2020 08:27:56 +0200
| Newsgroups | gmane.os.netbsd.ports.x86-64,gmane.os.netbsd.ports.i386 |
|---|---|
| Message-ID | <[email protected]> |
Le 03/07/2020 à 07:11, s ymgch a écrit : > Hi all, > > I tried to make an IDT per-cpu. The patch is here: > http://www.netbsd.org/~yamaguchi/pcpu-idt.patch > > The summary of modifications is as follows. > - Add an IDT pointer and idt_allocmap into struct cpu_info > - Change prototype of cpu_init_idt() > - void => struct cpu_info* > - for loading an IDT address in struct cpu_info* > - Copy a part of IDT entries from cpu 0 at attaching a CPU > - for the same entries, for example, exceptions, db, etc. > > This function can be enabled by PCPU_IDT option that is newly provided. Why would we want a per-cpu IDT? To increase the number of entries? > Does this patch look good? > Please let me know if you have any comments about this. Since the idt page is moved into pcpu_entry, it can be removed from pcpu_area Maxime