lkml.org 
[lkml]   [2017]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] mm: extend zero pages to same element pages for zram
    From
    Date
    right, thanks.

    On 2017/2/3 23:33, Matthew Wilcox wrote:
    > On Fri, Feb 03, 2017 at 04:42:27PM +0800, zhouxianrong@huawei.com wrote:
    >> +static inline void zram_fill_page_partial(char *ptr, unsigned int size,
    >> + unsigned long value)
    >> +{
    >> + int i;
    >> + unsigned long *page;
    >> +
    >> + if (likely(value == 0)) {
    >> + memset(ptr, 0, size);
    >> + return;
    >> + }
    >> +
    >> + i = ((unsigned long)ptr) % sizeof(*page);
    >> + if (i) {
    >> + while (i < sizeof(*page)) {
    >> + *ptr++ = (value >> (i * 8)) & 0xff;
    >> + --size;
    >> + ++i;
    >> + }
    >> + }
    >> +
    >> + for (i = size / sizeof(*page); i > 0; --i) {
    >> + page = (unsigned long *)ptr;
    >> + *page = value;
    >> + ptr += sizeof(*page);
    >> + size -= sizeof(*page);
    >> + }
    >> +
    >> + for (i = 0; i < size; ++i)
    >> + *ptr++ = (value >> (i * 8)) & 0xff;
    >> +}
    >
    > You're assuming little-endian here. I think you need to do a
    > cpu_to_le() here, but I don't think we have a cpu_to_leul, only
    > cpu_to_le64/cpu_to_le32. So you may have some work to do ...
    >
    >
    > .
    >

    \
     
     \ /
      Last update: 2017-02-04 04:34    [W:4.214 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site