linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* behavior of zram stats, and zram allocation limit
@ 2012-11-21 22:58 Luigi Semenzato
  2012-11-22  0:46 ` Luigi Semenzato
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Luigi Semenzato @ 2012-11-21 22:58 UTC (permalink / raw)
  To: linux-mm, Minchan Kim, Dan Magenheimer

Hi,

Two questions for zram developers/users.  (Please let me know if it is
NOT acceptable to use this list for these questions.)

1. When I run a synthetic load using zram from kernel 3.4.0,
compr_data_size from /sys/block/zram0 seems to decrease even though
orig_data_size stays constant (see below).  Is this a bug that was
fixed in a later release?  (The synthetic load is a bunch of processes
that allocate memory, fill half of it with data from /dev/urandom, and
touch the memory randomly.)  I looked at the code and it looks right.
:-P

2. Is there a way of setting the max amount of RAM that zram is
allowed to allocate?  Right now I can set the size of the
*uncompressed* swap device, but how much memory gets allocated depends
on the compression ratio, which could vary.

Thanks!


localhost ~ # ./zraminfo
     compr_data_size:    220570516 (210 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    230383616 (219 MB)
         notify_free:         1553 (0 MB)
           num_reads:         6093 (0 MB)
          num_writes:       150955 (0 MB)
      orig_data_size:    599126016 (571 MB)
                size:      6057544 (5 MB)
          zero_pages:         4040 (0 MB)
   eff. compr. ratio:  2.50
localhost ~ #
localhost ~ # ./zraminfo
     compr_data_size:    208845619 (199 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    213528576 (203 MB)
         notify_free:        76808 (0 MB)
           num_reads:        81918 (0 MB)
          num_writes:       202924 (0 MB)
      orig_data_size:    586076160 (558 MB)
                size:      6057544 (5 MB)
          zero_pages:         7434 (0 MB)
   eff. compr. ratio:  2.80
localhost ~ # ./zraminfo
     compr_data_size:    205964814 (196 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    210976768 (201 MB)
         notify_free:        91823 (0 MB)
           num_reads:       105170 (0 MB)
          num_writes:       218485 (0 MB)
      orig_data_size:    614526976 (586 MB)
                size:      6057544 (5 MB)
          zero_pages:         8666 (0 MB)
   eff. compr. ratio:  2.98
localhost ~ # ./zraminfo
     compr_data_size:    229739564 (219 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    235798528 (224 MB)
         notify_free:       108381 (0 MB)
           num_reads:       147372 (0 MB)
          num_writes:       251829 (0 MB)
      orig_data_size:    697163776 (664 MB)
                size:      6057544 (5 MB)
          zero_pages:         9972 (0 MB)
   eff. compr. ratio:  3.01
localhost ~ # ./zraminfo
     compr_data_size:    229458612 (218 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    234651648 (223 MB)
         notify_free:       132169 (0 MB)
           num_reads:       203970 (0 MB)
          num_writes:       282732 (0 MB)
      orig_data_size:    751472640 (716 MB)
                size:      6057544 (5 MB)
          zero_pages:        11139 (0 MB)
   eff. compr. ratio:  3.27
localhost ~ # ./zraminfo
     compr_data_size:    217296398 (207 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    222715904 (212 MB)
         notify_free:       151071 (0 MB)
           num_reads:       243898 (0 MB)
          num_writes:       302316 (0 MB)
      orig_data_size:    778227712 (742 MB)
                size:      6057544 (5 MB)
          zero_pages:        10195 (0 MB)
   eff. compr. ratio:  3.58
localhost ~ # ./zraminfo
     compr_data_size:    221631885 (211 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    227188736 (216 MB)
         notify_free:       166323 (0 MB)
           num_reads:       278621 (0 MB)
          num_writes:       323811 (0 MB)
      orig_data_size:    821809152 (783 MB)
                size:      6057544 (5 MB)
          zero_pages:        10737 (0 MB)
   eff. compr. ratio:  3.70
localhost ~ # ./zraminfo
     compr_data_size:    216354938 (206 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    221990912 (211 MB)
         notify_free:       182529 (0 MB)
           num_reads:       322923 (0 MB)
          num_writes:       342028 (0 MB)
      orig_data_size:    849281024 (809 MB)
                size:      6057544 (5 MB)
          zero_pages:        10990 (0 MB)
   eff. compr. ratio:  3.92
localhost ~ # ./zraminfo
     compr_data_size:    163852068 (156 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    170209280 (162 MB)
         notify_free:       212669 (0 MB)
           num_reads:       358680 (0 MB)
          num_writes:       342896 (0 MB)
      orig_data_size:    777981952 (741 MB)
                size:      6057544 (5 MB)
          zero_pages:         7466 (0 MB)
   eff. compr. ratio:  4.77
localhost ~ # ./zraminfo
     compr_data_size:    164434814 (156 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    170631168 (162 MB)
         notify_free:       218105 (0 MB)
           num_reads:       368430 (0 MB)
          num_writes:       349043 (0 MB)
      orig_data_size:    785846272 (749 MB)
                size:      6057544 (5 MB)
          zero_pages:         7996 (0 MB)
   eff. compr. ratio:  4.78
localhost ~ # ./zraminfo
     compr_data_size:    129945717 (123 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    136237056 (129 MB)
         notify_free:       241461 (0 MB)
           num_reads:       404654 (0 MB)
          num_writes:       360153 (0 MB)
      orig_data_size:    763969536 (728 MB)
                size:      6057544 (5 MB)
          zero_pages:         7911 (0 MB)
   eff. compr. ratio:  5.88
localhost ~ # ./zraminfo
     compr_data_size:    134384535 (128 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    140816384 (134 MB)
         notify_free:       242365 (0 MB)
           num_reads:       406159 (0 MB)
          num_writes:       362829 (0 MB)
      orig_data_size:    773607424 (737 MB)
                size:      6057544 (5 MB)
          zero_pages:         7975 (0 MB)
   eff. compr. ratio:  5.69
localhost ~ # ./zraminfo
     compr_data_size:    133314196 (127 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    139538432 (133 MB)
         notify_free:       252447 (0 MB)
           num_reads:       411617 (0 MB)
          num_writes:       365459 (0 MB)
      orig_data_size:    754352128 (719 MB)
                size:      6057544 (5 MB)
          zero_pages:         7954 (0 MB)
   eff. compr. ratio:  5.68
localhost ~ # ./zraminfo
     compr_data_size:    124826153 (119 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    131440640 (125 MB)
         notify_free:       263839 (0 MB)
           num_reads:       427837 (0 MB)
          num_writes:       375085 (0 MB)
      orig_data_size:    762548224 (727 MB)
                size:      6057544 (5 MB)
          zero_pages:         7504 (0 MB)
   eff. compr. ratio:  6.08
localhost ~ # ./zraminfo
     compr_data_size:     94379398 (90 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:    105000960 (100 MB)
         notify_free:       291596 (0 MB)
           num_reads:       465420 (0 MB)
          num_writes:       386267 (0 MB)
      orig_data_size:    721780736 (688 MB)
                size:      6057544 (5 MB)
          zero_pages:         7482 (0 MB)
   eff. compr. ratio:  7.31
localhost ~ # ./zraminfo
     compr_data_size:     67124988 (64 MB)
            disksize:   3101462528 (2957 MB)
      mem_used_total:     73981952 (70 MB)
         notify_free:       336548 (0 MB)
           num_reads:       499935 (0 MB)
          num_writes:       400298 (0 MB)
      orig_data_size:    700309504 (667 MB)
                size:      6057544 (5 MB)
          zero_pages:         7495 (0 MB)
   eff. compr. ratio: 10.41

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2012-11-21 22:58 behavior of zram stats, and zram allocation limit Luigi Semenzato
@ 2012-11-22  0:46 ` Luigi Semenzato
  2012-11-23  5:51 ` Minchan Kim
  2013-02-17  3:01 ` Jaegeuk Hanse
  2 siblings, 0 replies; 8+ messages in thread
