#2004 accepted defect

sparc64: problem using softint and timer together

Reported by: Gedare Owned by: Gedare
Priority: normal Milestone: Indefinite
Component: bsps Version: 4.11
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description (last modified by Gedare)

sparc64 hardware shares an interrupt level (14) between tick comparison and software-raised interrupts. current bsps do not handle the situation of both interrupt sources simultaneously, so software interrupts cannot be used when the timer also is used. What happens is the interrupt level (PIL) does not get set/reset properly and interrupts are missed.

The attached patch is a work-around that hacks the clock isr, but I need to look more closely at the generic ISR handling code to see if the bug is due to interactions between PIL assignment, interrupt enable/disable, and scheduling.

Attachments (2)

sparc64-softint.diff (998 bytes) - added by Gedare on Feb 1, 2012 at 3:55:49 PM.
new assembly macros for writing to softint register
sparc64-clock-pil.diff (2.0 KB) - added by Gedare on Feb 1, 2012 at 3:56:21 PM.
workaround

Download all attachments as: .zip

Change History (11)

Changed on Feb 1, 2012 at 3:55:49 PM by Gedare

Attachment: sparc64-softint.diff added

new assembly macros for writing to softint register

Changed on Feb 1, 2012 at 3:56:21 PM by Gedare

Attachment: sparc64-clock-pil.diff added

workaround

comment:2 Changed on Feb 1, 2012 at 3:56:46 PM by Gedare

Owner: changed from Joel Sherrill to Gedare
Status: newassigned

comment:3 Changed on Mar 31, 2014 at 6:13:37 PM by Gedare

Milestone: 4.114.12

comment:4 Changed on Nov 20, 2014 at 3:31:07 AM by Chris Johns

Milestone: 4.124.11

comment:5 Changed on Nov 22, 2014 at 1:28:19 PM by Gedare

Description: modified (diff)
Milestone: 4.114.11.1
Status: assignedaccepted

Bumping milestone to post 4.11 release. I suspect the patches I posted can just be applied though.

comment:6 Changed on Nov 24, 2014 at 6:58:28 PM by Gedare

Version: HEAD4.11

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

comment:7 Changed on Jan 26, 2017 at 7:16:00 AM by Sebastian Huber

Milestone: 4.11.14.11.2

comment:8 Changed on Mar 23, 2017 at 1:03:28 AM by Chris Johns

Milestone: 4.11.24.11.3

The 4.11.2 milestone is closing.

comment:9 Changed on Jan 25, 2018 at 9:02:43 PM by Gedare

Description: modified (diff)
Milestone: 4.11.3Indefinite
Note: See TracTickets for help on using tickets.