attr->sample_id_all = perf_missing_features.sample_id_all ? 0 : 1;
        attr->inherit       = !opts->no_inherit;
        attr->write_backward = opts->overwrite ? 1 : 0;
+       attr->read_format   = PERF_FORMAT_LOST;
 
        evsel__set_sample_bit(evsel, IP);
        evsel__set_sample_bit(evsel, TID);
 
 static void evsel__disable_missing_features(struct evsel *evsel)
 {
+       if (perf_missing_features.read_lost)
+               evsel->core.attr.read_format &= ~PERF_FORMAT_LOST;
        if (perf_missing_features.weight_struct) {
                evsel__set_sample_bit(evsel, WEIGHT);
                evsel__reset_sample_bit(evsel, WEIGHT_STRUCT);
         * Must probe features in the order they were added to the
         * perf_event_attr interface.
         */
-       if (!perf_missing_features.weight_struct &&
+       if (!perf_missing_features.read_lost &&
+           (evsel->core.attr.read_format & PERF_FORMAT_LOST)) {
+               perf_missing_features.read_lost = true;
+               pr_debug2("switching off PERF_FORMAT_LOST support\n");
+               return true;
+       } else if (!perf_missing_features.weight_struct &&
            (evsel->core.attr.sample_type & PERF_SAMPLE_WEIGHT_STRUCT)) {
                perf_missing_features.weight_struct = true;
                pr_debug2("switching off weight struct support\n");