- period: Raw number of event count of sample
        - time: Separate the samples by time stamp with the resolution specified by
        --time-quantum (default 100ms). Specify with overhead and before it.
+       - code_page_size: the code page size of sampled code address (ip)
 
        By default, comm, dso and symbol keys are used.
        (i.e. --sort comm,dso,symbol)
 
                hists__new_col_len(hists, HISTC_TIME, 16);
        else
                hists__new_col_len(hists, HISTC_TIME, 12);
+       hists__new_col_len(hists, HISTC_CODE_PAGE_SIZE, 6);
 
        if (h->srcline) {
                len = MAX(strlen(h->srcline), strlen(sort_srcline.se_header));
                .cpumode = al->cpumode,
                .ip      = al->addr,
                .level   = al->level,
+               .code_page_size = sample->code_page_size,
                .stat = {
                        .nr_events = 1,
                        .period = sample->period,
 
        .se_width_idx   = HISTC_MEM_DATA_PAGE_SIZE,
 };
 
+static int64_t
+sort__code_page_size_cmp(struct hist_entry *left, struct hist_entry *right)
+{
+       uint64_t l = left->code_page_size;
+       uint64_t r = right->code_page_size;
+
+       return (int64_t)(r - l);
+}
+
+static int hist_entry__code_page_size_snprintf(struct hist_entry *he, char *bf,
+                                         size_t size, unsigned int width)
+{
+       char str[PAGE_SIZE_NAME_LEN];
+
+       return repsep_snprintf(bf, size, "%-*s", width,
+                              get_page_size_name(he->code_page_size, str));
+}
+
+struct sort_entry sort_code_page_size = {
+       .se_header      = "Code Page Size",
+       .se_cmp         = sort__code_page_size_cmp,
+       .se_snprintf    = hist_entry__code_page_size_snprintf,
+       .se_width_idx   = HISTC_CODE_PAGE_SIZE,
+};
+
 static int64_t
 sort__abort_cmp(struct hist_entry *left, struct hist_entry *right)
 {
        DIM(SORT_CGROUP_ID, "cgroup_id", sort_cgroup_id),
        DIM(SORT_SYM_IPC_NULL, "ipc_null", sort_sym_ipc_null),
        DIM(SORT_TIME, "time", sort_time),
+       DIM(SORT_CODE_PAGE_SIZE, "code_page_size", sort_code_page_size),
 };
 
 #undef DIM