Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751383AbbBXGE7 (ORCPT ); Tue, 24 Feb 2015 01:04:59 -0500 Received: from collab.rosalab.ru ([195.19.76.181]:48451 "EHLO collab.rosalab.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750748AbbBXGE6 (ORCPT ); Tue, 24 Feb 2015 01:04:58 -0500 Message-ID: <54EC1487.4020902@rosalab.ru> Date: Tue, 24 Feb 2015 09:04:55 +0300 From: Eugene Shatokhin Organization: ROSA User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Masami Hiramatsu CC: linux-kernel@vger.kernel.org Subject: Re: Kprobes: pre-handler with interrupts enabled - is it possible? References: <54EB4194.7040901@rosalab.ru> <54EBF464.7020704@hitachi.com> In-Reply-To: <54EBF464.7020704@hitachi.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1433 Lines: 37 24.02.2015 06:47, Masami Hiramatsu пишет: > No, that is not allowed. I mean, you can do anything you want to do > on your handler (enabling preemption/irq etc.) but the result may be > not safe (it can crash your kernel, but it's not a kprobes' bug). Yes, that is why I am asking. > Actually, enable interrupts on kprobe handlers can cause reentering > kprobes (by kprobes on interrupt handlers), and currently kprobe skips > all those reentered kprobes. > Is it acceptable that some of your kprobe handlers are not fired when > hitting? I think, yes. When a software breakpoint hits, my system decodes the instruction, finds the address that is about to be accessed and tries to place a hardware breakpoint on that memory area. There are only 4 hardware breakpoints a CPU can use on x86, so if the software breakpoint hits too often, the system will not be able to process all hits anyway because all HW breakpoints may be already in use. > Would you mean sleep on your handler?? No, I use mdelay(). It is, in essence, a busy-wait loop as far as I know. The delay intervals may vary, the default is 5 jiffies. Regards, Eugene -- Eugene Shatokhin, ROSA www.rosalab.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/