From: Luigi Semenzato @ 2012-11-22  0:46 UTC (permalink / raw)
  To: linux-mm, Minchan Kim, Dan Magenheimer

My apologies---what I am seeing is actually reasonable.  My synthetic
load mistakenly was only touching the pages with incompressible data
in them.  Thus it's reasonable that the compression ratio improves,
since those pages are brought back in, and the zero pages are pushed
out.  :-(

On Wed, Nov 21, 2012 at 2:58 PM, Luigi Semenzato <semenzato@google.com> wrote:
> Hi,
>
> Two questions for zram developers/users.  (Please let me know if it is
> NOT acceptable to use this list for these questions.)
>
> 1. When I run a synthetic load using zram from kernel 3.4.0,
> compr_data_size from /sys/block/zram0 seems to decrease even though
> orig_data_size stays constant (see below).  Is this a bug that was
> fixed in a later release?  (The synthetic load is a bunch of processes
> that allocate memory, fill half of it with data from /dev/urandom, and
> touch the memory randomly.)  I looked at the code and it looks right.
> :-P
>
> 2. Is there a way of setting the max amount of RAM that zram is
> allowed to allocate?  Right now I can set the size of the
> *uncompressed* swap device, but how much memory gets allocated depends
> on the compression ratio, which could vary.
>
> Thanks!
>
>
> localhost ~ # ./zraminfo
>      compr_data_size:    220570516 (210 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    230383616 (219 MB)
>          notify_free:         1553 (0 MB)
>            num_reads:         6093 (0 MB)
>           num_writes:       150955 (0 MB)
>       orig_data_size:    599126016 (571 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         4040 (0 MB)
>    eff. compr. ratio:  2.50
> localhost ~ #
> localhost ~ # ./zraminfo
>      compr_data_size:    208845619 (199 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    213528576 (203 MB)
>          notify_free:        76808 (0 MB)
>            num_reads:        81918 (0 MB)
>           num_writes:       202924 (0 MB)
>       orig_data_size:    586076160 (558 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7434 (0 MB)
>    eff. compr. ratio:  2.80
> localhost ~ # ./zraminfo
>      compr_data_size:    205964814 (196 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    210976768 (201 MB)
>          notify_free:        91823 (0 MB)
>            num_reads:       105170 (0 MB)
>           num_writes:       218485 (0 MB)
>       orig_data_size:    614526976 (586 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         8666 (0 MB)
>    eff. compr. ratio:  2.98
> localhost ~ # ./zraminfo
>      compr_data_size:    229739564 (219 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    235798528 (224 MB)
>          notify_free:       108381 (0 MB)
>            num_reads:       147372 (0 MB)
>           num_writes:       251829 (0 MB)
>       orig_data_size:    697163776 (664 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         9972 (0 MB)
>    eff. compr. ratio:  3.01
> localhost ~ # ./zraminfo
>      compr_data_size:    229458612 (218 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    234651648 (223 MB)
>          notify_free:       132169 (0 MB)
>            num_reads:       203970 (0 MB)
>           num_writes:       282732 (0 MB)
>       orig_data_size:    751472640 (716 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        11139 (0 MB)
>    eff. compr. ratio:  3.27
> localhost ~ # ./zraminfo
>      compr_data_size:    217296398 (207 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    222715904 (212 MB)
>          notify_free:       151071 (0 MB)
>            num_reads:       243898 (0 MB)
>           num_writes:       302316 (0 MB)
>       orig_data_size:    778227712 (742 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10195 (0 MB)
>    eff. compr. ratio:  3.58
> localhost ~ # ./zraminfo
>      compr_data_size:    221631885 (211 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    227188736 (216 MB)
>          notify_free:       166323 (0 MB)
>            num_reads:       278621 (0 MB)
>           num_writes:       323811 (0 MB)
>       orig_data_size:    821809152 (783 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10737 (0 MB)
>    eff. compr. ratio:  3.70
> localhost ~ # ./zraminfo
>      compr_data_size:    216354938 (206 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    221990912 (211 MB)
>          notify_free:       182529 (0 MB)
>            num_reads:       322923 (0 MB)
>           num_writes:       342028 (0 MB)
>       orig_data_size:    849281024 (809 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10990 (0 MB)
>    eff. compr. ratio:  3.92
> localhost ~ # ./zraminfo
>      compr_data_size:    163852068 (156 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    170209280 (162 MB)
>          notify_free:       212669 (0 MB)
>            num_reads:       358680 (0 MB)
>           num_writes:       342896 (0 MB)
>       orig_data_size:    777981952 (741 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7466 (0 MB)
>    eff. compr. ratio:  4.77
> localhost ~ # ./zraminfo
>      compr_data_size:    164434814 (156 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    170631168 (162 MB)
>          notify_free:       218105 (0 MB)
>            num_reads:       368430 (0 MB)
>           num_writes:       349043 (0 MB)
>       orig_data_size:    785846272 (749 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7996 (0 MB)
>    eff. compr. ratio:  4.78
> localhost ~ # ./zraminfo
>      compr_data_size:    129945717 (123 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    136237056 (129 MB)
>          notify_free:       241461 (0 MB)
>            num_reads:       404654 (0 MB)
>           num_writes:       360153 (0 MB)
>       orig_data_size:    763969536 (728 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7911 (0 MB)
>    eff. compr. ratio:  5.88
> localhost ~ # ./zraminfo
>      compr_data_size:    134384535 (128 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    140816384 (134 MB)
>          notify_free:       242365 (0 MB)
>            num_reads:       406159 (0 MB)
>           num_writes:       362829 (0 MB)
>       orig_data_size:    773607424 (737 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7975 (0 MB)
>    eff. compr. ratio:  5.69
> localhost ~ # ./zraminfo
>      compr_data_size:    133314196 (127 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    139538432 (133 MB)
>          notify_free:       252447 (0 MB)
>            num_reads:       411617 (0 MB)
>           num_writes:       365459 (0 MB)
>       orig_data_size:    754352128 (719 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7954 (0 MB)
>    eff. compr. ratio:  5.68
> localhost ~ # ./zraminfo
>      compr_data_size:    124826153 (119 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    131440640 (125 MB)
>          notify_free:       263839 (0 MB)
>            num_reads:       427837 (0 MB)
>           num_writes:       375085 (0 MB)
>       orig_data_size:    762548224 (727 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7504 (0 MB)
>    eff. compr. ratio:  6.08
> localhost ~ # ./zraminfo
>      compr_data_size:     94379398 (90 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    105000960 (100 MB)
>          notify_free:       291596 (0 MB)
>            num_reads:       465420 (0 MB)
>           num_writes:       386267 (0 MB)
>       orig_data_size:    721780736 (688 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7482 (0 MB)
>    eff. compr. ratio:  7.31
> localhost ~ # ./zraminfo
>      compr_data_size:     67124988 (64 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:     73981952 (70 MB)
>          notify_free:       336548 (0 MB)
>            num_reads:       499935 (0 MB)
>           num_writes:       400298 (0 MB)
>       orig_data_size:    700309504 (667 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7495 (0 MB)
>    eff. compr. ratio: 10.41

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2012-11-21 22:58 behavior of zram stats, and zram allocation limit Luigi Semenzato
  2012-11-22  0:46 ` Luigi Semenzato
@ 2012-11-23  5:51 ` Minchan Kim
  2012-11-23 16:45   ` Dan Magenheimer
  2013-02-17  3:25   ` Jaegeuk Hanse
  2013-02-17  3:01 ` Jaegeuk Hanse
  2 siblings, 2 replies; 8+ messages in thread
From: Minchan Kim @ 2012-11-23  5:51 UTC (permalink / raw)
  To: Luigi Semenzato; +Cc: linux-mm, Dan Magenheimer

On Wed, Nov 21, 2012 at 02:58:48PM -0800, Luigi Semenzato wrote:
> Hi,
> 
> Two questions for zram developers/users.  (Please let me know if it is
> NOT acceptable to use this list for these questions.)
> 
> 1. When I run a synthetic load using zram from kernel 3.4.0,
> compr_data_size from /sys/block/zram0 seems to decrease even though
> orig_data_size stays constant (see below).  Is this a bug that was
> fixed in a later release?  (The synthetic load is a bunch of processes
> that allocate memory, fill half of it with data from /dev/urandom, and
> touch the memory randomly.)  I looked at the code and it looks right.
> :-P
> 
> 2. Is there a way of setting the max amount of RAM that zram is
> allowed to allocate?  Right now I can set the size of the
> *uncompressed* swap device, but how much memory gets allocated depends
> on the compression ratio, which could vary.

There is no method to limit the RAM size but I think we can implement
it easily. The only thing we need is just a "voice of customer".
Why do you need it?

> 
> Thanks!
> 
> 
> localhost ~ # ./zraminfo
>      compr_data_size:    220570516 (210 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    230383616 (219 MB)
>          notify_free:         1553 (0 MB)
>            num_reads:         6093 (0 MB)
>           num_writes:       150955 (0 MB)
>       orig_data_size:    599126016 (571 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         4040 (0 MB)
>    eff. compr. ratio:  2.50
> localhost ~ #
> localhost ~ # ./zraminfo
>      compr_data_size:    208845619 (199 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    213528576 (203 MB)
>          notify_free:        76808 (0 MB)
>            num_reads:        81918 (0 MB)
>           num_writes:       202924 (0 MB)
>       orig_data_size:    586076160 (558 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7434 (0 MB)
>    eff. compr. ratio:  2.80
> localhost ~ # ./zraminfo
>      compr_data_size:    205964814 (196 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    210976768 (201 MB)
>          notify_free:        91823 (0 MB)
>            num_reads:       105170 (0 MB)
>           num_writes:       218485 (0 MB)
>       orig_data_size:    614526976 (586 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         8666 (0 MB)
>    eff. compr. ratio:  2.98
> localhost ~ # ./zraminfo
>      compr_data_size:    229739564 (219 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    235798528 (224 MB)
>          notify_free:       108381 (0 MB)
>            num_reads:       147372 (0 MB)
>           num_writes:       251829 (0 MB)
>       orig_data_size:    697163776 (664 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         9972 (0 MB)
>    eff. compr. ratio:  3.01
> localhost ~ # ./zraminfo
>      compr_data_size:    229458612 (218 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    234651648 (223 MB)
>          notify_free:       132169 (0 MB)
>            num_reads:       203970 (0 MB)
>           num_writes:       282732 (0 MB)
>       orig_data_size:    751472640 (716 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        11139 (0 MB)
>    eff. compr. ratio:  3.27
> localhost ~ # ./zraminfo
>      compr_data_size:    217296398 (207 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    222715904 (212 MB)
>          notify_free:       151071 (0 MB)
>            num_reads:       243898 (0 MB)
>           num_writes:       302316 (0 MB)
>       orig_data_size:    778227712 (742 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10195 (0 MB)
>    eff. compr. ratio:  3.58
> localhost ~ # ./zraminfo
>      compr_data_size:    221631885 (211 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    227188736 (216 MB)
>          notify_free:       166323 (0 MB)
>            num_reads:       278621 (0 MB)
>           num_writes:       323811 (0 MB)
>       orig_data_size:    821809152 (783 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10737 (0 MB)
>    eff. compr. ratio:  3.70
> localhost ~ # ./zraminfo
>      compr_data_size:    216354938 (206 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    221990912 (211 MB)
>          notify_free:       182529 (0 MB)
>            num_reads:       322923 (0 MB)
>           num_writes:       342028 (0 MB)
>       orig_data_size:    849281024 (809 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:        10990 (0 MB)
>    eff. compr. ratio:  3.92
> localhost ~ # ./zraminfo
>      compr_data_size:    163852068 (156 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    170209280 (162 MB)
>          notify_free:       212669 (0 MB)
>            num_reads:       358680 (0 MB)
>           num_writes:       342896 (0 MB)
>       orig_data_size:    777981952 (741 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7466 (0 MB)
>    eff. compr. ratio:  4.77
> localhost ~ # ./zraminfo
>      compr_data_size:    164434814 (156 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    170631168 (162 MB)
>          notify_free:       218105 (0 MB)
>            num_reads:       368430 (0 MB)
>           num_writes:       349043 (0 MB)
>       orig_data_size:    785846272 (749 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7996 (0 MB)
>    eff. compr. ratio:  4.78
> localhost ~ # ./zraminfo
>      compr_data_size:    129945717 (123 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    136237056 (129 MB)
>          notify_free:       241461 (0 MB)
>            num_reads:       404654 (0 MB)
>           num_writes:       360153 (0 MB)
>       orig_data_size:    763969536 (728 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7911 (0 MB)
>    eff. compr. ratio:  5.88
> localhost ~ # ./zraminfo
>      compr_data_size:    134384535 (128 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    140816384 (134 MB)
>          notify_free:       242365 (0 MB)
>            num_reads:       406159 (0 MB)
>           num_writes:       362829 (0 MB)
>       orig_data_size:    773607424 (737 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7975 (0 MB)
>    eff. compr. ratio:  5.69
> localhost ~ # ./zraminfo
>      compr_data_size:    133314196 (127 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    139538432 (133 MB)
>          notify_free:       252447 (0 MB)
>            num_reads:       411617 (0 MB)
>           num_writes:       365459 (0 MB)
>       orig_data_size:    754352128 (719 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7954 (0 MB)
>    eff. compr. ratio:  5.68
> localhost ~ # ./zraminfo
>      compr_data_size:    124826153 (119 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    131440640 (125 MB)
>          notify_free:       263839 (0 MB)
>            num_reads:       427837 (0 MB)
>           num_writes:       375085 (0 MB)
>       orig_data_size:    762548224 (727 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7504 (0 MB)
>    eff. compr. ratio:  6.08
> localhost ~ # ./zraminfo
>      compr_data_size:     94379398 (90 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:    105000960 (100 MB)
>          notify_free:       291596 (0 MB)
>            num_reads:       465420 (0 MB)
>           num_writes:       386267 (0 MB)
>       orig_data_size:    721780736 (688 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7482 (0 MB)
>    eff. compr. ratio:  7.31
> localhost ~ # ./zraminfo
>      compr_data_size:     67124988 (64 MB)
>             disksize:   3101462528 (2957 MB)
>       mem_used_total:     73981952 (70 MB)
>          notify_free:       336548 (0 MB)
>            num_reads:       499935 (0 MB)
>           num_writes:       400298 (0 MB)
>       orig_data_size:    700309504 (667 MB)
>                 size:      6057544 (5 MB)
>           zero_pages:         7495 (0 MB)
>    eff. compr. ratio: 10.41
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

-- 
Kind regards,
Minchan Kim

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: behavior of zram stats, and zram allocation limit
  2012-11-23  5:51 ` Minchan Kim
@ 2012-11-23 16:45   ` Dan Magenheimer
  2012-11-23 17:56     ` Luigi Semenzato
  2013-02-17  3:25   ` Jaegeuk Hanse
  1 sibling, 1 reply; 8+ messages in thread
From: Dan Magenheimer @ 2012-11-23 16:45 UTC (permalink / raw)
  To: Minchan Kim, Luigi Semenzato; +Cc: linux-mm

> From: Minchan Kim [mailto:minchan@kernel.org]
> Sent: Thursday, November 22, 2012 10:52 PM
> To: Luigi Semenzato
> Cc: linux-mm@kvack.org; Dan Magenheimer
> Subject: Re: behavior of zram stats, and zram allocation limit
> 
> On Wed, Nov 21, 2012 at 02:58:48PM -0800, Luigi Semenzato wrote:
> > Hi,
> >
> > Two questions for zram developers/users.  (Please let me know if it is
> > NOT acceptable to use this list for these questions.)
> >
> > 1. When I run a synthetic load using zram from kernel 3.4.0,
> > compr_data_size from /sys/block/zram0 seems to decrease even though
> > orig_data_size stays constant (see below).  Is this a bug that was
> > fixed in a later release?  (The synthetic load is a bunch of processes
> > that allocate memory, fill half of it with data from /dev/urandom, and
> > touch the memory randomly.)  I looked at the code and it looks right.
> > :-P
> >
> > 2. Is there a way of setting the max amount of RAM that zram is
> > allowed to allocate?  Right now I can set the size of the
> > *uncompressed* swap device, but how much memory gets allocated depends
> > on the compression ratio, which could vary.
> 
> There is no method to limit the RAM size but I think we can implement
> it easily. The only thing we need is just a "voice of customer".
> Why do you need it?

Hi Minchan --

I am not an expert on zram, but I do recall a conversation
with hughd in 2010 along this line and, after some thought,
he concluded it was far harder than it sounds.  Since
zram appears as a block device, it is not easy to reject
writes.  Zcache circumvents the block I/O system entirely
so "writes" can be managed much more dynamically.

Dan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2012-11-23 16:45   ` Dan Magenheimer
@ 2012-11-23 17:56     ` Luigi Semenzato
  0 siblings, 0 replies; 8+ messages in thread
From: Luigi Semenzato @ 2012-11-23 17:56 UTC (permalink / raw)
  To: Dan Magenheimer; +Cc: Minchan Kim, linux-mm

The ability to set a maximum RAM available to zram would be a stopgap
solution for a larger problem, which is how to balance compressed vs.
uncompressed RAM.

Experimentally, we allocate a 3 GB zram swap device.  With a 3:1
compression ratio, we end up with 1 GB available for the "working
set", and 1 GB for swap---but that assumes the compression ratio is
always the same.  In addition, different loads could take advantage of
a different allocation.  For instance, someone's working set may be
larger than 1 GB, and someone else may be happy with 1/2 GB.  Thus,
the ideal zram would be more tightly integrated with the memory
manager.

On the other hand, on a system like ours, where a single program
(Chrome) is responsible for pretty much all allocation, we can get
around this problem by allocating an even larger zram device, and then
monitoring paging activity to decide when to "discard" processes
(essentially we do our own version of OOM-killing).

So maybe this feature is not so important for us.  We always worry,
though, about what happens when our OOM-discards don't work as well as
they should (there is a lot of guessing).

Thanks!

On Fri, Nov 23, 2012 at 8:45 AM, Dan Magenheimer
<dan.magenheimer@oracle.com> wrote:
>> From: Minchan Kim [mailto:minchan@kernel.org]
>> Sent: Thursday, November 22, 2012 10:52 PM
>> To: Luigi Semenzato
>> Cc: linux-mm@kvack.org; Dan Magenheimer
>> Subject: Re: behavior of zram stats, and zram allocation limit
>>
>> On Wed, Nov 21, 2012 at 02:58:48PM -0800, Luigi Semenzato wrote:
>> > Hi,
>> >
>> > Two questions for zram developers/users.  (Please let me know if it is
>> > NOT acceptable to use this list for these questions.)
>> >
>> > 1. When I run a synthetic load using zram from kernel 3.4.0,
>> > compr_data_size from /sys/block/zram0 seems to decrease even though
>> > orig_data_size stays constant (see below).  Is this a bug that was
>> > fixed in a later release?  (The synthetic load is a bunch of processes
>> > that allocate memory, fill half of it with data from /dev/urandom, and
>> > touch the memory randomly.)  I looked at the code and it looks right.
>> > :-P
>> >
>> > 2. Is there a way of setting the max amount of RAM that zram is
>> > allowed to allocate?  Right now I can set the size of the
>> > *uncompressed* swap device, but how much memory gets allocated depends
>> > on the compression ratio, which could vary.
>>
>> There is no method to limit the RAM size but I think we can implement
>> it easily. The only thing we need is just a "voice of customer".
>> Why do you need it?
>
> Hi Minchan --
>
> I am not an expert on zram, but I do recall a conversation
> with hughd in 2010 along this line and, after some thought,
> he concluded it was far harder than it sounds.  Since
> zram appears as a block device, it is not easy to reject
> writes.  Zcache circumvents the block I/O system entirely
> so "writes" can be managed much more dynamically.
>
> Dan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2012-11-21 22:58 behavior of zram stats, and zram allocation limit Luigi Semenzato
  2012-11-22  0:46 ` Luigi Semenzato
  2012-11-23  5:51 ` Minchan Kim
@ 2013-02-17  3:01 ` Jaegeuk Hanse
  2 siblings, 0 replies; 8+ messages in thread
From: Jaegeuk Hanse @ 2013-02-17  3:01 UTC (permalink / raw)
  To: Luigi Semenzato; +Cc: linux-mm, Minchan Kim, Dan Magenheimer

On 11/22/2012 06:58 AM, Luigi Semenzato wrote:
> Hi,
>
> Two questions for zram developers/users.  (Please let me know if it is
> NOT acceptable to use this list for these questions.)
>
> 1. When I run a synthetic load using zram from kernel 3.4.0,
> compr_data_size from /sys/block/zram0 seems to decrease even though
> orig_data_size stays constant (see below).  Is this a bug that was
> fixed in a later release?  (The synthetic load is a bunch of processes
> that allocate memory, fill half of it with data from /dev/urandom, and
> touch the memory randomly.)  I looked at the code and it looks right.
> :-P
>
> 2. Is there a way of setting the max amount of RAM that zram is
> allowed to allocate?  Right now I can set the size of the
> *uncompressed* swap device, but how much memory gets allocated depends
> on the compression ratio, which could vary.
>
> Thanks!

Could you share your zraminfo ?

>
>
> localhost ~ # ./zraminfo
>       compr_data_size:    220570516 (210 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    230383616 (219 MB)
>           notify_free:         1553 (0 MB)
>             num_reads:         6093 (0 MB)
>            num_writes:       150955 (0 MB)
>        orig_data_size:    599126016 (571 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         4040 (0 MB)
>     eff. compr. ratio:  2.50
> localhost ~ #
> localhost ~ # ./zraminfo
>       compr_data_size:    208845619 (199 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    213528576 (203 MB)
>           notify_free:        76808 (0 MB)
>             num_reads:        81918 (0 MB)
>            num_writes:       202924 (0 MB)
>        orig_data_size:    586076160 (558 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7434 (0 MB)
>     eff. compr. ratio:  2.80
> localhost ~ # ./zraminfo
>       compr_data_size:    205964814 (196 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    210976768 (201 MB)
>           notify_free:        91823 (0 MB)
>             num_reads:       105170 (0 MB)
>            num_writes:       218485 (0 MB)
>        orig_data_size:    614526976 (586 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         8666 (0 MB)
>     eff. compr. ratio:  2.98
> localhost ~ # ./zraminfo
>       compr_data_size:    229739564 (219 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    235798528 (224 MB)
>           notify_free:       108381 (0 MB)
>             num_reads:       147372 (0 MB)
>            num_writes:       251829 (0 MB)
>        orig_data_size:    697163776 (664 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         9972 (0 MB)
>     eff. compr. ratio:  3.01
> localhost ~ # ./zraminfo
>       compr_data_size:    229458612 (218 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    234651648 (223 MB)
>           notify_free:       132169 (0 MB)
>             num_reads:       203970 (0 MB)
>            num_writes:       282732 (0 MB)
>        orig_data_size:    751472640 (716 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:        11139 (0 MB)
>     eff. compr. ratio:  3.27
> localhost ~ # ./zraminfo
>       compr_data_size:    217296398 (207 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    222715904 (212 MB)
>           notify_free:       151071 (0 MB)
>             num_reads:       243898 (0 MB)
>            num_writes:       302316 (0 MB)
>        orig_data_size:    778227712 (742 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:        10195 (0 MB)
>     eff. compr. ratio:  3.58
> localhost ~ # ./zraminfo
>       compr_data_size:    221631885 (211 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    227188736 (216 MB)
>           notify_free:       166323 (0 MB)
>             num_reads:       278621 (0 MB)
>            num_writes:       323811 (0 MB)
>        orig_data_size:    821809152 (783 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:        10737 (0 MB)
>     eff. compr. ratio:  3.70
> localhost ~ # ./zraminfo
>       compr_data_size:    216354938 (206 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    221990912 (211 MB)
>           notify_free:       182529 (0 MB)
>             num_reads:       322923 (0 MB)
>            num_writes:       342028 (0 MB)
>        orig_data_size:    849281024 (809 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:        10990 (0 MB)
>     eff. compr. ratio:  3.92
> localhost ~ # ./zraminfo
>       compr_data_size:    163852068 (156 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    170209280 (162 MB)
>           notify_free:       212669 (0 MB)
>             num_reads:       358680 (0 MB)
>            num_writes:       342896 (0 MB)
>        orig_data_size:    777981952 (741 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7466 (0 MB)
>     eff. compr. ratio:  4.77
> localhost ~ # ./zraminfo
>       compr_data_size:    164434814 (156 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    170631168 (162 MB)
>           notify_free:       218105 (0 MB)
>             num_reads:       368430 (0 MB)
>            num_writes:       349043 (0 MB)
>        orig_data_size:    785846272 (749 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7996 (0 MB)
>     eff. compr. ratio:  4.78
> localhost ~ # ./zraminfo
>       compr_data_size:    129945717 (123 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    136237056 (129 MB)
>           notify_free:       241461 (0 MB)
>             num_reads:       404654 (0 MB)
>            num_writes:       360153 (0 MB)
>        orig_data_size:    763969536 (728 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7911 (0 MB)
>     eff. compr. ratio:  5.88
> localhost ~ # ./zraminfo
>       compr_data_size:    134384535 (128 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    140816384 (134 MB)
>           notify_free:       242365 (0 MB)
>             num_reads:       406159 (0 MB)
>            num_writes:       362829 (0 MB)
>        orig_data_size:    773607424 (737 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7975 (0 MB)
>     eff. compr. ratio:  5.69
> localhost ~ # ./zraminfo
>       compr_data_size:    133314196 (127 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    139538432 (133 MB)
>           notify_free:       252447 (0 MB)
>             num_reads:       411617 (0 MB)
>            num_writes:       365459 (0 MB)
>        orig_data_size:    754352128 (719 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7954 (0 MB)
>     eff. compr. ratio:  5.68
> localhost ~ # ./zraminfo
>       compr_data_size:    124826153 (119 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    131440640 (125 MB)
>           notify_free:       263839 (0 MB)
>             num_reads:       427837 (0 MB)
>            num_writes:       375085 (0 MB)
>        orig_data_size:    762548224 (727 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7504 (0 MB)
>     eff. compr. ratio:  6.08
> localhost ~ # ./zraminfo
>       compr_data_size:     94379398 (90 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:    105000960 (100 MB)
>           notify_free:       291596 (0 MB)
>             num_reads:       465420 (0 MB)
>            num_writes:       386267 (0 MB)
>        orig_data_size:    721780736 (688 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7482 (0 MB)
>     eff. compr. ratio:  7.31
> localhost ~ # ./zraminfo
>       compr_data_size:     67124988 (64 MB)
>              disksize:   3101462528 (2957 MB)
>        mem_used_total:     73981952 (70 MB)
>           notify_free:       336548 (0 MB)
>             num_reads:       499935 (0 MB)
>            num_writes:       400298 (0 MB)
>        orig_data_size:    700309504 (667 MB)
>                  size:      6057544 (5 MB)
>            zero_pages:         7495 (0 MB)
>     eff. compr. ratio: 10.41
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2012-11-23  5:51 ` Minchan Kim
  2012-11-23 16:45   ` Dan Magenheimer
@ 2013-02-17  3:25   ` Jaegeuk Hanse
  2013-02-19 23:54     ` Minchan Kim
  1 sibling, 1 reply; 8+ messages in thread
From: Jaegeuk Hanse @ 2013-02-17  3:25 UTC (permalink / raw)
  To: Minchan Kim; +Cc: Luigi Semenzato, linux-mm, Dan Magenheimer

On 11/23/2012 01:51 PM, Minchan Kim wrote:
> On Wed, Nov 21, 2012 at 02:58:48PM -0800, Luigi Semenzato wrote:
>> Hi,
>>
>> Two questions for zram developers/users.  (Please let me know if it is
>> NOT acceptable to use this list for these questions.)
>>
>> 1. When I run a synthetic load using zram from kernel 3.4.0,
>> compr_data_size from /sys/block/zram0 seems to decrease even though
>> orig_data_size stays constant (see below).  Is this a bug that was
>> fixed in a later release?  (The synthetic load is a bunch of processes
>> that allocate memory, fill half of it with data from /dev/urandom, and
>> touch the memory randomly.)  I looked at the code and it looks right.
>> :-P
>>
>> 2. Is there a way of setting the max amount of RAM that zram is
>> allowed to allocate?  Right now I can set the size of the
>> *uncompressed* swap device, but how much memory gets allocated depends
>> on the compression ratio, which could vary.
> There is no method to limit the RAM size but I think we can implement
> it easily. The only thing we need is just a "voice of customer".
> Why do you need it?

But in current codes, where implement limit to *uncompressed* swap 
device? I can't find it in zram_drv.c, could you point out to me?

>
>> Thanks!
>>
>>
>> localhost ~ # ./zraminfo
>>       compr_data_size:    220570516 (210 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    230383616 (219 MB)
>>           notify_free:         1553 (0 MB)
>>             num_reads:         6093 (0 MB)
>>            num_writes:       150955 (0 MB)
>>        orig_data_size:    599126016 (571 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         4040 (0 MB)
>>     eff. compr. ratio:  2.50
>> localhost ~ #
>> localhost ~ # ./zraminfo
>>       compr_data_size:    208845619 (199 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    213528576 (203 MB)
>>           notify_free:        76808 (0 MB)
>>             num_reads:        81918 (0 MB)
>>            num_writes:       202924 (0 MB)
>>        orig_data_size:    586076160 (558 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7434 (0 MB)
>>     eff. compr. ratio:  2.80
>> localhost ~ # ./zraminfo
>>       compr_data_size:    205964814 (196 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    210976768 (201 MB)
>>           notify_free:        91823 (0 MB)
>>             num_reads:       105170 (0 MB)
>>            num_writes:       218485 (0 MB)
>>        orig_data_size:    614526976 (586 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         8666 (0 MB)
>>     eff. compr. ratio:  2.98
>> localhost ~ # ./zraminfo
>>       compr_data_size:    229739564 (219 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    235798528 (224 MB)
>>           notify_free:       108381 (0 MB)
>>             num_reads:       147372 (0 MB)
>>            num_writes:       251829 (0 MB)
>>        orig_data_size:    697163776 (664 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         9972 (0 MB)
>>     eff. compr. ratio:  3.01
>> localhost ~ # ./zraminfo
>>       compr_data_size:    229458612 (218 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    234651648 (223 MB)
>>           notify_free:       132169 (0 MB)
>>             num_reads:       203970 (0 MB)
>>            num_writes:       282732 (0 MB)
>>        orig_data_size:    751472640 (716 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:        11139 (0 MB)
>>     eff. compr. ratio:  3.27
>> localhost ~ # ./zraminfo
>>       compr_data_size:    217296398 (207 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    222715904 (212 MB)
>>           notify_free:       151071 (0 MB)
>>             num_reads:       243898 (0 MB)
>>            num_writes:       302316 (0 MB)
>>        orig_data_size:    778227712 (742 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:        10195 (0 MB)
>>     eff. compr. ratio:  3.58
>> localhost ~ # ./zraminfo
>>       compr_data_size:    221631885 (211 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    227188736 (216 MB)
>>           notify_free:       166323 (0 MB)
>>             num_reads:       278621 (0 MB)
>>            num_writes:       323811 (0 MB)
>>        orig_data_size:    821809152 (783 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:        10737 (0 MB)
>>     eff. compr. ratio:  3.70
>> localhost ~ # ./zraminfo
>>       compr_data_size:    216354938 (206 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    221990912 (211 MB)
>>           notify_free:       182529 (0 MB)
>>             num_reads:       322923 (0 MB)
>>            num_writes:       342028 (0 MB)
>>        orig_data_size:    849281024 (809 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:        10990 (0 MB)
>>     eff. compr. ratio:  3.92
>> localhost ~ # ./zraminfo
>>       compr_data_size:    163852068 (156 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    170209280 (162 MB)
>>           notify_free:       212669 (0 MB)
>>             num_reads:       358680 (0 MB)
>>            num_writes:       342896 (0 MB)
>>        orig_data_size:    777981952 (741 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7466 (0 MB)
>>     eff. compr. ratio:  4.77
>> localhost ~ # ./zraminfo
>>       compr_data_size:    164434814 (156 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    170631168 (162 MB)
>>           notify_free:       218105 (0 MB)
>>             num_reads:       368430 (0 MB)
>>            num_writes:       349043 (0 MB)
>>        orig_data_size:    785846272 (749 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7996 (0 MB)
>>     eff. compr. ratio:  4.78
>> localhost ~ # ./zraminfo
>>       compr_data_size:    129945717 (123 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    136237056 (129 MB)
>>           notify_free:       241461 (0 MB)
>>             num_reads:       404654 (0 MB)
>>            num_writes:       360153 (0 MB)
>>        orig_data_size:    763969536 (728 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7911 (0 MB)
>>     eff. compr. ratio:  5.88
>> localhost ~ # ./zraminfo
>>       compr_data_size:    134384535 (128 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    140816384 (134 MB)
>>           notify_free:       242365 (0 MB)
>>             num_reads:       406159 (0 MB)
>>            num_writes:       362829 (0 MB)
>>        orig_data_size:    773607424 (737 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7975 (0 MB)
>>     eff. compr. ratio:  5.69
>> localhost ~ # ./zraminfo
>>       compr_data_size:    133314196 (127 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    139538432 (133 MB)
>>           notify_free:       252447 (0 MB)
>>             num_reads:       411617 (0 MB)
>>            num_writes:       365459 (0 MB)
>>        orig_data_size:    754352128 (719 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7954 (0 MB)
>>     eff. compr. ratio:  5.68
>> localhost ~ # ./zraminfo
>>       compr_data_size:    124826153 (119 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    131440640 (125 MB)
>>           notify_free:       263839 (0 MB)
>>             num_reads:       427837 (0 MB)
>>            num_writes:       375085 (0 MB)
>>        orig_data_size:    762548224 (727 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7504 (0 MB)
>>     eff. compr. ratio:  6.08
>> localhost ~ # ./zraminfo
>>       compr_data_size:     94379398 (90 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:    105000960 (100 MB)
>>           notify_free:       291596 (0 MB)
>>             num_reads:       465420 (0 MB)
>>            num_writes:       386267 (0 MB)
>>        orig_data_size:    721780736 (688 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7482 (0 MB)
>>     eff. compr. ratio:  7.31
>> localhost ~ # ./zraminfo
>>       compr_data_size:     67124988 (64 MB)
>>              disksize:   3101462528 (2957 MB)
>>        mem_used_total:     73981952 (70 MB)
>>           notify_free:       336548 (0 MB)
>>             num_reads:       499935 (0 MB)
>>            num_writes:       400298 (0 MB)
>>        orig_data_size:    700309504 (667 MB)
>>                  size:      6057544 (5 MB)
>>            zero_pages:         7495 (0 MB)
>>     eff. compr. ratio: 10.41
>>
>> --
>> To unsubscribe, send a message with 'unsubscribe linux-mm' in
>> the body to majordomo@kvack.org.  For more info on Linux MM,
>> see: http://www.linux-mm.org/ .
>> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: behavior of zram stats, and zram allocation limit
  2013-02-17  3:25   ` Jaegeuk Hanse
@ 2013-02-19 23:54     ` Minchan Kim
  0 siblings, 0 replies; 8+ messages in thread
From: Minchan Kim @ 2013-02-19 23:54 UTC (permalink / raw)
  To: Jaegeuk Hanse; +Cc: Luigi Semenzato, linux-mm, Dan Magenheimer

On Sun, Feb 17, 2013 at 11:25:37AM +0800, Jaegeuk Hanse wrote:
> On 11/23/2012 01:51 PM, Minchan Kim wrote:
> >On Wed, Nov 21, 2012 at 02:58:48PM -0800, Luigi Semenzato wrote:
> >>Hi,
> >>
> >>Two questions for zram developers/users.  (Please let me know if it is
> >>NOT acceptable to use this list for these questions.)
> >>
> >>1. When I run a synthetic load using zram from kernel 3.4.0,
> >>compr_data_size from /sys/block/zram0 seems to decrease even though
> >>orig_data_size stays constant (see below).  Is this a bug that was
> >>fixed in a later release?  (The synthetic load is a bunch of processes
> >>that allocate memory, fill half of it with data from /dev/urandom, and
> >>touch the memory randomly.)  I looked at the code and it looks right.
> >>:-P
> >>
> >>2. Is there a way of setting the max amount of RAM that zram is
> >>allowed to allocate?  Right now I can set the size of the
> >>*uncompressed* swap device, but how much memory gets allocated depends
> >>on the compression ratio, which could vary.
> >There is no method to limit the RAM size but I think we can implement
> >it easily. The only thing we need is just a "voice of customer".
> >Why do you need it?
> 
> But in current codes, where implement limit to *uncompressed* swap
> device? I can't find it in zram_drv.c, could you point out to me?

Swap layer would manage it by get_swap_page.

- 
Kind regards,
Minchan Kim

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-02-19 23:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-21 22:58 behavior of zram stats, and zram allocation limit Luigi Semenzato
2012-11-22  0:46 ` Luigi Semenzato
2012-11-23  5:51 ` Minchan Kim
2012-11-23 16:45   ` Dan Magenheimer
2012-11-23 17:56     ` Luigi Semenzato
2013-02-17  3:25   ` Jaegeuk Hanse
2013-02-19 23:54     ` Minchan Kim
2013-02-17  3:01 ` Jaegeuk Hanse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).