Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
161c3d83 |
| 13-Oct-2019 |
Sascha Wildner <saw@online.de> |
world/kernel: Use the powerof2() macro in various places.
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2 |
|
#
fcf6efef |
| 02-Mar-2019 |
Sascha Wildner <saw@online.de> |
kernel: Remove numerous #include <sys/thread2.h>.
Most of them were added when we converted spl*() calls to crit_enter()/crit_exit(), almost 14 years ago. We can now remove a good chunk of them agai
kernel: Remove numerous #include <sys/thread2.h>.
Most of them were added when we converted spl*() calls to crit_enter()/crit_exit(), almost 14 years ago. We can now remove a good chunk of them again for where crit_*() are no longer used.
I had to adjust some files that were relying on thread2.h or headers that it includes coming in via other headers that it was removed from.
show more ...
|
Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1 |
|
#
cd1bb886 |
| 23-Apr-2018 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/ioapic: Make sure that legacy IRQ only appears on one CPU.
The legacy IRQ lookup assumes only one CPU has a given legacy IRQ.
On system w/ large number of IOAPIC, GSI96 could be mapped to IR
x86_64/ioapic: Make sure that legacy IRQ only appears on one CPU.
The legacy IRQ lookup assumes only one CPU has a given legacy IRQ.
On system w/ large number of IOAPIC, GSI96 could be mapped to IRQ17 on CPU0 (since IRQ96 is used by SYSCALL), while GSI17 is mapped to IRQ17 on another CPU. This breaks later IRQ lookup.
Reported-by: Imre Vadasz Tested-by: Imre Vadasz
show more ...
|
Revision tags: v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1 |
|
#
70f74b76 |
| 07-Apr-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
Revert "kernel - Spread IPIs out to more priority levels"
This commit seems to be causing a performance regression on VMs. Since it didn't fix a particular bug (was just supposed to make things more
Revert "kernel - Spread IPIs out to more priority levels"
This commit seems to be causing a performance regression on VMs. Since it didn't fix a particular bug (was just supposed to make things more robust), revert it for now.
Reported-by: tkusumi
This reverts commit f240042b9f9bcfdacd70499659fcc5f55d5e49ab.
show more ...
|
#
f240042b |
| 27-Mar-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Spread IPIs out to more priority levels
* Due to the brandamaged way the LAPIC queues received IPIs, each priority level (the top 4 bits of the 8 bit vector) has a 2-entry FIFO. Bring
kernel - Spread IPIs out to more priority levels
* Due to the brandamaged way the LAPIC queues received IPIs, each priority level (the top 4 bits of the 8 bit vector) has a 2-entry FIFO. Bring in comments from FreeBSD on how this works.
* Change our IPI vectors which previously used 2 priority levels to now use 3 priority levels. Each source is generally limited by an atomic op to avoid multi-queueing and hopefully that means the above LAPIC hw queue will never refuse to accept an IPI.
IPIQ and TIMER use group 1
INVLTLB (and INVLPG) uses group 2
SNIFF, CPUSTOP, and SPURIOUSINT use group 3
* Reduces the number of vectors available per cpu by 16, but shouldn't present that big a problem.
show more ...
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0 |
|
#
d8f4ebf4 |
| 23-Apr-2016 |
Charlie Root <root@apollo.backplane.com> |
kernel - Reduce BSS size to fix loader initrd problem
* kernel + modules + initrd.img (unpacked) exceeded the 63MB the loader has available for load-time data.
* Top hogs are mainly in BSS. Make
kernel - Reduce BSS size to fix loader initrd problem
* kernel + modules + initrd.img (unpacked) exceeded the 63MB the loader has available for load-time data.
* Top hogs are mainly in BSS. Make intr_info_ary and pcpu_sysctl kmalloc after boot instead of BSS as a temporary fix.
335872 ifnet_threads 335872 netisr_cpu 339968 dummy_pcpu 344064 bsd4_pcpu 344064 stoppcbs 346112 softclock_pcpu_ary 538624 cpu_topology_nodes 755712 dfly_pcpu 786432 icu_irqmaps 958464 map_entry_init 1048576 idt_arr 1064960 pcpu_sysctl <---- now kmallocd 1179648 ioapic_irqmaps <---- (used too early, cannot be kmallocd) 5242880 intr_info_ary <---- now kmallocd
* Should fix loader issues when trying to use initrd.img[.gz] for now.
Reported-by: Valheru
show more ...
|
Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc |
|
#
ba8c7d5f |
| 11-May-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/ioapic: Enable GSI target CPU auto-balance by default
The original bug, which prevented GSI target CPU auto-balance, probably was fixed by 902419bf6d9fd0f80afc9d07cd4b3e99d20f23ca.
|
Revision tags: v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1 |
|
#
644285c0 |
| 10-Apr-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ioapic: Relocate IRQ if it hits SYSCALL entry
The system hitting the "unused IRQ assertion" has 5x24 pin IOAPICs
Reported-by: ruse39
|
Revision tags: v3.4.0rc, v3.5.0 |
|
#
5db2f26e |
| 03-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel: Move sys/dev/acpica5 to sys/dev/acpica.
The 5 used to indicate that it was imported from FreeBSD 5 but that doesn't matter anymore.
In-discussion-with: sephe
|
Revision tags: v3.2.2 |
|
#
aad8a0a7 |
| 30-Oct-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ioapic/x86_64: Allow GSI > 191
Some BIOSes seem to assume that all 256 IDT vectors could be used, while we limit the available IDT vectors percpu to 192. Find an unused IRQ for these GSIs, if this
ioapic/x86_64: Allow GSI > 191
Some BIOSes seem to assume that all 256 IDT vectors could be used, while we limit the available IDT vectors percpu to 192. Find an unused IRQ for these GSIs, if this ever happens.
Reported-by: thowe on EFnet #dragonflybsd
show more ...
|
Revision tags: v3.2.1, v3.2.0, v3.3.0 |
|
#
86d692fe |
| 28-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
MachIntr: Add two methods to find IRQ
- Find IRQ conforming to the specified trigger and polarity, if it was configured. - Find IRQ by GSI, the located IRQ must conform to the specified trigger
MachIntr: Add two methods to find IRQ
- Find IRQ conforming to the specified trigger and polarity, if it was configured. - Find IRQ by GSI, the located IRQ must conform to the specified trigger and polarity if it was configured.
show more ...
|
Revision tags: v3.0.3 |
|
#
ed20d0e3 |
| 21-Apr-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove newlines from the panic messages that have one.
panic() itself will add a newline.
|
Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
9dbe6e38 |
| 17-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ioapic_abi/x86_64: Implement MSI-X alloc/release
|
#
bec969af |
| 13-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
MachIntrABI: intr_{config,cpuid} -> legacy_intr_{config,cpuid}
So these two functions will not be misused on MSI. No functional changes
|
#
027bbbfe |
| 12-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ioapic_abi: More consistent function name w/ legacy interrupt
No functional changes
|
#
f9593a5d |
| 10-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: LINE interrupt -> LEGACY interrupt
|
#
98900040 |
| 06-Jan-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ioapic_abi/x86_64: Remove no longer applied warning
While I'm here, strip blank lines
|
#
2c3d7ac8 |
| 27-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
msi/pci: Adjust pci_alloc_msi method interface
- The requested number of MSI messages is no longer adjusted in pci_alloc_msi_method(), instead, caller should adjust it. - rids of the MSI SYS_RES_I
msi/pci: Adjust pci_alloc_msi method interface
- The requested number of MSI messages is no longer adjusted in pci_alloc_msi_method(), instead, caller should adjust it. - rids of the MSI SYS_RES_IRQ are explicitly returned to caller, instead of letting caller fill them based on the implied rules. - MSI messages' target CPU auto-selection. - Intead of reallocation using reduced number of MSI messages, we try to allocate the requested amount of MSI messages on different CPUs, if the desired CPU does not have enough vectors. - The requested amount of MSI messages must be sane.
show more ...
|
#
7b87350b |
| 26-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/msi: Add hw.ioapic.msi_start tunable
This is mainly used to test MSI allocation over the whole valid hardware interrupt space.
|
#
4234567c |
| 25-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: Add MSI support for IOAPIC MachIntrABI
|
#
8a06c6ee |
| 18-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: Per-cpu IDT
|
#
26cf64b2 |
| 16-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/MachintrABI: Use low-level INTR{EN,DIS} in intr_{setup,teardown}
intr_{setup,teardown} have already done enough verification for the 'intr' parameter
|
#
88100cf6 |
| 16-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/ioapic_abi: Augment intr_{setup,teardown} w/ assertions
|
#
aef690c8 |
| 16-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/ioapic_abi: Augment intr_disable/intr_enable w/ assertions
|
#
b8dfb6b1 |
| 07-Dec-2011 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/ioapic: Always allow user to specify GSI's target CPU
Even if interrupt automatic load balance is disable we still should obey the explicit GSI target CPU configuration.
|