Add a new map_clear() function to bpf_map_ops along with a
tracing_map_clear() export for external users.
Map implementations that it makes sense for should implement it,
otherwise it's not required. The bpf hashtab implementation does
implement a clear operation, but since it doesn't make sense
Maximum transfer length supported by SPFI is 65535, this is limited
by the number of bits available in SPFI TSize register to represent
the transfer size.
For transfer requests larger than the maximum supported the driver
will return an invalid argument error.
Signed-off-by: Sifan Naeem
Reviewed-
Add support for sorting to hist triggers, which without this will
display entries in hash order, which is to say randomly.
Currently, support is implemented for just a primary sort key which is
by default ascending.
To specify the sort key for a trigger, append ':sort=',
where sort_key can be any
Add a simple per-trigger 'paused' flag, allowing individual triggers
to pause. We could leave it to individual triggers that need this
functionality to do it themselves, but we also want to allow other
events to control pausing, so add it to the trigger data.
Signed-off-by: Tom Zanussi
---
kern
Add documentation and usage examples for 'hist' triggers.
Signed-off-by: Tom Zanussi
---
Documentation/trace/events.txt | 870 +
1 file changed, 870 insertions(+)
diff --git a/Documentation/trace/events.txt b/Documentation/trace/events.txt
index 75d25a1..
Similar to enable_event/disable_event triggers, these triggers enable
and disable the aggregation of events into maps rather than enabling
and disabling their writing into the trace buffer.
They can be used to automatically start and stop hist triggers based
on a matching filter condition.
If the
On Wed, 2015-02-25 at 21:01 +, Arun Ramamurthy wrote:
> Added code to support FBIOPAN_DISPLAY. Also added yres_virtual
> parameter to device tree to set the virtual y resolution
>
> Reviewed-by: Ray Jui
> Reviewed-by: Scott Branden
> Signed-off-by: Arun Ramamurthy
> ---
> .../devicetree/bi
Making the memory allocation tracepoints conditional allows those
events to be traced using the functions containing them e.g. the
kmalloc_trace() handler can itself use kmalloc() in the trace path,
which otherwise wouldn't be possible.
The TP_CONDITION simply tests gfp_flags for the newly introdu
On Wed, 2015-02-25 at 21:01 +, Arun Ramamurthy wrote:
> Added ioctl and interrupt handler functions to support FBIO_WAITFORVSYNC
> Also corrected documentation to make interrupts and interrupt-names
> optional as they are not required properties.
You may not be aware of this fact, but its the
On 02/27, David Miller wrote:
> From: Ben Shelton
> Date: Fri, 27 Feb 2015 15:26:32 -0600
>
> > On 02/20, David Miller wrote:
> >> From: Ben Shelton
> >> Date: Mon, 16 Feb 2015 13:47:06 -0600
> >>
> >> > The National Instruments USB Host-to-Host Cable is based on the Prolific
> >> > PL-25A1 chi
Currently the scope of the raw_write_seqcount_begin/end in
sched_clock_register far exceeds the scope of the read section in
sched_clock. This gives the impression of safety during cursory review
but achieves little.
Note that this is likely to be a latent issue at present because
sched_clock_regi
Oops, I didn't copy the subject of Yinghai's patch, it should be as
below. Will change it back when repost.
x86, boot: Enable ident_mapping for kasl above 4G on 64bit
On 03/02/15 at 10:58pm, Baoquan He wrote:
> From: Yinghai Lu
>
> split kernel_ident_mapping_init() and call that in boot::decomp
Currently cd.read_data.suspended is read by the hotpath function
sched_clock(). This variable need not be accessed on the hotpath. In
fact, once it is removed, we can remove the conditional branches from
sched_clock() and install a dummy read_sched_clock function to suspend
the clock.
The new mast
Currently it is possible for an NMI (or FIQ on ARM) to come in and
read sched_clock() whilst update_sched_clock() has locked the seqcount
for writing. This results in the NMI handler locking up when it calls
raw_read_seqcount_begin().
This patch fixes the NMI safety issues by providing banked cloc
The anyway depricated gpio-range-cells property was never used
by the pin controller driver. This patch removes it.
Signed-off-by: Stefan Agner
---
arch/arm/boot/dts/vfxxx.dtsi | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/boot/dts/vfxxx.dtsi b/arch/arm/boot/dts/vfxxx.dtsi
index a2
Currently sched_clock(), a very hot code path, is not optimized to
minimise its cache profile. In particular:
1. cd is not cacheline_aligned,
2. struct clock_data does not distinguish between hotpath and
coldpath data, reducing locality of reference in the hotpath,
3. Some hotpath
This patchset optimizes the generic sched_clock implementation by
removing branches and significantly reducing the data cache profile. It
also makes it safe to call sched_clock() from NMI (or FIQ on ARM).
The data cache profile of sched_clock() in the original code is
somewhere between 2 and 3 (64
Hello,
On Mon, Mar 02, 2015 at 02:42:01PM +0100, Stefan Agner wrote:
> On 2015-03-02 13:59, Uwe Kleine-König wrote:
> > On Mon, Mar 02, 2015 at 07:45:17PM +0800, Shawn Guo wrote:
> >> On Fri, Feb 06, 2015 at 05:30:56PM +0100, Stefan Agner wrote:
> >> > Commit 3dac1918a491 ("pinctrl: imx: detect un
On Tue, 2015-02-24 at 09:09 +0100, Ingo Molnar wrote:
> * Andrew Morton wrote:
>
> >
> >
> > Oh. We don't do any checking at all. We're just telling
> > userspace programmers "don't do that". hrm. What are
> > your thoughts on adding the overlap checks to the kernel?
>
> I have requested
Hi Valentin,
Thank you for the patch.
On Sun Mar 01 2015 17:54:32 GMT+0200 (EET), Valentin Rothberg wrote:
> The IRQF_DISABLED is a NOOP and scheduled to be removed. According to
> commit e58aa3d2d0cc ("genirq: Run irq handlers with interrupts
> disabled") running IRQ handlers with interrupts e
Hi,
On 2 March 2015 at 01:41, Alexandre Courbot wrote:
>
> On Thu, Feb 12, 2015 at 5:51 PM, Tomeu Vizoso
> wrote:
> > As there isn't a way for the firmware on the Nyan chromebooks to hand
> > over the display to the kernel.
>
> Could this have a side-effect on models for which the firmware *does
Em Mon, Mar 02, 2015 at 09:49:53PM +0900, Masami Hiramatsu escreveu:
> With this patch;
> -
> # ./perf probe -x /usr/lib64/libc-2.17.so -V malloc
> Available variables at malloc
> @<__libc_malloc+0>
> size_t bytes
> # ./perf probe -x /usr/lib64/libc-2.17.so
On Mon, 2 Mar 2015, Vlastimil Babka wrote:
> So it would be IMHO better for longer-term maintainability to have the
> relevant __GFP_THISNODE callers pass also __GFP_NO_KSWAPD to denote these
> opportunistic allocation attempts, instead of having this subtle semantic
You are thinking about an opp
On Sat, 28 Feb 2015, Serge E. Hallyn wrote:
> Your example program is not filling in pI though?
The setcap sets the inheritance bit. When the binary runs the i bits
should be set.
> Ah, i see why. In get_file_caps() you are still assigning
>
> fP = pA
>
> if the file has no file capabilit
Hi Michał,
Thank you for the answer.
On 25/02/15 00:32, Michal Nazarewicz wrote:
> On Tue, Feb 24 2015, Stefan Strogin wrote:
>> --- a/mm/cma.h
>> +++ b/mm/cma.h
>> @@ -11,8 +13,32 @@ struct cma {
>> struct hlist_head mem_head;
>> spinlock_t mem_head_lock;
>> #endif
>> +#ifdef CONFIG_
This reverts commit 3f678c96abb43a977d2ea41aefccdc49e8a3e896.
We've been a bit too optimistic with this one here :(
The trouble is that internally we're still using these plane
update/disable hooks. Which was totally ok pre-atomic since the drm
core did all the book-keeping updating and these jus
On Mon, Mar 02, 2015 at 04:04:28PM +0100, Borislav Petkov wrote:
>
> Ok, ok, you got me persuaded.
Oh. that's unexpected :)
>
> Better?
>
> :-)
>
I prefer it, thanks!
Quentin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vge
Em Sun, Mar 01, 2015 at 02:20:43PM +0100, Jiri Olsa escreveu:
> On Wed, Feb 25, 2015 at 04:23:44PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Fri, Feb 20, 2015 at 11:17:02PM +0100, Jiri Olsa escreveu:
> > > From: Sebastian Andrzej Siewior
> > > Adding support to convert tracepoint event fields
Hi Oliver,
On Mon, Mar 02, 2015 at 11:22:33AM +0100, Oliver Neukum wrote:
> > +static ssize_t cs_char_read(struct file *file, char __user *buf, size_t
> > count,
> > + loff_t *unused)
> > +{
> > + struct cs_char *csdata = file->private_d
Radim Krčmář writes:
> 2015-03-01 21:29-0500, Bandan Das:
>> Joel Schopp writes:
>>
>> > From: David Kaplan
>> > No need to re-decode WBINVD since we know what it is from the intercept.
>> >
>> > Signed-off-by: David Kaplan
>> > [extracted from larger unlrelated patch, forward ported, tested]
On Mon, Mar 02, 2015 at 01:44:50PM +0100, Mike Galbraith wrote:
> Hm, I'm now all system-disease-ified now (still hate the bloody thing),
> and have no problem isolating cpus via cpusets, modulo workqueues
> wanting a bat upside the head.
It shouldn't be difficult to teach workqueue pools to follo
On Mon, 2 Mar 2015 15:25:09 +0100
Daniel Wagner wrote:
> Hi Jeff,
>
> I've dropped the spinlock conversion for the time beeing. Maybe the
> last patch which changes the usage of blocked_lock_lock is still
> useful. And in case I can convince of the spinlock conversion it can
> easliy done on to
Hello,
On Fri, Feb 27, 2015 at 03:17:19PM +1100, Aleksa Sarai wrote:
> +config CGROUP_NPROC
> + bool "Process number limiting on cgroups"
> + depends on PAGE_COUNTER
> + help
> + This options enables the setting of process number limits in the scope
> + of a cgroup. Any att
Tejun Heo writes:
> printk and friends can now formap bitmaps using '%*pb[l]'. cpumask
> and nodemask also provide cpumask_pr_args() and nodemask_pr_args()
> respectively which can be used to generate the two printf arguments
> necessary to format the specified cpu/nodemask.
>
> This patch is de
Em Sat, Feb 28, 2015 at 10:18:49AM +0100, Ingo Molnar escreveu:
>
> On Debian-ish systems libbabeltrace-dev should be suggested as a
> package install as well.
>
> Signed-off-by: Ingo Molnar
>
> diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore
> index 40399c3d97d6..68328f517a2e 10064
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.
Currently, plat->irqtype is only set to IRQF_TRIGGER_FALLING. This
patch sets the O
Hi Vladimir,
On Mon, Mar 02, 2015 at 02:55:41PM +, Vladimir Murzin wrote:
> Memtest is a simple feature which fills the memory with a given set of
> patterns and validates memory contents, if bad memory regions is detected it
> reserves them via memblock API. Since memblock API is widely used
Em Sat, Feb 28, 2015 at 09:33:45AM +0100, Ingo Molnar escreveu:
>
> Change the Python detection message from:
>
> config/Makefile:566: No python-config tool was found
> config/Makefile:566: Python support will not be built
>
> To:
>
> config/Makefile:565: No 'python-config' tool was found
Arend van Spriel writes:
>> Now that there is not 3.20 version. My understanding is that this
>> patch will be in linus' tree 4.1-rc1, right?
>
> Yes. It will go into linux-next first, which you can consider to be an
> incubator where all stuff for the next release is integrated. Stuff
> will be
Kernel is expected to be randomly reloaded anywhere in the whole
physical memory area, it could be near 64T at most. In this case
there could be about 4*1024*1024 randomization slots. Hence the
old slot array will cost too much memory and can not be used any
more.
Here introduce struct slot_area t
Em Mon, Mar 02, 2015 at 10:56:00AM +0100, Jiri Olsa escreveu:
> On Mon, Mar 02, 2015 at 01:31:03PM +0900, Namhyung Kim wrote:
> > He Kuang reported that current perf tools failed to build when ARCH
> > variable was given like above. It was because the name is different
> > that internal directory
On Mon, Mar 02, 2015 at 02:42:12PM +0100, Quentin Casasnovas wrote:
> It's just that this potential-but-very-very-likely-impossible kfree() on
> garbage wasn't present in the original code - so I thought changing the
> kmalloc() => kcalloc() was small enough to add in your serie. I'd also be
> fin
Given a memory region mem_min_overlap will iterate all avoid region
to find the first one which overlap with it. This function will be
used later.
Signed-off-by: Baoquan He
---
arch/x86/boot/compressed/aslr.c | 32
1 file changed, 32 insertions(+)
diff --git a/a
Make a clean up to simplify the later change.
Signed-off-by: Baoquan He
---
arch/x86/boot/compressed/aslr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/boot/compressed/aslr.c b/arch/x86/boot/compressed/aslr.c
index 7083c16..6a22129 100644
--- a/arch/x86/boot/
For passed in e820 entry, check if it is overlapped with avoid area.
If no just calculate and store slot info into related slot_area.
Otherwise iterate all avoid areas to find the first one, namely with
lowest starting address among all overlapped avoid areas. Then split
it by exluding that avoid a
On x86_64, in old kaslr implementaion only physical address of kernel
loading is randomized. Then calculate the delta of physical address
where vmlinux was linked to load and where it is finally loaded. If
delta is not equal to 0, namely there's a new physical address where
kernel is actually decom
There is nothing platform dependent in the core memtest code, so other platform
might benefit of this feature too.
Signed-off-by: Vladimir Murzin
---
arch/x86/Kconfig| 11
arch/x86/include/asm/e820.h |8 ---
arch/x86/mm/Makefile|2 -
arch/x86/mm/memtest.c
Now random value can be used to get related slot info stored in
slot_area, mainly use slot_area.num to position which slot is target.
With this slot its starting address is returned as the physical
address where kernel will put.
Signed-off-by: Baoquan He
---
arch/x86/boot/compressed/aslr.c | 34
Currently kaslr only randomize physical address of kernel loading, then add the
delta
to virtual address of kernel text mapping. Because kernel virtual address can
only be
from __START_KERNEL_map to LOAD_PHYSICAL_ADDR+CONFIG_RANDOMIZE_BASE_MAX_OFFSET,
namely
[0x8000, 0xc0
change 'mutliple' to 'multiple'
Signed-off-by: Yannick Guerrini
---
arch/arm/mach-imx/iomux-mx3.h | 2 +-
arch/arm/mach-imx/iomux-v3.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-imx/iomux-mx3.h b/arch/arm/mach-imx/iomux-mx3.h
index 0a5adba..2e4a0dd 1006
Kaslr extended kernel text mapping region size from 512M to 1G,
namely CONFIG_RANDOMIZE_BASE_MAX_OFFSET. This means kernel text
can be mapped to below region:
[__START_KERNEL_map + LOAD_PHYSICAL_ADDR, __START_KERNEL_map + 1G]
Introduce a function find_random_virt_offset() to get random value
betw
When process 32 bit relocation tables a local variable extended is
defined to calculate the physical address of relocs entry. However
it's type is int which is enough for i386, for x86_64 not enough.
That's why relocation can only be handled when kernel is loaded
below 2G, otherwise a overflow will
Add trace events to driver to allow monitoring and profilig
of activities such as PM suspend/resume, hibernate enter/exit,
clock gating and clock scaling up/down.
In addition, add UFS host controller register dumps to provide
detailed information in case of errors to assist in analysis
of issues.
From: Yinghai Lu
split kernel_ident_mapping_init() and call that in boot::decompress_kernel
stage. it will cover new range that is above 4G.
-v2: fix one typo, use round_up/round_down and use MACRO for size.
Signed-off-by: Yinghai Lu
---
arch/x86/boot/compressed/misc.c | 10 +
arch/x8
From: Sujit Reddy Thumma
Use fault-injection framework to simulate error conditions
in the controller and verify error handling mechanisms
implemented in UFS host controller driver.
This is used only during development and hence
guarded by CONFIG_UFS_FAULT_INJECTION debug config option.
Signed-
From: Dolev Raviv
This patch exposes the ioctl interface for UFS driver via SCSI device
ioctl interface. As of now UFS driver would provide the ioctl for query
interface to connected UFS device.
Signed-off-by: Dolev Raviv
Signed-off-by: Noa Rubens
Signed-off-by: Raviv Shvili
Signed-off-by: Ya
From: Lee Susman
Adding debugfs capability for ufshcd.
debugfs attributes introduced in this patch:
- View driver/controller runtime data
- Command tag statistics for performance analisis
- Dump device descriptor info
- Track recoverable errors statistics during runtime
- Change UFS power m
Add support for memtest command line option.
Signed-off-by: Vladimir Murzin
---
arch/arm64/mm/init.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index ae85da6..597831b 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -190,6
Changes from V3:
Changed tag statistics macros to functions and removed redundant
call to ufsdbg_remove_debugfs().
Other minor changes fixing previous comments.
Dolev Raviv (1):
scsi: ufs: add ioctl interface for query request
Gilad Broner (1):
scsi: ufs: add trace events and dump prints for
Add support for memtest command line option.
Signed-off-by: Vladimir Murzin
---
arch/arm/mm/init.c |3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 1609b02..3d0e9ae 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -335,6 +335,9 @@
On Fri, Feb 27, 2015 at 02:19:05PM +0530, Preeti U Murthy wrote:
> The problem reported in the changelog of this patch is causing severe
> regressions very frequently on our machines for certain usecases. It would
> help to put in a fix in place first and then follow that up with these
> cleanups.
Since memtest might be used by other architectures pass input parameters
as phys_addr_t instead of long to prevent overflow.
---
include/linux/memblock.h |4 ++--
mm/memtest.c | 16
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/include/linux/me
On Mon, 2015-03-02 at 09:35 -0500, Rik van Riel wrote:
> On 03/02/2015 07:44 AM, Mike Galbraith wrote:
> > On Mon, 2015-03-02 at 10:09 +0100, Peter Zijlstra wrote:
> >> On Thu, Feb 26, 2015 at 12:12:31PM -0500, Rik van Riel wrote:
> >>> Subject: cpusets,isolcpus: add file to show isolated cpus in c
Hi,
Memtest is a simple feature which fills the memory with a given set of
patterns and validates memory contents, if bad memory regions is detected it
reserves them via memblock API. Since memblock API is widely used by other
architectures this feature can be enabled outside of x86 world.
This p
On Mon, Mar 02, 2015 at 03:04:30AM -0800, Yinghai Lu wrote:
> We can not assume that range is safe to use.
>
> Please check attach one that should fix the problem really.
Well, it seems to work here but it still doesn't look reliable enough to
me. And this addon_zo thing of arbitrary 256K is stra
On Thu, Feb 26, 2015 at 08:52:02AM +0530, Preeti U Murthy wrote:
> The hrtimer mode of broadcast queues hrtimers in the idle entry
> path so as to wakeup cpus in deep idle states.
Callgraph please...
> hrtimer_{start/cancel}
> functions call into tracing which uses RCU. But it is not legal to ca
Hi Borislav,
At Thu, 26 Feb 2015 19:13:38 +0100,
Borislav Petkov wrote:
>
> Hi all,
>
> So this alternatives patchset breaks perf bench mem, here are a couple
> of patches ontop, you guys tell me whether it makes sense. I wanted to
> make it run all memset/memcpy routines so here are a couple o
On 03/02/2015 07:44 AM, Mike Galbraith wrote:
> On Mon, 2015-03-02 at 10:09 +0100, Peter Zijlstra wrote:
>> On Thu, Feb 26, 2015 at 12:12:31PM -0500, Rik van Riel wrote:
>>> Subject: cpusets,isolcpus: add file to show isolated cpus in cpuset
>>>
>>> The previous patch makes it so the code skips ove
This patch is for early kprobes, enables early kprobes to convert
target instruction into nop so it is possible to optimize them.
Signed-off-by: Wang Nan
---
include/linux/ftrace.h | 5 +
kernel/trace/ftrace.c | 18 ++
2 files changed, 23 insertions(+)
diff --git a/include
The locks_insert/delete_block() functions are used for flock, posix
and leases types. blocked_lock_lock is used to serialize all access to
fl_link, fl_block, fl_next and blocked_hash. Here, we prepare the
stage for using blocked_lock_lock to protect blocked_hash.
Signed-off-by: Daniel Wagner
Cc:
On Tue, Feb 3, 2015 at 2:44 PM, Rob Herring wrote:
> On Tue, Feb 3, 2015 at 6:41 AM, Linus Walleij
> wrote:
>> On Tue, Jan 27, 2015 at 5:46 AM, Rob Herring wrote:
>>
>>> Add support for PXA1928 GPIOs. The PXA1928 adds a 6th bank from previous
>>> generations.
>>>
>>> Signed-off-by: Jing Xiang
On Mon, Mar 02, 2015 at 01:17:01PM +0100, Borislav Petkov wrote:
On Mon, Mar 02, 2015 at 02:31:19AM +, Naoya Horiguchi wrote:
> And please note that the target of this patch is an MCE when the kernel is
> already running on kdump code (so crashing happened *not* because of the MCE).
> In that
By extracting mcount sorting code and sort them earliler, futher patches
will be able to determine whether an address is on an ftrace entry or
not using bsearch().
ftrace_sort_mcount_area() will be called before, during and after
ftrace_init (when module insertion). Ensure it sort kernel mcount ta
Makes ftrace calls init_kprobes_on_ftrace() when ftrace_init()
finished. Before this call, marks kprobes on ftrace with
'KPROBE_FLAG_FTRACE_EARLY' instead of 'KPROBE_FLAG_FTRACE' to make
kprobe not to kprobe treats these kprobes as ftrace kprobes.
Following patches should convert such kprobes into
On Wed, Feb 4, 2015 at 3:39 PM, Stanimir Varbanov wrote:
> On 02/03/2015 06:47 PM, Andy Gross wrote:
>> On Fri, Jan 30, 2015 at 12:04:01PM +0200, Stanimir Varbanov wrote:
>>> From: Joonwoo Park
>>>
>>> Add initial pinctrl driver to support pin configuration with
>>> pinctrl framework for msm8916.
This is version 4 of early kprobes. The original idea and the previous
version can be found from [1] and [2].
The aim of early kprobe is to provide a method to enable kprobe as early
as possible to allow users to debug booting stage.
The user interface and data collection are still very weak in t
On Mon, Mar 02, 2015 at 11:24:04AM +, David Vrabel wrote:
> On 27/02/15 21:14, Konrad Rzeszutek Wilk wrote:
> > Via CPUID masking and the different apic-> overrides we
> > effectively make PV guests only but with the default APIC
> > driver. That is OK as an PV guest should never access any
> >
As early_trap_init() doesn't use IST, replace set_intr_gate_ist() and
set_system_intr_gate_ist() with their standard counterparts.
set_intr_gate() requires a trace_debug symbol which we don't have and
won't use. This patch seprates set_intr_gate() into 2 parts, and uses
base version in early_trap_
This patch shows a very rough usage of arly kprobes. By adding
kernel cmdline options such as 'ekprobe=__alloc_pages_nodemask' or
'ekprobe=0xc00f3c2c', early kprobes are installed. When the probed
instructions get hit, a message is printed.
This patch is only a sample. I'll drop it in future.
Sig
Following early kprobe patches will enable kprobe registering very
early, even before kprobe system initialized. kprobe_is_early() can be
used to check whether we are working on early kprobes.
Signed-off-by: Wang Nan
---
include/linux/kprobes.h | 2 ++
kernel/kprobes.c| 6 ++
2 files
X86 and common ftrace_replace_code() behave differently.
In x86, rec->flags get updated only when (almost) all works are done. In
common code, rec->flags is updated before code modification, and never
get restored when code modification fails.
This patch ensures rec->flags kept its original value
arch_kprobe_on_ftrace_get_old_insn() is for retriving kprobed
instrution, which is for ftrace used. When ftrace trying to make call,
it compares original instruction against exoected instruction (usually
nop), and deny to work if they are different. This newly introduced
function returns the bytes
Am 02.03.2015 um 14:02 schrieb Alexander Holler:
Am 02.03.2015 um 12:39 schrieb Alexander Holler:
Am 02.03.2015 um 11:20 schrieb Al Viro:
On Mon, Mar 02, 2015 at 10:13:27AM +0100, Richard Weinberger wrote:
On Mon, Mar 2, 2015 at 9:28 AM, Alexander Holler
wrote:
Hello.
Commit 7f7f25e82d54870
From: Rafael J. Wysocki
Commit 381063133246 (PM / sleep: Re-implement suspend-to-idle handling)
overlooked the fact that entering some sufficiently deep idle states
by CPUs may cause their local timers to stop and in those cases it
is necessary to switch over to a broadcase timer prior to enterin
Let kprobe smoke test code behavior differently depending on
kprobes_is_early(). Following patches will test kprobes twice, one for
early kprobes, another for normal kprobes.
Since this test will be executed more than once, before real test
we should first init the ?probe structures to avoid garba
Uses ftrace_process_loc_early() introduced by previous patch to
convert ftrace entries to nops before ftrace_init(). For x86, original
kprobe entries are 'call' and are optimizable only after this conversion.
Signed-off-by: Wang Nan
---
kernel/kprobes.c | 3 +++
1 file changed, 3 insertions(+)
Introduces macros to genearte common early kprobe related resource
allocator.
All early kprobe related resources are statically allocated during
linking for each early kprobe slot. For each type of resource, a bitmap
is used to track allocation. __DEFINE_EKPROBE_ALLOC_OPS defines alloc
and free ha
This patch defines MAX_OPTINSN_SIZE, MAX_INSN_SIZE and
KPROBE_OPCODE_SIZE for ARM for vmlinux.lds.S use. These macros are
originally defined in kprobes.h, which are unable to be used in
vmlinux.lds.
Signed-off-by: Wang Nan
---
arch/arm/kernel/vmlinux.lds.S | 10 ++
1 file changed, 10 ins
Newly introduced function kprobe_on_ftrace_get_old_insn() will be
called by ftrace when ftrace generating call instruction. It is for
retriving probed instructions which original nops are replaced by
kprobe. FTRACE_FL_EARLY_KPROBES bit in rec->flags is cleared, so after
calling kprobe_on_ftrace_get
blocked_lock_lock and file_lock_lglock is used to protect file_lock's
fl_link, fl_block, fl_next, blocked_hash and the percpu
file_lock_list.
The plan is to reorganize the usage of the locks and what they protect
so that the usage of the global blocked_lock_lock is reduced.
Whenever we insert a n
Alter 'controls' -> 'control'.
Signed-off-by: Yaowei Bai
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 12c96ad..5158fa2 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5716,7 +5716,7 @@ static void __setup_p
Introduces early_slots_start/end and bitmap for struct kprobe_insn_cache
then uses previous introduced macro to generate allocator. This patch
makes get/free_insn_slot() and get/free_optinsn_slot() transparent to
early kprobes.
Signed-off-by: Wang Nan
---
include/linux/kprobes.h | 40 +++
We are able to use early kprobes. Do some small test for early kprobes.
Note that, previous patches makes init_test_probes() behaviors
differently when kprobe_is_early().
Signed-off-by: Wang Nan
---
kernel/kprobes.c | 4
1 file changed, 4 insertions(+)
diff --git a/kernel/kprobes.c b/kerne
For previously detected early kprobes on ftrace, retrieve old
instruction using kprobe_on_ftrace_get_old_insn() instead of
ftrace_nop_replace(). Which will enable convertion an early kprobed
ftrace entry directly to 'call' instrustion without turnning off
kprobe.
Signed-off-by: Wang Nan
---
arch
This patch enables ftrace_location() to be used before ftrace_init().
The first user should be early kprobes, which can insert kprobes to
kernel code even before setup_arch() finishes. This patch gives it a
chance to determine whether it is probing ftrace entries and allows it
do some special treat
After dealing with kprobes on ftrace, early kprobes are allowed at
function entries if FTRACE is on. Which enables it functions
practically. This patch enables its kconfig entries for X86.
Signed-off-by: Wang Nan
---
arch/x86/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/K
On Monday, March 02, 2015 02:13:05 PM Rafael J. Wysocki wrote:
> On Monday, March 02, 2015 10:08:23 AM Lorenzo Pieralisi wrote:
> > On Sat, Feb 28, 2015 at 11:58:21PM +, Rafael J. Wysocki wrote:
> > > On Saturday, February 28, 2015 11:54:23 AM Lorenzo Pieralisi wrote:
>
> [cut]
>
> > > Index:
arch_fix_ftrace_early_kprobe() will be called during ftrace converting
its entries into nops. This function is made for kprobe adjusting its
internal data.
To make as much as arch independent logic out of arch specific code,
arch_fix_ftrace_early_kprobe() doesn't iterate on kprobes in a aggr
kprob
Since early kprobes and ftrace both use int3 (ftrace insert int3 to the
first byte of ftrace entry, fill other bytes of the inserted 'call'
instruction and finally restore the first byte, while kprobe rely on
int3 to trigger its actions), it is possible that a breakpoint is shared
between ftrace an
X86_TRAP_NMI, X86_TRAP_DF and X86_TRAP_MC use their own stack. Those
stacks are invalid until cpu_init() installs TSS.
This patch moves setting of the 3 gates after cpu_init().
Signed-off-by: Wang Nan
---
arch/x86/kernel/traps.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(
701 - 800 of 1128 matches
Mail list logo