[PATCH 0/2] hexdump: Allow skipping identical lines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

While working on NAND issues, I used print_hex_dump() a lot to compare
data. But I am mostly working on embedded systems where the kernel
messages go through a serial console. Sometimes network support is an
option, sometimes not. Anyway, I often print buffers both in kernel
space and user space to compare them, and they may be full of 0's or
1's, which means lines are repeated a lot in the output and this is slow
*and* hard to compare.

I initially hacked into lib/hexdump.c for my own purpose and just
discarded all the other users, but it felt like this might be a useful
feature for others and decided to make it a public patch.

* First patch changes the "ascii" parameter into a "flags" variable now
  accepting the value: DUMP_FLAG_ASCII.
* Second patch adds a new flag to skip the identical lines, because this
  must be an opt-in parameter, I guess.

The patch series has successfully gone through a round of
kernel-test-robot.

The Cc-list, as provided by get_maintainers.pl, was returning 330
e-mail addresses which felt to much, so I ran the script only on the
second patch (the printk/includes/debug/Doc changes). It gave this
Cc-list which sounds more reasonable. Hopefully this is a smart move,
otherwise let me know what you think would be better.

Cheers,
Miquèl

Miquel Raynal (2):
  hexdump: Convert the ascii boolean into a flag variable
  hexdump: Allow skipping identical lines

 Documentation/core-api/printk-formats.rst     |   4 +-
 arch/um/include/shared/user.h                 |   6 +-
 arch/x86/kernel/mpparse.c                     |   2 +-
 arch/x86/kvm/svm/sev.c                        |   3 +-
 arch/xtensa/kernel/traps.c                    |   4 +-
 crypto/ansi_cprng.c                           |   2 +-
 crypto/testmgr.c                              |   2 +-
 drivers/acpi/nfit/core.c                      |   6 +-
 drivers/ata/libata-core.c                     |   3 +-
 drivers/ata/pata_parport/bpck.c               |   2 +-
 drivers/block/floppy.c                        |   4 +-
 drivers/cdx/controller/mcdi.c                 |  10 +-
 .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |   6 +-
 drivers/crypto/axis/artpec6_crypto.c          |   5 +-
 drivers/crypto/bcm/util.c                     |   2 +-
 drivers/crypto/bcm/util.h                     |   4 +-
 drivers/crypto/caam/blob_gen.c                |   6 +-
 drivers/crypto/caam/caamalg.c                 |  33 +++---
 drivers/crypto/caam/caamalg_desc.c            |  32 +++---
 drivers/crypto/caam/caamalg_qi.c              |  21 ++--
 drivers/crypto/caam/caamalg_qi2.c             |  63 ++++++-----
 drivers/crypto/caam/caamhash.c                |  67 +++++------
 drivers/crypto/caam/caampkc.c                 |   2 +-
 drivers/crypto/caam/caamprng.c                |   4 +-
 drivers/crypto/caam/caamrng.c                 |   4 +-
 drivers/crypto/caam/error.c                   |   3 +-
 drivers/crypto/caam/key_gen.c                 |   7 +-
 drivers/crypto/caam/sg_sw_sec4.h              |   3 +-
 drivers/crypto/ccp/platform-access.c          |   4 +-
 drivers/crypto/ccp/psp-dev.c                  |   4 +-
 drivers/crypto/ccp/sev-dev.c                  |   4 +-
 drivers/crypto/ccree/cc_driver.c              |   2 +-
 .../intel/qat/qat_common/adf_mstate_mgr.c     |   4 +-
 .../marvell/octeontx/otx_cptvf_reqmgr.c       |   8 +-
 .../marvell/octeontx2/otx2_cptvf_reqmgr.c     |   8 +-
 drivers/crypto/sa2ul.c                        |   2 +-
 drivers/firmware/efi/apple-properties.c       |  11 +-
 drivers/firmware/efi/cper-arm.c               |   2 +-
 drivers/firmware/efi/cper.c                   |   5 +-
 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c    |   4 +-
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   2 +-
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c    |   3 +-
 drivers/gpu/drm/display/drm_dp_mst_topology.c |   4 +-
 drivers/gpu/drm/drm_edid.c                    |   2 +-
 .../drm/i915/display/intel_crtc_state_dump.c  |   2 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   4 +-
 .../gpu/drm/nouveau/nvkm/subdev/gsp/r535.c    |   6 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4_core.c      |   2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c      |   2 +-
 drivers/hv/channel_mgmt.c                     |   4 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |   2 +-
 drivers/infiniband/hw/irdma/cm.c              |   6 +-
 drivers/infiniband/hw/irdma/ctrl.c            | 104 +++++++++---------
 drivers/infiniband/hw/irdma/puda.c            |  20 ++--
 drivers/infiniband/hw/irdma/uda.c             |   6 +-
 drivers/infiniband/hw/mlx5/cq.c               |   2 +-
 drivers/infiniband/ulp/srp/ib_srp.c           |   2 +-
 drivers/input/touchscreen/melfas_mip4.c       |   6 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c  |  12 +-
 drivers/macintosh/via-cuda.c                  |   2 +-
 drivers/macintosh/windfarm_smu_sat.c          |   4 +-
 drivers/mailbox/imx-mailbox.c                 |   4 +-
 drivers/media/common/tveeprom.c               |   2 +-
 drivers/media/dvb-core/dvb_net.c              |   3 +-
 drivers/media/firewire/firedtv-avc.c          |   4 +-
 drivers/media/pci/saa7164/saa7164-api.c       |   8 +-
 drivers/media/pci/saa7164/saa7164-core.c      |   4 +-
 .../media/platform/nxp/imx-jpeg/mxc-jpeg.c    |   2 +-
 drivers/media/platform/qcom/venus/hfi_venus.c |   2 +-
 drivers/media/platform/ti/cal/cal.c           |   4 +-
 drivers/media/usb/em28xx/em28xx-i2c.c         |   2 +-
 drivers/mfd/rave-sp.c                         |   4 +-
 drivers/misc/genwqe/genwqe_driver.h           |   2 +-
 drivers/mtd/tests/mtd_nandecctest.c           |   8 +-
 drivers/mtd/ubi/debug.c                       |   7 +-
 drivers/mtd/ubi/debug.h                       |   2 +-
 drivers/mtd/ubi/io.c                          |   7 +-
 drivers/net/arcnet/arcnet.c                   |   4 +-
 drivers/net/can/usb/etas_es58x/es58x_core.c   |   4 +-
 drivers/net/can/usb/peak_usb/pcan_usb_core.c  |   2 +-
 drivers/net/can/usb/ucan.c                    |   2 +-
 drivers/net/ethernet/aeroflex/greth.c         |   7 +-
 drivers/net/ethernet/altera/altera_tse_main.c |   3 +-
 drivers/net/ethernet/amd/a2065.c              |   2 +-
 drivers/net/ethernet/amd/ariadne.c            |   2 +-
 drivers/net/ethernet/amd/pds_core/adminq.c    |   4 +-
 drivers/net/ethernet/cadence/macb_main.c      |   6 +-
 .../net/ethernet/cavium/thunder/nicvf_main.c  |   2 +-
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    |   2 +-
 drivers/net/ethernet/intel/e1000e/netdev.c    |   6 +-
 drivers/net/ethernet/intel/i40e/i40e_common.c |   2 +-
 .../net/ethernet/intel/i40e/i40e_debugfs.c    |  12 +-
 drivers/net/ethernet/intel/iavf/iavf_common.c |   2 +-
 drivers/net/ethernet/intel/ice/ice_osdep.h    |   4 +-
 drivers/net/ethernet/intel/igb/igb_main.c     |   5 +-
 drivers/net/ethernet/intel/igc/igc_dump.c     |   4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   5 +-
 drivers/net/ethernet/mellanox/mlx4/en_tx.c    |   5 +-
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   |   3 +-
 .../net/ethernet/mellanox/mlx5/core/lib/aso.c |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/wq.c  |   3 +-
 .../net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c  |   3 +-
 drivers/net/ethernet/meta/fbnic/fbnic_fw.c    |   2 +-
 drivers/net/ethernet/microchip/enc28j60.c     |   2 +-
 .../net/ethernet/pensando/ionic/ionic_main.c  |   7 +-
 .../ethernet/pensando/ionic/ionic_rx_filter.c |   3 +-
 drivers/net/ethernet/qlogic/qed/qed_ll2.c     |   2 +-
 .../net/ethernet/qlogic/qlcnic/qlcnic_io.c    |   2 +-
 .../net/ethernet/qlogic/qlcnic/qlcnic_main.c  |   2 +-
 drivers/net/ethernet/realtek/8139too.c        |   2 +-
 drivers/net/ethernet/smsc/smc9194.c           |   2 +-
 drivers/net/ethernet/vertexcom/mse102x.c      |   2 +-
 drivers/net/fddi/skfp/skfddi.c                |   3 +-
 drivers/net/phy/sfp.c                         |   6 +-
 drivers/net/tun.c                             |   3 +-
 drivers/net/wireless/ath/wcn36xx/wcn36xx.h    |   2 +-
 drivers/net/wireless/ath/wil6210/cfg80211.c   |   3 +-
 drivers/net/wireless/ath/wil6210/ethtool.c    |   2 +-
 drivers/net/wireless/ath/wil6210/fw_inc.c     |   3 +-
 drivers/net/wireless/ath/wil6210/txrx_edma.c  |   4 +-
 drivers/net/wireless/ath/wil6210/wil6210.h    |   9 +-
 drivers/net/wireless/ath/wil6210/wmi.c        |   2 +-
 drivers/net/wireless/broadcom/b43/main.c      |   2 +-
 drivers/net/wireless/intel/iwlegacy/common.h  |   6 +-
 .../net/wireless/intel/iwlwifi/iwl-debug.h    |   6 +-
 drivers/net/wireless/marvell/mwifiex/main.h   |   2 +-
 drivers/net/wireless/realtek/rtl8xxxu/core.c  |   4 +-
 drivers/net/wireless/realtek/rtw88/rtw8723x.c |   2 +-
 drivers/net/wireless/silabs/wfx/bh.c          |   2 +-
 drivers/net/wireless/silabs/wfx/hif_rx.c      |   4 +-
 drivers/net/wireless/ti/wl1251/wl1251.h       |   2 +-
 drivers/net/wireless/ti/wlcore/debug.h        |   2 +-
 drivers/net/wireless/ti/wlcore/sdio.c         |   4 +-
 drivers/nfc/mei_phy.c                         |   4 +-
 drivers/nfc/pn533/i2c.c                       |   2 +-
 drivers/nfc/pn533/pn533.c                     |   2 +-
 drivers/nfc/pn533/uart.c                      |   2 +-
 drivers/nfc/pn533/usb.c                       |   6 +-
 drivers/nfc/pn544/i2c.c                       |   2 +-
 drivers/nfc/pn544/pn544.c                     |   4 +-
 drivers/nfc/port100.c                         |   4 +-
 drivers/nfc/st21nfca/core.c                   |   2 +-
 drivers/nfc/st21nfca/i2c.c                    |   2 +-
 drivers/nfc/trf7970a.c                        |   4 +-
 drivers/pci/probe.c                           |   2 +-
 .../surface/aggregator/ssh_packet_layer.c     |   4 +-
 drivers/platform/x86/amd/pmf/tee-if.c         |   2 +-
 drivers/ras/amd/fmpm.c                        |   3 +-
 drivers/rpmsg/rpmsg_ns.c                      |   2 +-
 drivers/rpmsg/virtio_rpmsg_bus.c              |   4 +-
 drivers/s390/crypto/ap_queue.c                |   4 +-
 drivers/s390/crypto/zcrypt_api.c              |   8 +-
 drivers/s390/net/qeth_core_main.c             |   8 +-
 drivers/scsi/esas2r/esas2r_log.c              |   2 +-
 drivers/scsi/qedf/qedf_fip.c                  |   4 +-
 drivers/scsi/qedf/qedf_io.c                   |   2 +-
 drivers/scsi/qedf/qedf_main.c                 |   4 +-
 drivers/scsi/qla2xxx/qla_dbg.c                |   2 +-
 drivers/soc/ti/k3-ringacc.c                   |   2 +-
 drivers/spi/spi-pl022.c                       |   4 +-
 drivers/staging/nvec/nvec.c                   |   4 +-
 drivers/staging/nvec/nvec_ps2.c               |   2 +-
 .../vc04_services/vchiq-mmal/mmal-vchiq.c     |   4 +-
 drivers/tty/n_gsm.c                           |   4 +-
 drivers/ufs/core/ufshcd.c                     |   2 +-
 drivers/usb/class/usbtmc.c                    |  14 ++-
 drivers/usb/core/devio.c                      |   6 +-
 drivers/usb/gadget/function/f_ncm.c           |   2 +-
 drivers/usb/gadget/udc/gr_udc.c               |   2 +-
 drivers/usb/usbip/usbip_common.c              |   2 +-
 .../video/fbdev/omap2/omapfb/dss/hdmi4_core.c |   2 +-
 .../video/fbdev/omap2/omapfb/dss/hdmi5_core.c |   2 +-
 drivers/watchdog/wdrtas.c                     |   2 +-
 fs/ceph/mdsmap.c                              |   2 +-
 fs/ecryptfs/debug.c                           |   2 +-
 fs/ext4/super.c                               |   2 +-
 fs/jfs/xattr.c                                |   2 +-
 fs/seq_file.c                                 |   2 +-
 fs/smb/client/cifs_debug.c                    |   2 +-
 fs/smb/client/misc.c                          |   2 +-
 fs/ubifs/debug.c                              |   2 +-
 fs/ubifs/scan.c                               |   3 +-
 fs/xfs/xfs_message.c                          |   3 +-
 include/linux/dma/ti-cppi5.h                  |   2 +-
 include/linux/dynamic_debug.h                 |   8 +-
 include/linux/filter.h                        |   2 +-
 include/linux/mlx5/cq.h                       |   2 +-
 include/linux/printk.h                        |  23 ++--
 include/net/6lowpan.h                         |   4 +-
 lib/hexdump.c                                 |  29 ++++-
 lib/test_bitmap.c                             |   4 +-
 mm/debug.c                                    |   4 +-
 mm/dmapool.c                                  |   2 +-
 mm/kmemleak.c                                 |   2 +-
 mm/page_poison.c                              |   2 +-
 mm/slub.c                                     |   3 +-
 net/atm/br2684.c                              |   3 +-
 net/atm/lec.c                                 |   6 +-
 net/ceph/crypto.c                             |   6 +-
 net/ceph/messenger.c                          |   9 +-
 net/ceph/osdmap.c                             |   4 +-
 net/core/skbuff.c                             |   8 +-
 net/ipv4/route.c                              |   2 +-
 net/nfc/digital_core.c                        |   4 +-
 net/nfc/llcp_core.c                           |   5 +-
 samples/rpmsg/rpmsg_client_sample.c           |   2 +-
 security/integrity/ima/ima_kexec.c            |   2 +-
 sound/soc/codecs/hdac_hdmi.c                  |   2 +-
 sound/soc/intel/atom/sst/sst_ipc.c            |   2 +-
 sound/soc/intel/catpt/loader.c                |  14 +--
 sound/soc/intel/skylake/skl-messages.c        |   2 +-
 sound/soc/intel/skylake/skl-sst-ipc.c         |   2 +-
 sound/soc/sof/ipc3.c                          |   2 +-
 sound/soc/sof/ipc4.c                          |   2 +-
 sound/usb/bcd2000/bcd2000.c                   |   2 +-
 sound/usb/quirks.c                            |   4 +-
 sound/usb/validate.c                          |   6 +-
 .../crypto/chacha20-s390/test-cipher.c        |  23 ++--
 tools/testing/nvdimm/test/nfit.c              |   2 +-
 219 files changed, 655 insertions(+), 532 deletions(-)

-- 
2.43.0





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux