There's a safety check, kind of warning message "Badness in local_bh_enable at kernel/softirq.c:140" in the local_bh_enable() function, that dumps the stack trace if the function is called in the interrupt context. What happens if bottom halfs are enabled in the interrupt context? Does they affect the system execution path?
what is the issue if bottom halfs are enabled in the interrupt context
219 views Asked by Venkatesh At
1
There are 1 answers
Related Questions in LINUX-KERNEL
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Facing fatal errors while running "yum update" command on CentOS 7/Cloudlinux 7
- crash utility itself crashes while decoding kdump generated from null pointer dereference in kernel module
- How to compile the Linux kernel with -O0 for more detailed debug?
- Linux support for parallel Pixel data Image sensor
- Can't upgrade to newest version of linux-image-6.5.0-26-generic
- How to protect a page so that it cannot be write in mips arch?
- How to extract the .img file into normal kernel source file in the linux?
- Storage size of struct hash_desc desc; isn't known
- How can I intercept failed file openning calls?
- struct nameidata-Linux Kernel Module
- How to modify a 'struct msghdr' in Linux Kernel Module?
- How to allocate 500MB+ physically contiguous memory in a Linux kernel module and copy data to that memory from a userspace process?
- Hyper Threading: nosmt in grub configuration
Related Questions in LINUX-DEVICE-DRIVER
- Linux support for parallel Pixel data Image sensor
- Linux to QNX USB driver convert
- IRQ interrupt obtaining abnormal possibilities
- Error compiling dts (Device Tree source) file for dtb
- How to write the external interrupt callback function of Linux kernel v3.10?
- Does traffic control (tc) command have a rate limit?
- The module first installed the alarm when it started
- How does the Linux kernel now what to put in platform_data?
- How to reduce cached memory used by Linux kernel on embedded linux platform
- Notifying Linux MMC subsystem about power loss
- Linux kernel 6.6 from block_device how to find out if it has mounted file system
- Linux SPI read and write may occasionally be slow?
- gettimeofday calculates the runtime, with occasional significant deviations?
- uImage is not supported in kexec_file
- Linux of_platform_depopulate() does not remove drivers
Related Questions in DEVICE-DRIVER
- How to allocate 500MB+ physically contiguous memory in a Linux kernel module and copy data to that memory from a userspace process?
- How to enable Swap APO in SYSVAD sample driver without enhancement tab in windows 11?
- Issue retrieving buffer from the device on a custom device driver in MacOS
- A bus error that occurs when mmap memory is used with memcpy
- Create Dummy CPU Performance counter register for Unit Testing of Driver
- I am trying to emulate a board which has a OLED display, but can't see anything. Can you tell me if there is something important I am not considering?
- Error code 0xC1 when trying to create a file mapping
- Do POSIX writes block until the DMA device has finished writing data?
- How does the operating system handle I/O writes, that are not a multiple of the block device's sector-size?
- How to wait for Callback response in C++ on Windows
- How do you debug a bootloader video driver on an ARM (Rockchip RK3588) computing machine?
- Why is the VOP (Video Output Processor) on the Rockchip RK3588 acting inaccessible?
- Linux TTY Operation sequence
- Unable to see any /sys/devices/xx interface created from kernel module loaded through k_vendor_module.rc
- How to natively build Windows 11 device drivers for ARM64 on an ARM64 system?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Bottom halves are deferred interrupt processing, to be done outside of interrupt context. If they were inadvertently enabled within interrupt context you could end up with very strange behavior, loss of data, malfunctioning hardware, etc. since the bottom half would try to run while the top half (interrupt handler) has not finished placing the hardware in a good state, pulling register state or masking interrupts.