The -u option to ls is documented as sorting by and printing the access time of a file instead of the modification time. This has been the (correct) behavior for decades. In modern distributions, however, file systems are routinely mounted with either relatime or noatime replacing atime, which causes the -u option to fail silently and use either the modification time (if the file system is mounted with noatime), or an arbitrary access time (if mounted with relatime). This behavior should be prominently documented in the man page for ls under the -u option.