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
217 Views Asked by Venkatesh At
1
There are 1 best solutions below
Related Questions in LINUX-KERNEL
- kernel module does not print packet info
- android linux kernel communicate with user space about NETLINK_USER
- How to offload NAPI poll function to workqueue
- Why Device Tree Structure (DTS) file is needed both in bootloader and kernel source code?
- Bootloader in Assembly with Linux kernel
- pktgen not sending packets more than 1kb big
- Use static analysis tools to check null pointers and memory leaks in Linux device drivers
- How to build Linux kernel to support SO_ATTACH_BPF socket option?
- How do I know the last sched time of a process
- linux kernel compile error....udevd[63]: error getting socket
- Process in background mode trying to read from stdin
- board firmware update through uefi capsule feature from Linux
- spin_lock before writing status register
- Kernel module configuration locked built in?
- Install Subversion 1.7 on Debian jessie
Related Questions in LINUX-DEVICE-DRIVER
- How to offload NAPI poll function to workqueue
- Kernel module configuration locked built in?
- I want to sleep while holding a mutex
- Insmod is not working
- USB Full Speed polling interval
- disabling CONFIG_NET_DMA
- Measure memory usage of a certain Linux driver module
- Documentation for regulator framework with device tree
- how is DMA-capable memory defined?
- TechWell TW6869 driver does not generate interrupts on embedded device
- How to share same header files between kernel modules and userspace applications.
- Detect active touchscreen on Linux (and if multitouch)
- how to use single platform device driver for multiple devices
- When to Update ALSA Audio Driver Buffer Pointer
- How to print kernel stack's lower and upper address in linux for process using pid and without using pid
Related Questions in DEVICE-DRIVER
- Use static analysis tools to check null pointers and memory leaks in Linux device drivers
- Documentation for regulator framework with device tree
- writing device drivers for OpenIndiana
- A Device Driver Has Pool Error
- Restart Windows 8.1 local Service from a C++ app?
- porting PCIe driver from Linux to OracleSolaris
- How to configure Visual Studio 2015 to develop device driver application(KMDF)?
- Which processor would execute hardware interrupt in a muticore system
- Is there any way to remove query posted on linux kernel mailing list?
- How does an O.S. or a high level abstraction layer gain knowledge of the hardware using the device driver?
- DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DeviceControl function not getting called
- what is the issue if bottom halfs are enabled in the interrupt context
- What's the udev-like thing on OSX and how does it work?
- Create Virtual com port
- Driver probe order in Linux Kernel
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)
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?
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.