在 2020/11/17 1:24, Christoph Hellwig 写道:
>> +#define FAST_COPY_SAFEGUARD_SIZE (sizeof(long) * 2 - 1)
>> +
>> +#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
>> +
>> +/*
>> + * The caller must ensure that the output buffer has enough space (len +
>> FAST_COPY_SAFEGUARD_SIZE),
>> + * so we can write
在 2020/11/17 0:35, Christoph Hellwig 写道:
> On Tue, Nov 10, 2020 at 03:16:01AM +0800, zengzhao...@163.com wrote:
>> From: Zhaoxiu Zeng
>>
>> Copying the matched bytes from the back output buffer is the
>> key code of the LZ decompression algorithm which used by zlib,
5.134783] ---[ end trace a0a85397603c3dac ]---
>
>
> To reproduce:
>
> git clone https://github.com/intel/lkp-tests.git
> cd lkp-tests
> bin/lkp install job.yaml # job file is attached in this email
> bin/lkp run job.yaml
>
>
>
在 2020/11/11 11:46, Jann Horn 写道:
> On Mon, Nov 9, 2020 at 8:27 PM wrote:
>> This patch does:
>> 1. Cleanup code and reduce branches
>> 2. Use copy_from_back to copy the matched bytes from the back output buffer
>
> What exactly is copy_from_back()? Is it like memmove()? If yes, have
> you tried
在 2018/7/28 22:38, Greg Kroah-Hartman 写道:
> On Sat, Jul 28, 2018 at 10:02:51PM +0800, Zhaoxiu Zeng wrote:
>> 在 2018/7/27 18:39, Andy Shevchenko 写道:
>>> On Fri, Jul 27, 2018 at 8:48 AM, Zhaoxiu Zeng wrote:
>>>> 在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
>>>>
在 2018/7/28 22:38, Greg Kroah-Hartman 写道:
> On Sat, Jul 28, 2018 at 10:02:51PM +0800, Zhaoxiu Zeng wrote:
>> 在 2018/7/27 18:39, Andy Shevchenko 写道:
>>> On Fri, Jul 27, 2018 at 8:48 AM, Zhaoxiu Zeng wrote:
>>>> 在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
>>>>
在 2018/7/27 18:39, Andy Shevchenko 写道:
> On Fri, Jul 27, 2018 at 8:48 AM, Zhaoxiu Zeng wrote:
>> 在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
>>> 在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
>>>> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>
>>>>&
在 2018/7/27 18:39, Andy Shevchenko 写道:
> On Fri, Jul 27, 2018 at 8:48 AM, Zhaoxiu Zeng wrote:
>> 在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
>>> 在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
>>>> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>
>>>>&
在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
> 在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
>> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>>> From: Zhaoxiu Zeng
>>>
>>> The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy
>&g
在 2018/7/27 1:17, Zhaoxiu Zeng 写道:
> 在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
>> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>>> From: Zhaoxiu Zeng
>>>
>>> The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy
>&g
在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>> From: Zhaoxiu Zeng
>>
>> The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy and
>> fast.
>> For the Sunday algorithm, to see
>&
在 2018/7/23 2:37, Greg Kroah-Hartman 写道:
> On Mon, Jul 23, 2018 at 01:37:15AM +0800, Zhaoxiu Zeng wrote:
>> From: Zhaoxiu Zeng
>>
>> The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy and
>> fast.
>> For the Sunday algorithm, to see
>&
From: Zhaoxiu Zeng
The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy and
fast.
For the Sunday algorithm, to see
http://www.inf.fh-flensburg.de/lang/algorithmen/pattern/sundayen.htm
Signed-off-by: Zhaoxiu Zeng
---
lib/string.c | 92
From: Zhaoxiu Zeng
The Sunday algorithm is a variation of Boyer-Moore algorithm, it is easy and
fast.
For the Sunday algorithm, to see
http://www.inf.fh-flensburg.de/lang/algorithmen/pattern/sundayen.htm
Signed-off-by: Zhaoxiu Zeng
---
lib/string.c | 92
On 2016/6/30 6:06, Alexey Dobriyan wrote:
> On Thu, Jun 30, 2016 at 12:22:13AM +0800, zengzhao...@163.com wrote:
>> --- a/lib/kstrtox.c
>> +++ b/lib/kstrtox.c
>> @@ -48,38 +48,26 @@ unsigned int _parse_integer(const char *s, unsigned int
>> base, unsigned long long
>> {
>> unsigned long
On 2016/6/30 6:06, Alexey Dobriyan wrote:
> On Thu, Jun 30, 2016 at 12:22:13AM +0800, zengzhao...@163.com wrote:
>> --- a/lib/kstrtox.c
>> +++ b/lib/kstrtox.c
>> @@ -48,38 +48,26 @@ unsigned int _parse_integer(const char *s, unsigned int
>> base, unsigned long long
>> {
>> unsigned long
On 2016/6/30 2:31, Michal Nazarewicz wrote:
> On Thu, Jun 30 2016, zengzhaoxiu wrote:
...
>> So this replaces table lookup in tolower with an explicit table lookup
>> here while also removing some branches.
>>
>> Is that an improvement? Hard to say. _ctype table is used by all the
>> other
On 2016/6/30 2:31, Michal Nazarewicz wrote:
> On Thu, Jun 30 2016, zengzhaoxiu wrote:
...
>> So this replaces table lookup in tolower with an explicit table lookup
>> here while also removing some branches.
>>
>> Is that an improvement? Hard to say. _ctype table is used by all the
>> other
On 2016/5/11 17:31, Peter Zijlstra wrote:
> Please use the GEN_*_RMWcc() stuff to avoid the setpo where possible.
Setpo is better.
In most cases, we need to store the parity, or compare it with other variables.
For example, in drivers/net/ethernet/broadcom/tg3.c,
static int
On 2016/5/11 17:31, Peter Zijlstra wrote:
> Please use the GEN_*_RMWcc() stuff to avoid the setpo where possible.
Setpo is better.
In most cases, we need to store the parity, or compare it with other variables.
For example, in drivers/net/ethernet/broadcom/tg3.c,
static int
在 2016/5/7 16:41, George Spelvin 写道:
> Nothing critical, but a bit of kibitzing.
> (That is slang in the Yiddish language for a person
> who offers annoying and unwanted advice.)
>
>> The binary GCD algorithm is based on the following facts:
>> 1. If a and b are all evens, then gcd(a,b) = 2 *
在 2016/5/7 16:41, George Spelvin 写道:
> Nothing critical, but a bit of kibitzing.
> (That is slang in the Yiddish language for a person
> who offers annoying and unwanted advice.)
>
>> The binary GCD algorithm is based on the following facts:
>> 1. If a and b are all evens, then gcd(a,b) = 2 *
在 2016/4/16 0:08, Joe Perches 写道:
> On Fri, 2016-04-15 at 23:20 +0800, zengzhao...@163.com wrote:
>> From: Zeng Zhaoxiu
>>
>> blackfin has popcount instruction (ONES), we can do the efficient
>> computing (ffz, __ffs, ffs, __fls, and fls) use this instruction.
> []
>> diff
在 2016/4/16 0:08, Joe Perches 写道:
> On Fri, 2016-04-15 at 23:20 +0800, zengzhao...@163.com wrote:
>> From: Zeng Zhaoxiu
>>
>> blackfin has popcount instruction (ONES), we can do the efficient
>> computing (ffz, __ffs, ffs, __fls, and fls) use this instruction.
> []
>> diff --git
From: Zeng Zhaoxiu
When I do "grep parity -r linux", I found many parity calculations distributed
in many drivers.
These patches provide generic and architecture-specific parity calculations.
Signed-off-by: Zeng Zhaoxiu
---
From: Zeng Zhaoxiu
When I do "grep parity -r linux", I found many parity calculations distributed
in many drivers.
These patches provide generic and architecture-specific parity calculations.
Signed-off-by: Zeng Zhaoxiu
---
include/asm-generic/bitops.h | 1 +
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/media/platform/exynos4-is/fimc-is-regs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/exynos4-is/fimc-is-regs.c
b/drivers/media/platform/exynos4-is/fimc-is-regs.c
index cfe4406..ec75a24
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/hwspinlock/omap_hwspinlock.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hwspinlock/omap_hwspinlock.c
b/drivers/hwspinlock/omap_hwspinlock.c
index ad2f8ca..1848a4c 100644
---
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 9461a23..16c8cf1 100644
---
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/bus/brcmstb_gisb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c
index f364fa4..2816a04 100644
--- a/drivers/bus/brcmstb_gisb.c
+++
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
arch/sh/kernel/io_trapped.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/sh/kernel/io_trapped.c b/arch/sh/kernel/io_trapped.c
index f8ce362..d8f32bf 100644
--- a/arch/sh/kernel/io_trapped.c
+++
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/hwspinlock/omap_hwspinlock.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hwspinlock/omap_hwspinlock.c
b/drivers/hwspinlock/omap_hwspinlock.c
index
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/media/platform/exynos4-is/fimc-is-regs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/exynos4-is/fimc-is-regs.c
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/bus/brcmstb_gisb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c
index f364fa4..2816a04 100644
---
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915/intel_ringbuffer.c
From: Zeng Zhaoxiu
Signed-off-by: Zeng Zhaoxiu
---
arch/sh/kernel/io_trapped.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/sh/kernel/io_trapped.c b/arch/sh/kernel/io_trapped.c
index f8ce362..d8f32bf 100644
---
The new version do few 64 bits operations.
When high 32 bits of dividend becomes 0, use 32 bits division directly.
Signed-off-by: Zhaoxiu Zeng
---
lib/div64.c | 63 +
1 file changed, 43 insertions(+), 20 deletions(-)
diff --git a/lib
The new version do few 64 bits operations.
When high 32 bits of dividend becomes 0, use 32 bits division directly.
Signed-off-by: Zhaoxiu Zeng zhaoxiu.z...@gmail.com
---
lib/div64.c | 63 +
1 file changed, 43 insertions(+), 20 deletions
Because some architectures (alpha, armv6, etc.) don't provide hardware division,
the mod operation is slow! Binary GCD algorithm uses simple arithmetic
operations,
it replaces division with arithmetic shifts, comparisons, and subtraction.
Signed-off-by: Zhaoxiu Zeng
---
lib/Kconfig | 15
Because some architectures (alpha, armv6, etc.) don't provide hardware division,
the mod operation is slow! Binary GCD algorithm uses simple arithmetic
operations,
it replaces division with arithmetic shifts, comparisons, and subtraction.
Signed-off-by: Zhaoxiu Zeng zhaoxiu.z...@gmail.com
40 matches
Mail list logo