mm/slub.c - Use print_hex_dump
Subsystems (16)
PATCH 1/1 mm/slub.c - Use print_hex_dump
Use the library function to dump memory
old:
$ size mm/slub.o text data bss dec hex filename 16165 5782 80 22027 560b mm/slub.o
new:
$ size mm/slub.o text data bss dec hex filename 15990 5782 80 21852 555c mm/slub.o
mm/slub.c +9 -35
@@ -378,36 +378,10 @@ static char *slub_debug_slabs;/* * Object debugging */ -static void print_section (char *text,u8 *addr,unsigned int length) +static void print_section (const char *text,const u8 *addr,size_t length) { -int i, offset; -int newline =1 ; -char ascii[17 ]; - - ascii[16 ] =0 ; - -for (i =0 ; i < length; i++) { -if (newline) { -printk (KERN_ERR "%8s 0x%p: " , text, addr + i); - newline =0 ; - } -printk (KERN_CONT " %02x" , addr[i]); - offset = i %16 ; - ascii[offset] =isgraph (addr[i]) ? addr[i] :'.' ; -if (offset ==15 ) { -printk (KERN_CONT " %s\n" , ascii); - newline =1 ; - } - } -if (!newline) { - i %=16 ; -while (i <16 ) { -printk (KERN_CONT " " ); - ascii[i] =' ' ; - i++; - } -printk (KERN_CONT " %s\n" , ascii); - } +print_hex_dump (KERN_ERR , text,DUMP_PREFIX_ADDRESS ,16 ,1 , + addr, length, true); } static struct track *get_track(struct kmem_cache *s, void *object,
@@ -517,12 +491,12 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p) p, p - addr, get_freepointer(s, p));if (p > addr +16 ) -print_section ("Bytes b4" , p -16 ,16 ); +print_section ("Bytes b4: " , p -16 ,16 ); -print_section ("Object" , p,min (s->objsize,128 )); +print_section ("Object: " , p,min (s->objsize,128 ));if (s->flags &SLAB_RED_ZONE ) -print_section ("Redzone" , p + s->objsize, +print_section ("Redzone: " , p + s->objsize, s->inuse - s->objsize);if (s->offset)
@@ -535,7 +509,7 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p)if (off != s->size)/* Beginning of the filler is the free pointer */ -print_section ("Padding" , p + off, s->size - off); +print_section ("Padding: " , p + off, s->size - off);dump_stack (); }
@@ -699,7 +673,7 @@ static int slab_pad_check(struct kmem_cache *s, struct page *page) end--;slab_err (s, page,"Padding overwritten. 0x%p-0x%p" , fault, end -1 ); -print_section ("Padding" , start, length); +print_section ("Padding: " , start, length);restore_bytes (s,"slab padding" ,POISON_INUSE , start, end);return 0 ;
@@ -829,7 +803,7 @@ static void trace(struct kmem_cache *s, struct page *page, void *object, int all page->freelist);if (!alloc) -print_section ("Object" , (void *)object, s->objsize); +print_section ("Object: " , (void *)object, s->objsize);dump_stack (); }
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 1 line · Joe Perches
Use the library function to dump memory
Could you please compare the formatting of the output before and after? Last time we tried this we had issues because it became a bit ugly.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 4 lines · Christoph Lameter
Quoted 1 line · Joe Perches
Use the library function to dump memory
Could you please compare the formatting of the output before and after? Last time we tried this we had issues because it became a bit ugly.
The difference is the last line of the ascii is not aligned if the length is non modulo 16.
I have sent a patch to print_hex_dump to always align.
http://lkml.org/lkml/2007/12/6/304
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 11 lines · Joe Perches
Quoted 4 lines · Christoph Lameter
Quoted 1 line · Joe Perches
Use the library function to dump memory
Could you please compare the formatting of the output before and after? Last time we tried this we had issues because it became a bit ugly.
The difference is the last line of the ascii is not aligned if the length is non modulo 16.
I have sent a patch to
print_hex_dumpto always align.
http://lkml.org/lkml/2007/12/6/304
Could you group these together for review? I think we are okay with the slub changes if the print_hex_dump is fixed.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 4 lines · Christoph Lameter
Quoted 3 lines · Joe Perches
Quoted 2 lines · Christoph Lameter
Quoted 1 line · Joe Perches
Use the library function to dump memory
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
Could you please compare the formatting of the output before and after? Last time we tried this we had issues because it became a bit ugly.
The difference is the last line of the ascii is not aligned if the length is non modulo 16.
I have sent a patch toprint_hex_dumpto always align.
http://lkml.org/lkml/2007/12/6/304Could you group these together for review? I think we are okay with the slub changes if the
print_hex_dumpis fixed.
hex_dump_to_buffer:
Removes casts to type for non-1 group sizes
Used by: fs/ext(3|4)super.c, fs/jfs
If someone really dislikes this change, please say so. I think casting to type in a hex dump odd, especially for mixed type structures.
If you want an array of type dumper, it probably shouldn't be called hex_dump_to_buffer.
Groups by arbitrary sizeprint_hex_dump:
Removes rowsize argument
Reduces linebuf stack use to ~120 bytes
prefix:25 + address:20 + data:48 + ascii:20)
Aligns multiline ascii output
Changes return to size_t, number of bytes actually output
include/linux/kernel.h
Removes hex_asc define
Updates hex_dump prototypesmm/slub.c
Use print_hex_dump
The rest are trivial conversions to new argument list.
size before:
text data bss dec hex filename
1142 0 0 1142 476 lib/hexdump.o
size after:
text data bss dec hex filename
823 0 0 823 337 lib/hexdump.o--- include/linux/ide.h | 2 +- include/linux/kernel.h | 13 +- lib/hexdump.c | 164 ++++++++++++--------------- mm/slub.c | 44 ++------ drivers/mtd/ubi/debug.c | 4 +- drivers/mtd/ubi/io.c | 4 +- drivers/net/e1000/e1000_main.c | 2 +- drivers/net/enc28j60.c | 4 +- drivers/net/wireless/iwlwifi/iwl3945-base.c | 4 +- drivers/net/wireless/iwlwifi/iwl4965-base.c | 4 +- drivers/s390/cio/device_fsm.c | 17 ++-- drivers/scsi/ide-scsi.c | 2 +- drivers/usb/gadget/file_storage.c | 8 +- fs/ext3/super.c | 6 +- fs/ext4/super.c | 6 +- fs/jffs2/wbuf.c | 8 +- fs/jfs/jfs_imap.c | 4 +- fs/jfs/jfs_logmgr.c | 15 ++- fs/jfs/jfs_metapage.c | 4 +- fs/jfs/jfs_txnmgr.c | 17 ++-- fs/jfs/xattr.c | 4 +- fs/xfs/support/debug.c | 2 +- crypto/tcrypt.c | 3 +- 23 files changed, 150 insertions(+), 191 deletions(-)
include/linux/ide.h +1 -1
@@ -1288,7 +1288,7 @@ extern struct bus_type ide_bus_type;static inline void ide_dump_identify (u8 *id) { -print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_NONE ,16 ,2 , id,512 ,0 ); +print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_NONE ,2 , id,512 , false); }static inline int hwif_to_node (ide_hwif_t *hwif)
include/linux/kernel.h +6 -7
@@ -252,15 +252,14 @@ enum {DUMP_PREFIX_ADDRESS ,DUMP_PREFIX_OFFSET }; -extern void hex_dump_to_buffer (const void *buf,size_t len, -int rowsize,int groupsize, -char *linebuf,size_t linebuflen,bool ascii); +extern size_t hex_dump_to_buffer (const void *buf,size_t len, +size_t rowsize,size_t groupsize, +char *linebuf,size_t linebuflen,bool ascii);extern void print_hex_dump (const char *level,const char *prefix_str, -int prefix_type,int rowsize,int groupsize, -const void *buf,size_t len,bool ascii); +int prefix_type,size_t groupsize, +const void *buf,size_t len,bool ascii);extern void print_hex_dump_bytes (const char *prefix_str,int prefix_type, -const void *buf,size_t len); -#define hex_asc (x) "0123456789abcdef"[x] +const void *buf,size_t len); #define pr_emerg(fmt, arg...) \ printk(KERN_EMERG fmt, ##arg)
lib/hexdump.c +73 -91
243 lines not on this page · raw message
mm/slub.c +9 -35
78 lines not on this page · raw message
drivers/mtd/ubi/debug.c +2 -2
@@ -42,8 +42,8 @@ void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr)dbg_msg ("data_offset %d" ,be32_to_cpu (ec_hdr->data_offset));dbg_msg ("hdr_crc %#08x" ,be32_to_cpu (ec_hdr->hdr_crc));dbg_msg ("erase counter header hexdump:" ); -print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET ,32 ,1 , - ec_hdr,UBI_EC_HDR_SIZE ,1 ); +print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET ,1 , + ec_hdr,UBI_EC_HDR_SIZE , true); }/**
drivers/mtd/ubi/io.c +2 -2
@@ -1253,8 +1253,8 @@ static int paranoid_check_all_ff(struct ubi_device *ubi, int pnum, int offset, fail:ubi_err ("paranoid check failed for PEB %d" , pnum);dbg_msg ("hex dump of the %d-%d region" , offset, offset + len); -print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET ,32 ,1 , - ubi->dbg_peb_buf, len,1 ); +print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET ,1 , + ubi->dbg_peb_buf, len, true); err =1 ; error:ubi_dbg_dump_stack ();
drivers/net/e1000/e1000_main.c +1 -1
@@ -886,7 +886,7 @@ static void e1000_dump_eeprom(struct e1000_adapter *adapter)printk (KERN_ERR "Offset Values\n" );printk (KERN_ERR "======== ======\n" ); -print_hex_dump (KERN_ERR ,"" ,DUMP_PREFIX_OFFSET ,16 ,1 , data,128 ,0 ); +print_hex_dump (KERN_ERR ,"" ,DUMP_PREFIX_OFFSET ,1 , data,128 , false);printk (KERN_ERR "Include this output when contacting your support " "provider.\n" );
drivers/net/enc28j60.c +2 -2
@@ -835,8 +835,8 @@ static void enc28j60_dump_rsv(struct enc28j60_net *priv, const char *msg,static void dump_packet (const char *msg,int len,const char *data) { printk(KERN_DEBUG DRV_NAME ": %s - packet len:%d\n", msg, len); -print_hex_dump (KERN_DEBUG ,"pk data: " ,DUMP_PREFIX_OFFSET ,16 ,1 , - data, len, true); +print_hex_dump (KERN_DEBUG ,"pk data: " ,DUMP_PREFIX_OFFSET ,1 , + data, len, true); }/*
drivers/net/wireless/iwlwifi/iwl3945-base.c +2 -2
@@ -174,8 +174,8 @@ static void iwl3945_print_hex_dump(int level, void *p, u32 len)if (!(iwl3945_debug_level & level))return ; -print_hex_dump (KERN_DEBUG ,"iwl data: " ,DUMP_PREFIX_OFFSET ,16 ,1 , - p, len,1 ); +print_hex_dump (KERN_DEBUG ,"iwl data: " ,DUMP_PREFIX_OFFSET ,1 , + p, len, true);#endif }
drivers/net/wireless/iwlwifi/iwl4965-base.c +2 -2
@@ -173,8 +173,8 @@ static void iwl4965_print_hex_dump(int level, void *p, u32 len)if (!(iwl4965_debug_level & level))return ; -print_hex_dump (KERN_DEBUG ,"iwl data: " ,DUMP_PREFIX_OFFSET ,16 ,1 , - p, len,1 ); +print_hex_dump (KERN_DEBUG ,"iwl data: " ,DUMP_PREFIX_OFFSET ,1 , + p, len, true);#endif }
drivers/s390/cio/device_fsm.c +9 -8
@@ -108,8 +108,8 @@ static void ccw_timeout_log(struct ccw_device *cdev)printk (KERN_WARNING "cio: ccw device timeout occurred at %llx, " "device information:\n" ,get_clock ());printk (KERN_WARNING "cio: orb:\n" ); -print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,16 ,1 , - &private->orb,sizeof (private->orb),0 ); +print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,1 , + &private->orb,sizeof (private->orb), false);printk (KERN_WARNING "cio: ccw device bus id: %s\n" , cdev->dev.bus_id);printk (KERN_WARNING "cio: subchannel bus id: %s\n" , sch->dev.bus_id); printk(KERN_WARNING "cio: subchannel lpm: %02x, opm: %02x, "
@@ -121,18 +121,19 @@ static void ccw_timeout_log(struct ccw_device *cdev)else printk (KERN_WARNING "cio: last channel program:\n" ); -print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,16 ,1 , +print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,1 , (void *)(addr_t )private->orb.cpa, -sizeof (struct ccw1 ),0 ); +sizeof (struct ccw1 ), false);printk (KERN_WARNING "cio: ccw device state: %d\n" , cdev->private->state);printk (KERN_WARNING "cio: store subchannel returned: cc=%d\n" , cc);printk (KERN_WARNING "cio: schib:\n" ); -print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,16 ,1 , - &schib,sizeof (schib),0 ); +print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,1 , + &schib,sizeof (schib), false);printk (KERN_WARNING "cio: ccw device flags:\n" ); -print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,16 ,1 , - &cdev->private->flags,sizeof (cdev->private->flags),0 ); +print_hex_dump (KERN_WARNING ,"cio: " ,DUMP_PREFIX_NONE ,1 , + &cdev->private->flags,sizeof (cdev->private->flags), + false); }/*
drivers/scsi/ide-scsi.c +1 -1
@@ -243,7 +243,7 @@ static void idescsi_output_buffers (ide_drive_t *drive, idescsi_pc_t *pc, unsignstatic void ide_scsi_hex_dump (u8 *data,int len) { -print_hex_dump (KERN_CONT ,"" ,DUMP_PREFIX_NONE ,16 ,1 , data, len,0 ); +print_hex_dump (KERN_CONT ,"" ,DUMP_PREFIX_NONE ,1 , data, len, false); }static int idescsi_check_condition (ide_drive_t *drive,struct request *failed_command)
drivers/usb/gadget/file_storage.c +4 -4
@@ -718,8 +718,8 @@ static void dump_msg(struct fsg_dev *fsg, const char *label, {if (length <512 ) {DBG (fsg,"%s, length %u:\n" , label, length); -print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET , -16 ,1 , buf, length,0 ); +print_hex_dump (KERN_DEBUG ,"" ,DUMP_PREFIX_OFFSET ,1 , + buf, length, false); } }
@@ -736,8 +736,8 @@ static void dump_msg(struct fsg_dev *fsg, const char *label,static void dump_cdb (struct fsg_dev *fsg) { -print_hex_dump (KERN_DEBUG ,"SCSI CDB: " ,DUMP_PREFIX_NONE , -16 ,1 , fsg->cmnd, fsg->cmnd_size,0 ); +print_hex_dump (KERN_DEBUG ,"SCSI CDB: " ,DUMP_PREFIX_NONE ,1 , + fsg->cmnd, fsg->cmnd_size, false); }#else
fs/ext3/super.c +3 -3
@@ -464,9 +464,9 @@ static void ext3_destroy_inode(struct inode *inode)if (!list_empty (&(EXT3_I (inode)->i_orphan))) {printk ("EXT3 Inode %p: orphan list check failed!\n" ,EXT3_I (inode)); -print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_ADDRESS ,16 ,4 , -EXT3_I (inode),sizeof (struct ext3_inode_info ), - false); +print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_ADDRESS ,4 , +EXT3_I (inode),sizeof (struct ext3_inode_info ), + true);dump_stack (); }kmem_cache_free (ext3_inode_cachep,EXT3_I (inode));
fs/ext4/super.c +3 -3
@@ -580,9 +580,9 @@ static void ext4_destroy_inode(struct inode *inode)if (!list_empty (&(EXT4_I (inode)->i_orphan))) {printk ("EXT4 Inode %p: orphan list check failed!\n" ,EXT4_I (inode)); -print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_ADDRESS ,16 ,4 , -EXT4_I (inode),sizeof (struct ext4_inode_info ), - true); +print_hex_dump (KERN_INFO ,"" ,DUMP_PREFIX_ADDRESS ,4 , +EXT4_I (inode),sizeof (struct ext4_inode_info ), + true);dump_stack (); }kmem_cache_free (ext4_inode_cachep,EXT4_I (inode));
fs/jffs2/wbuf.c +4 -4
@@ -248,12 +248,12 @@ static int jffs2_verify_write(struct jffs2_sb_info *c, unsigned char *buf,printk (KERN_WARNING "Write verify error (ECC %s) at %08x. Wrote:\n" , eccstr, c->wbuf_ofs); -print_hex_dump (KERN_WARNING ,"" ,DUMP_PREFIX_OFFSET ,16 ,1 , - c->wbuf, c->wbuf_pagesize,0 ); +print_hex_dump (KERN_WARNING ,"" ,DUMP_PREFIX_OFFSET ,1 , + c->wbuf, c->wbuf_pagesize, false);printk (KERN_WARNING "Read back:\n" ); -print_hex_dump (KERN_WARNING ,"" ,DUMP_PREFIX_OFFSET ,16 ,1 , - c->wbuf_verify, c->wbuf_pagesize,0 ); +print_hex_dump (KERN_WARNING ,"" ,DUMP_PREFIX_OFFSET ,1 , + c->wbuf_verify, c->wbuf_pagesize, false);return -EIO ; }
fs/jfs/jfs_imap.c +2 -2
@@ -890,8 +890,8 @@ int diFree(struct inode *ip)* the map. */ if (iagno >= imap->im_nextiag) { -print_hex_dump (KERN_ERR ,"imap: " ,DUMP_PREFIX_ADDRESS ,16 ,4 , - imap,32 ,0 ); +print_hex_dump (KERN_ERR ,"imap: " ,DUMP_PREFIX_ADDRESS ,4 , + imap,32 , false);jfs_error (ip->i_sb,"diFree: inum = %d, iagno = %d, nextiag = %d" , (uint ) inum, iagno, imap->im_nextiag);
fs/jfs/jfs_logmgr.c +9 -6
@@ -1625,16 +1625,19 @@ void jfs_flush_journal(struct jfs_log *log, int wait)if (lp->xflag &COMMIT_PAGE ) {struct metapage *mp = (struct metapage *)lp;print_hex_dump (KERN_ERR ,"metapage: " , -DUMP_PREFIX_ADDRESS ,16 ,4 , - mp,sizeof (struct metapage ),0 ); +DUMP_PREFIX_ADDRESS ,4 , + mp,sizeof (struct metapage ), + false);print_hex_dump (KERN_ERR ,"page: " , -DUMP_PREFIX_ADDRESS ,16 , +DUMP_PREFIX_ADDRESS ,sizeof (long ), mp->page, -sizeof (struct page ),0 ); +sizeof (struct page ), + false); }else print_hex_dump (KERN_ERR ,"tblock:" , -DUMP_PREFIX_ADDRESS ,16 ,4 , - lp, sizeof(struct tblock), 0); +DUMP_PREFIX_ADDRESS ,4 , + lp,sizeof (struct tblock ), + false); } }#else
fs/jfs/jfs_metapage.c +2 -2
@@ -466,8 +466,8 @@ add_failed:printk (KERN_ERR "JFS: bio_add_page failed unexpectedly\n" ); goto skip; dump_bio: -print_hex_dump (KERN_ERR ,"JFS: dump of bio: " ,DUMP_PREFIX_ADDRESS ,16 , -4 , bio,sizeof (*bio),0 ); +print_hex_dump (KERN_ERR ,"JFS: dump of bio: " ,DUMP_PREFIX_ADDRESS ,4 , + bio,sizeof (*bio), false); skip:bio_put (bio);unlock_page (page);
fs/jfs/jfs_txnmgr.c +9 -8
@@ -830,15 +830,16 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp,/* assert(jfs_ip->fileset == AGGREGATE_I); */ if (jfs_ip->fileset !=AGGREGATE_I ) {printk (KERN_ERR "txLock: trying to lock locked page!" ); -print_hex_dump (KERN_ERR ,"ip: " ,DUMP_PREFIX_ADDRESS ,16 ,4 , - ip,sizeof (*ip),0 ); -print_hex_dump (KERN_ERR ,"mp: " ,DUMP_PREFIX_ADDRESS ,16 ,4 , - mp,sizeof (*mp),0 ); +print_hex_dump (KERN_ERR ,"ip: " ,DUMP_PREFIX_ADDRESS ,4 , + ip,sizeof (*ip), false); +print_hex_dump (KERN_ERR ,"mp: " ,DUMP_PREFIX_ADDRESS ,4 , + mp,sizeof (*mp), false);print_hex_dump (KERN_ERR ,"Locker's tblock: " , -DUMP_PREFIX_ADDRESS ,16 ,4 ,tid_to_tblock (tid), -sizeof (struct tblock ),0 ); -print_hex_dump (KERN_ERR ,"Tlock: " ,DUMP_PREFIX_ADDRESS ,16 ,4 , - tlck,sizeof (*tlck),0 ); +DUMP_PREFIX_ADDRESS ,4 , +tid_to_tblock (tid),sizeof (struct tblock ), + false); +print_hex_dump (KERN_ERR ,"Tlock: " ,DUMP_PREFIX_ADDRESS ,4 , + tlck,sizeof (*tlck), false);BUG (); }INCREMENT (stattx.waitlock);/* statistics */
fs/jfs/xattr.c +2 -2
@@ -590,8 +590,8 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) size_check:if (EALIST_SIZE (ea_buf->xattr) != ea_size) {printk (KERN_ERR "ea_get: invalid extended attribute\n" ); -print_hex_dump (KERN_ERR ,"" ,DUMP_PREFIX_ADDRESS ,16 ,1 , - ea_buf->xattr, ea_size,1 ); +print_hex_dump (KERN_ERR ,"" ,DUMP_PREFIX_ADDRESS ,1 , + ea_buf->xattr, ea_size, true);ea_release (inode, ea_buf); rc = -EIO ; goto clean_up;
fs/xfs/support/debug.c +1 -1
@@ -84,5 +84,5 @@ assfail(char *expr, char *file, int line)void xfs_hex_dump (void *p,int length) { -print_hex_dump (KERN_ALERT ,"" ,DUMP_PREFIX_OFFSET ,16 ,1 , p, length,1 ); +print_hex_dump (KERN_ALERT ,"" ,DUMP_PREFIX_OFFSET ,1 , p, length, true); }
crypto/tcrypt.c +1 -2
@@ -90,8 +90,7 @@ static char *check[] = {static void hexdump (unsigned char *buf,unsigned int len) {print_hex_dump (KERN_CONT ,"" ,DUMP_PREFIX_OFFSET , -16 ,1 , - buf, len, false); +1 , buf, len, false); }static void tcrypt_complete (struct crypto_async_request *req,int err)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Argh. You need to cut that into small pieces so that it is easier to review. CCing Randy who was involved with prior art in this area.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 2 lines · Christoph Lameter
Argh. You need to cut that into small pieces so that it is easier to review. CCing Randy who was involved with prior art in this area.
lib/hexdump is the major change.
mm/slub is a removal/conversion.
the rest are trivial.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>