# Supporting RISC-V Performance Counters through Performance analysis tools
for Linux (Perf)

Joao Mario Domingos  0000-0002-3038-1073 INESC-ID, Instituto Superior Técnico
- Universidade de Lisboa, Portugal<EMAIL_ADDRESS>,  Pedro
Tomas  0000-0001-8083-4432 INESC-ID, Instituto Superior Técnico - Universidade
de Lisboa, Portugal<EMAIL_ADDRESS>and  Leonel Sousa
0000-0002-8066-221X INESC-ID, Instituto Superior Técnico - Universidade de
Lisboa, Portugal<EMAIL_ADDRESS>
###### Abstract.

Increased attention to RISC-V in Cloud, Data Center, Automotive and Networking
applications, has been fueling the move of RISC-V to the high-performance
computing scenario. However, lack of powerful performance monitoring tools
will result in poorly optimized applications and, consequently, a limited
computing performance. While the RISC-V ISA already defines a hardware
performance monitor (HPM), current software gives limited support for
monitoring performance. In this paper we introduce extensions and
modifications to the Performance analysis tools for Linux (perf/perf_events),
Linux kernel, and OpenSBI, aiming to achieve full support for the RISC-V
performance monitoring specification. Preliminary testing and evaluation was
carried out in Linux 5.7 running on a FPGA-booted CVA6 CPU, formerly named
Ariane, showing a monitoring overhead of 0.283%.

Performance Counters, Performance Monitoring, System Software

††copyright: none††journalyear: ††conference: CARRV 2021: Fifth Workshop on
Computer Architecture Research with RISC-V; June 17th, 2021;
Worldwide††booktitle: CARRV 2021: Fifth Workshop on Computer Architecture
Research with RISC-V, June 17th, 2021, Worldwide††isbn: ††ccs: Software and
its engineering Software notations and tools

##  1\. Introduction

In a High-Performance Computing era, naively porting workloads across
computing platforms results in limited computing performance. Naturally, many
factors come into play when justifying the observed performance limitations,
including poor software implementations that result in high computational
complexities, in inefficient data structures and/or limited cache usage,
resulting in a memory bound execution, in execution bottlenecks, leading to
processor stalls, etc.

Hence, to optimize an application, one must first monitor the its execution,
identify the main performance bottlenecks, and then tailor the software to
best fit with the underlying hardware. Naturally, this cannot be performed
using sheer performance metrics (e.g., execution time or clock cycles), as
multiple factors come into play when mapping the software to a modern
computing system (e.g., in- vs out-of-order execution engines, pipeline
stages, execution ports and corresponding latencies, re-order buffers,
load/store queues, cache organization, etc). Consequently, we easily observe
that, in the current computing scenario, there is an increasing need to
capture and analyse detailed performance metrics, in order to allow in-depth
architecture modeling and optimization procedures (e.g. (Marques et al.,
2020)).

While Intel and ARM have proprietary performance monitoring solutions (Kleen
and Strong, 2015; Su et al., 2011; Zeinolabedin et al., 2021; Lee et al.,
2017), which allow software developers to take the ultimate advantage of their
hardware, RISC-V is still dependent on custom/vendor-specific solutions with
no complete support for common performance monitoring software tools, such as
PAPI (Jagode et al., 2019; Dongarra et al., 2001; London et al., 2001) or
Oprofile (OProfile, 2021). Mainly, RISC-V is still not fully supported in the
Linux kernel monitoring tool Perf (Weaver, 2013; De Melo, 2010; Kao and The
kernel development community, 2018). Only fixed counters are currently
supported without event configuration, and no control over the counters is
provided (e.g., pausing, enabling, disabling).

To improve the performance analysis tools for Linux (Perf) with support for
the RISC-V performance monitoring facilities, in this paper we propose the
following software additions and modifications:

  * •

Support the latest RISC-V HPM specification in the Linux Perf Kernel Driver;

  * •

Introduce RISC-V events, configurable through Perf;

  * •

Support multiple platforms with distinct sets of events;

  * •

An OpenSBI extension for privileged interaction with the RISC-V performance
monitoring hardware.

Considering the multiple available RISC-V implementations, and their
dissociated performance monitoring hardware implementations, we propose to
consider coping strategies such as backwards compatibility and implementation
features discovery. Even so, it is not possible to encompass all the details
and specializations of the available implementations and RISC-V specifications
at once, and therefore, we set specification version 1.11 (Waterman and
Asanović, 2019) as our primarily supported target, and try to make the
software flexible to support the majority of implementations.

This document represents early work that could be subjected to changes due to
future knowledge and realizations. In a final form of the work, our aim is to
arrive at a complete support for Perf and eventually for other relevant
performance monitoring and optimization software (e.g., PAPI).

##  2\. RISC-V Performance Monitor

Figure 1. Evolution of the RISC-V Hardware Performance Monitor specification

The RISC-V ISA has seen a continuous ecosystem development, from wider
software compatibility to an increasing number of hardware implementations
(Lupori et al., 2018; Celio et al., 2017; Zhao et al., 2020; Balkind et al.,
2019; Matthews and Shannon, 2017; Zaruba and Benini, 2019; SiFive, 2018; Chen
et al., 2020). Alongside the software and hardware, the RISC-V specification
also shows an uninterrupted evolution, driven by the growing requirements of
the RISC-V ecosystem. Since RISC-V privileged specification version 1.7
(Waterman et al., 2015), a minimal performance monitoring interface was
defined (see Figure 1). From then, the specification has introduced additional
counters and necessary features for access control and event multiplexing.

###  2.1. Early specifications

The first RISC-V privileged specification, version 1.7, introduced the first
attempt at monitoring core’s performance. The implementation, supporting three
fixed counters Cycle, Time and Retired Instructions (CTI), allowed for
baseline performance monitoring of a RISC-V implementation, enough for
calculating the Instructions per Clock (IPC) metric. At v1.7, the Performance
Monitoring Unit (PMU) had all the counters accessible at user and supervisor
privileges, lacking control over non-privileged access.

Version 1.9 (Waterman et al., 2016a) introduced control over the privileged
counter accesses, a counter-enable mask was introduced by means of three
registers accessible only at machine-level, and imposing read control over the
CTI counters at hypervisor, supervisor and user level. In addition, v1.9
introduced a set of counter deltas, a counter would keep the difference
between each of the lower privilege counters and the respective machine-level
counter (e.g., stime-mtime=mstime_delta). These delta counters were removed
after version 1.9. At the time, RISC-V performance monitoring was still
limited to the set of three fixed registers, without support for general
purpose or fixed-event performance monitoring registers.

###  2.2. Configurable events and counters

Support for 29 additional performance monitor registers was introduced with
version 1.10. The Hardware Performance Monitor (HPM) counters, ranging from
hpmcounter3 to hpmcounter31, can be individually configured by setting an
event identifier in the corresponding hpmevent registers, a set of XLEN-bits
registers (e.g., XLEN = 64 in a 64-bits implementation). This amounts for,
virtually, $2^{64}$ selectable events for a single register, a value that
surpasses any realistic implementation, providing an overly large design
flexibility. The RISC-V specification states that the number, width and
supported events of each hpmcounter is platform-/implementation-specific. Even
so, HPM counters are limited to a maximum width of 64-bits.

When setting the hpmevent registers, event 0 is considered as the null event,
and both the event configuration and the counter registers can be hardwired to
0, indicating that no event counting can occur. Each event counter
(hpmcounter#) is writable in an WARL (write any, read logical) scheme,
allowing for each counter to be individually reset/set (Waterman et al.,
2016b).

###  2.3. Additional Features and Future Objectives

In the latest ratified specification, version 1.11 (Waterman and Asanović,
2019), individual counter inhibition (i.e., stop counting) was introduced,
allowing the software to atomically sample events. This is accomplished
through the introduction of the mcountinhibit register, where each of the
32-bits can be set to inhibit the respective HPM counter.

Current specifications suggest that future versions could include support for
common event standardization, as to count ISA-level metrics, such as executed
floating-point or integer instructions. Similarly, some very common and widely
supported micro-architectural metrics could be standardized (e.g, L1
instruction cache misses). Another feature that may appear in future
specifications is the support for counter overflow interrupts, allowing the
software to accurately count events that overflow the counters at a faster
pace than the event sampling occurs. Although, the occurrence of such
continuous overflowing is unlikely, considering implementations with 64-bits
counters.

###  2.4. Summary

At the time, the RISC-V HPM is still significantly less complex than the x86
counterpart (Intel, 2016) and not comparable to the dedicated performance
analysis tools like ARM’s coresight and Intel’s PCM-based monitoring solutions
(Kleen and Strong, 2015; Su et al., 2011; Zeinolabedin et al., 2021; Lee et
al., 2017). Even so, the RISC-V HPM specification is a flexible generic
performance monitoring solution, and being open-source allows any degree of
implementation freedom. Considering the current state of the RISC-V privileged
specification, we propose, in the following section, an approach to monitor
the performance counters in RISC-V through Linux Perf.

##  3\. Proposed Approach and new extensions

This work starts from the current Linux Perf implementation, developed after
the RISC-V privileged specification version 1.10. This Perf implementation
provides basic support for adding, deleting, starting and stopping software-
side events. However, a significant limitation is the inability to write to
counters and event configuration registers, as those writes require machine-
level privilege, not available without a dedicated OpenSBI extension. Due to
the writing limitation, it is not possible to configure events in a specific
counter, significantly limiting Perf to the fixed set of CTI counters (Kao and
The kernel development community, 2018).

Figure 2. Overview of the system software structure

Considering the current limitations, our proposal starts by providing a
mechanism to write and read on machine-level privileged counters and
registers, through the introduction of a new OpenSBI extension. Additionally
the kernel Perf driver and the Perf tool were also modified. The Linux
performance monitoring system is divided into the Perf application and the
kernel driver, both connected through the perf_event_open system call, where
the kernel driver samples the events from the performance monitoring hardware
counters. An overview of the system, alongside with proposed modifications, is
depicted in Figure 2.

###  3.1. OpenSBI HPM Extension

To define an interface between software and hardware and provide the required
privileged access to machine-level registers, the Hardware Performance
Monitoring OpenSBI extension is herein adopted. The added OpenSBI functions
are detailed in Table 1. It allows to support reading and writing to all the
privileged registers defined in version 1.11 of the specification, namely:

  * •

Generic Performance counters: mcycle, mtime, minstret.

  * •

Performance counters: mhpmcounter#.

  * •

Event configuration registers: mhpmevent#.

  * •

Lower privilege counter access: mcounteren.

  * •

Inhibiting counter increment, mcountinhibit.

Table 1. OpenSBI HPM extension function calls definition.

HPM Function | Output | Arguments | Errors
---|---|---|---
hpm_get_mevent | event id | mHPM event id (3 - 31) | *A: if register not implemented
hpm_set_mevent |  | mHPM event id, event id | *A: if register not implemented
hpm_get_[m/u]counter | value | mHPM counter id (0 - 31) | *A: if counter not implemented
hpm_set_[m/u] |  | mHPM counter id, value | *A: if counter not implemented
hpm_get_[m/s]counteren | 32-bits bitmask |  | *A: if not implemented
hpm_set_[m/s]counteren |  | 32-bits bitmask | *A: if not implemented
hpm_get_mcountinhibit | 32-bits bitmask |  | *A: if not implemented
hpm_set_mcountinhibit |  | 32-bits bitmask |  | *A: if not implemented
---
B: on trying to inhibit time counter

*A: SBI_ERR_NOT_SUPPORTED; *B: SBI_ERR_DENIED
---

Moreover, we also add support for reading and writing directly to the
supervisor privilege scounteren register and to the user-level hpmcounter
performance counters. While this is not an absolutely necessary feature,
considering that the Linux Kernel will have sufficient privilege level, it
allows the code to access the counters through an unified interface. This may
be deprecated in the future if the performance impact is non-negligible and if
there is no actual benefit at software level.

Considering the return structure of the OpenSBI handler for the RISC-V
environmental call (ecall):

⬇

struct sbi_ret {

long value;

long error;

}

it was determined that each counter/register read could be executed in a
single environmental call. Taking into account that the return variable value
is of type long, the variable size will be the same of the implementation
scalar registers (i.e., 64-bits in a 64-bit implementation, and 32-bits in a
32-bits implementation). Taking this into account, for a 32-bits system, the
process of reading any HPM counter must be unfold in, at least, two calls,
reading separately the lower and higher 32-bits portions of mhpmcounter#.
Additional calls may eventually be necessary to compensate for the lower
32-bits counter overflow.

The proposed OpenSBI extension will be named HPM, after the RISC-V Hardware
Performance Monitor specification, and should be identified by the value
0x48504d (as the direct conversion of ”HPM” from ASCII to hexadecimal).
Currently, the HPM is experimental, and thus is included in the experimental
extension space with the corresponding ID (0x0848504d).

###  3.2. Linux Kernel Driver Modifications

The software-level changes proposed in this work do not impact the majority of
the Linux kernel source-code. In particular, they are limited to specific
areas, such as the Perf tool code and the Perf related RISC-V kernel portion
(arch/riscv/kernel).

As mentioned in the beginning of this section, the current RISC-V Perf kernel
implementation gives basic support for the RISC-V HPM specification, being
restricted to fixed-event counters, i.e., each event can only be counted from
a continuously running, non-stopable, and non-changeable counter. Moreover,
the only supported events are the cycle and instret counters, having no
process for reading other HPM counters. Hence, it is not compatible with the
current RISC-V HPM specification, that allows for event configuration, counter
inhibition and to control counter access. However, it does provide a basic
structure to work on, which we extend in this work. We also build upon a
Request for Comments kernel patch suggested by Zong Li (Li, 2020), that
introduced support for the HPM counters, through raw events, and device-tree
bindings to support platform-specific hardware events (although such patch was
not merged into the kernel). The introduced support for raw events allows the
kernel driver to configure raw, not general, performance monitoring events,
providing the necessary interfaces for adding, enabling, disabling and
removing events that are related with the HPM counters. In addition, the
support for device-tree bindings, allows for each platform to specify its own
features, such as:

  * •

Width of Base Counters (cycle, time, instret)

  * •

Width of Event Counters (mhpmevent#)

  * •

Number of Event Counters

  * •

Hardware Event Map

  * •

Hardware Cache Event Map

The Hardware Event Map is provided as a list of key-value pairs, where each
pair matches a hardware event generic to Perf (key) to an implementation raw
hardware event (value). An example is to use a key-value pair of
branch_misses: 0x05, where the hardware event 0x05 matches the Perf
branch_misses event. The Hardware Cache Event Map is a similar structure to
Hardware Event Map, however it maps events related to cache structures, such
as L1 Read Misses or L2 Write Accesses.

The kernel Perf implementation is responsible for two processes: event
sampling (in a general way) and interaction with the CPU Performance
Monitoring Unit (through OpenSBI, or directly). While any event is being
sampled, the kernel driver will enable and start an event, proceed to take
samples, and then, stop and disable the respective event. The interaction with
the CPU PMU is handled at each of the mentioned steps. The introduced
modifications include the interaction between the driver and the configuration
registers (mhpmevent#, mcounteren), which are accomplished through OpenSBI, to
provide machine-level access. Furthermore, and to decrease performance
monitoring overheads, we configure mcounteren to allow for supervisor-level
read access, to achieve direct read access from the kernel to the HPM
counters.

Additionally, we introduced changes to how the events are matched to each
counter. While an event could be matched to any counter, where an
implementation would provide from 0 to 29 completely generic HPM counters, we
alternatively propose that the mapping of each event is constrained to a
specific set of counters (providing native support for hardware-friendly
implementations where counters and associated events are constrained to
specific pipeline stages). To achieve this, any raw event identifier contains
two parameters: the event itself and the counter map. The event identifier is
a numeric value to be interpreted by the CPU PMU through the mhpmevent#
registers, not constrained to any particular logic (e.g., event classes and
sub-classes). In contrast, the counter map is proposed as a 32-bit value, each
event has one and only one associated counter map, where each active bit
indicates that the corresponding HPM counter is unable to count the event, as
depicted in Figure 3. This additional parameter allows any event to be matched
to any number and selection of HPM counters.

Figure 3. Counter Map for event to HPM counter matching.

###  3.3. Perf Tool Modifications

The kernel driver is responsible for the actual sampling, the Perf tool acts
as the frontend for event counting, providing a user interface for event
listing (perf list), performance analysis (perf stat, monitor, record,
report), and a set of simple benchmarks (perf bench). The modifications
introduced by this work attempt to give support for raw events in a flexible
and platform-specific way. In particular, the modifications can be separated
in two sets, CPU identification and events mapping.

To be able to map the set of events available in a specific processor, system
or platform, we need to identify which CPU is executing Perf. According to the
RISC-V ISA and OpenSBI specifications, each RISC-V implementation has a
publicly available architecture ID (RISC-V Foundation, 2021), that is readable
through an OpenSBI read of the RISC-V CSR marchid. Considering specific
implementations can be under the same architecture ID, it is possible to get
additional identification of the implemented CPU through another OpenSBI read
to the CSR mimpid, getting the specific implementation identifier. Taking into
account the architecture and implementation identifiers, we consider that an
absolute identification can be made by merging together the lower 24-bits of
the architecture identifier to the lower 8-bits of the implementation
identifier (see Figure 4). The choice of value widths can provide up to
$2^{24}\approx 17~{}million$ different architectures and $2^{8}=256$
implementations of each architecture, it is expect that these values will not
be a future constraint.

Figure 4. CPU unique identification for Perf events.

Each CPU Identifier can be mapped to a set of files containing fully described
events. This is achieved through a mapping file in CSV format, with the
example structure:

⬇

CPU ID, File Vers. , Events Filename, Events Type

0x300 , 0 , CVA6 , core

0x500 , 0 , SPIKE , core

0x200 , 0 , BOOM , core

...

Where the CPU Identifier is defined according to the mentioned rules, the File
Version is currently unused, the Events Filename is set to the name of
directory containing the events description, and the Events Type describes the
type of events the PMU specifies. Each directory specified by the Events
Filename column can contain multiple files in the Java Script Object Notation
(JSON) format. Usually each file describes an event group from one specific
category (e.g., pipeline, memory, instructions, etc.), and each of the JSON
files will contain one to multiple events, with the following structure:

⬇

{

"Public Description": "This is an example event,

for demonstration purposes.",

"Brief Description": "This is an example event."

"Event Code" : "0x11",

"Counter Mask" : "0xF8FF",

"Event Name" : "EXAMPLE_EVENT",

}

For this example, the Event Code 0x11 will be used to configure the mhpmevent#
registers of the available counters selected by the Counter Mask value, where
0xF8FF specifies that the counters 8, 9 and 10 can be used to sample the
event.

When monitoring performance, the selected events will be forwarded to the
kernel driver, that in turn will handle the event to counter mapping and HPM
event configuration. The kernel driver will, in turn, schedule each event or,
in alternative, multiplex a set of events in the respective register, allowing
for multiple events to be sampled in one workload execution, at the cost of
samples accuracy. This process is depicted in Figure 2.

###  3.4. Summary

The modifications to the kernel, Perf and OpenSBI (enfatised in Figure 2),
allowed us to take advantage of the RISC-V HPM specification. However, the
retro-compatibility, and the divergence in the already implemented platforms
poses challenges which must be faced during setup and testing of the
performance monitoring software. In our current implementation, the hardware
event and cache event maps (defined through the device tree bindings) are
working as fixed-events, each mapping attaches the respective event to a
specific counter. Consequently, this works for defined fixed-event counters,
and does not have the flexibility of Perf mapping solution. Therefore, due to
the inferior capabilities and increased difficulty of maintaining both
solutions, the device-tree configurable events may be removed. Moreover, to
better identify which processor features are available, we aim at using
OpenSBI to discover registers capabilities and determine, at run-time, which
features are implemented. Additionally, and to prevent illegal access to
registers, the OpenSBI extension may be modified to prevent accesses that are
not available in the platform, returning a descriptive error indicating that
the feature is not supported. Through the OpenSBI capabilities and the Perf
kernel driver we seek to achieve a good balance between a low performance
overhead and powerful performance monitoring capabilities.

##  4\. Developments and results

Initial testing and development was started in QEMU (Lupori et al., 2018;
Bellard, 2005) through the implementation of version 1.11 of the privileged
HPM specification. While QEMU is a flexible, fast and powerful platform for
software development, mainly when there is lack of widely available hardware,
it is difficult to emulate specific hardware. In particular, while there were
no major difficulties in providing read and write access to the emulated
configuration registers and performance counters, counting actual performance
values proved unfeasible in practice.

Table 2. Available fixed performance events for the CVA6 platform. Event | Counter
---|---
Cycles | mcycle
Instructions Retired | minstret
ICache Misses | mhpmcounter3
DCache Misses | mhpmcounter4
ITLB Misses | mhpmcounter5
DTLB Misses | mhpmcounter6
Loads | mhpmcounter7
Stores | mhpmcounter8
Taken Exceptions | mhpmcounter9
Exceptions Returned | mhpmcounter10
Branches and Jumps | mhpmcounter11
Calls | mhpmcounter12
Returns | mhpmcounter13
Mispredicted Branches | mhpmcounter14
Scoreboard Full | mhpmcounter15
Instruction Fetch Empty | mhpmcounter16

The first attempt of emulating performance counters was to increase each
counter by a randomized value on each counter read. While the strategy was
simple, there was no validity to the obtained results. A temporary alternative
solution was to pause the emulated system, execute the gem5 simulator (Lowe-
Power et al., 2020) with the corresponding application, and use the filesystem
to retrieve gem5 statistics onto QEMU. Evidently, pausing QEMU execution
during a performance counter evaluation was not feasible, and although the
results could have some validity, the counter sampling sequence was not
realistic, as only one of the samples would actually increment. Another
solution could be to execute an actual performance monitoring of the host
system through Perf, although intuitively this would result in the same
problems of the prior solution. Considering these limitations, QEMU was used
to develop the majority of software and to perform initial testing.

Table 3. Computed metrics from performance monitoring of the CoreMark benchmark. Metric | Events
---|---
Branch MissRate | 18.14% | Mispredictions / Branches, Calls, Returns
L1D MissRate | 0.95% | L1D Misses / Loads, Stores
L1I MissRate | 0.58% | L1I Misses / Instructions
ScoreBoard Full (cycles) | 0.38% | ScoreBoard Full Cycles / Cycles
Instruction Fetch Empty (cycles) | 10.12% | IF Empty Cycles / Cycles
Instructions Per Cycle | 0.6195 | Instructions / Cycles
Translation MissRate (Data) | 0.00% | Data TLB Misses / Loads, Stores
Translation MissRate (Instructions) | 0.47% | Instructions TLB Misses / Instructions

To evaluate the solution in a real RISC-V platform, we set with the CVA6
(Zaruba and Benini, 2019) core (previously named Ariane), executing on an FPGA
at 100 MHz, running Linux 5.7.0 with BusyBox 1.31.1. The choice of system was
due to availability and we expect to widen the testing platforms in the
future. Currently, our CVA6 implementation only supports the fixed-event
counters detailed in Table 2.

With our extensions and modifications, it is now possible to list these events
when running perf list on top of the CVA6 implementation. Outputting the
following list of available events (shortened for better representation):

⬇

branch-instructions OR branches [Hardware event]

branch-misses [Hardware event]

cache-misses [Hardware event]

...

alignment-faults [Software event]

...

iTLB-load-misses [Hardware cache event]

branch:

ariane_branch_jump

[Branches/jumps count]

...

ariane_ret

[Returns count]

cache:

ariane_dtlb_miss

[Data TLB miss]

...

ariane_store

[Data loads]

pipeline:

ariane_exception

[Exceptions count]

...

riscv_cycles

[CPU cycles]

The CoreMark (Gal-On and Levy, 2012) benchmark was used to further test
through actual performance monitoring. Version 1.0 of CoreMark was executed in
the CVA6 core and monitored under (perf stat), achieving a performance of
174.59 points at 100 MHz. The Perf stat command reported the following
monitored events during execution:

⬇

Performance counter stats for ’/bin/coremark’:

236011286 ariane_branch_jump

5312578 ariane_call

44038701 ariane_mis_predict

1406812 ariane_ret

1118 ariane_dtlb_miss

6869722 ariane_itlb_miss

2786559 ariane_l1_dcache_miss

8443755 ariane_l1_icache_miss

229104327 ariane_load

64628214 ariane_store

22486 ariane_exception

22486 ariane_exception_ret

239773306 ariane_if_empty

9094173 ariane_sb_full

2368685119 riscv_cycles

1467339227 riscv_instret

23.779291520 seconds time elapsed

23.578690000 seconds user

0.139518000 seconds sys

By adding metrics support in Perf, the values in Table 3 can be automatically
computed after monitoring an application performance. Through multiple
executions of the CoreMark benchmark, with and without Perf monitoring, the
performance penalty of using Perf was determined as 0.283%, for this
benchmark.

##  5\. Conclusions and Next Steps

In this paper a RISC-V compatible performance monitoring solution is proposed,
allowing for developers to do platform-specific code optimization for RISC-V
processors. While there was already initial support for RISC-V performance
monitoring through the Performance analysis tools for Linux (Perf), it was not
comprehensive enough and supported only cycles and instructions counting.
Although that version of Perf did not support the latest ISA specification, we
introduce support through simple modifications to the Perf Kernel driver and
to the Perf application, alongside with a new extension to OpenSBI that
enables interaction with higher privilege configuration registers.

Despite Perf utilization being declining over time, mainly due to the takeover
of Intel and ARM proprietary platforms, we consider this as an opportunity for
Perf. Considering the open-source nature of RISC-V, it is only natural to rely
on open-source tools. At this concern, Perf is a powerful, extendable and
comprehensive performance monitoring tool for RISC-V, provides the natural
interface for higher level libraries (e.g., PAPI).

While this proposal tackles the interface between events and the RISC-V
hardware performance monitoring facility, there are other open-source
initiatives, through Kernel patches, that seek to improve Perf with
alternative or complimentary objectives (e.g., supporting firmware level
events). Accounting that this paper represents an early work, the presented
proposal may be improved by merging with upcoming opportunities or diverging
ideas. Furthermore, we seek to further test the proposed performance
monitoring approach and to apply it in ASIC RISC-V hardware, such as the Hi-
Five Boards and the upcoming BeagleBones BeagleV board.

###### Acknowledgements.

This work was partially supported by national funds through Fundação para a
Ciência e a Tecnologia (FCT) under projects
UIDB/50021/2020, and by funds from the European Union Horizon 2020 Research
and Innovation programme under grant agreement No. 826647, European Processor
Initiative EPI. We acknowledge the Institute of Computer Science (ICS) team at
the Foundation for Research and Technology - Hellas (FORTH), in particular to
the Computer Architecture and VLSI Systems (CARV) personel: Nick Kossifidis,
Georgios Ieronymakis, Nikolaus Dimou, and Vassilis Papaefstathiou, for all the
heavily appreciated support, tools and guidance.

## References

  * (1)
  * Balkind et al. (2019) Jonathan Balkind, Katie Lim, Fei Gao, Jinzheng Tu, David Wentzlaff, Michael Schaffner, Florian Zaruba, and Luca Benini. 2019\.  OpenPiton+Ariane: The First Open-Source, SMP Linux-booting RISC-V System Scaling From One to Many Cores. In _Workshop on Computer Architecture Research with RISC-V (CARRV)_. 1–6.
  * Bellard (2005) Fabrice Bellard. 2005\.  QEMU, a fast and portable dynamic translator.. In _USENIX annual technical conference, FREENIX Track_ , Vol. 41. Califor-nia, USA, 46\.
  * Celio et al. (2017) Christopher Celio, Pi-Feng Chiu, Borivoje Nikolic, David Patterson, and Krste Asanovic. 2017.  _BOOM v2: an open-source out-of-order RISC-V core_.  Technical Report UCB/EECS-2017-157. University of California at Berkeley. 8 pages.
  * Chen et al. (2020) C. Chen, X. Xiang, C. Liu, Y. Shang, R. Guo, D. Liu, Y. Lu, Z. Hao, J. Luo, Z. Chen, C. Li, Y. Pu, J. Meng, X. Yan, Y. Xie, and X. Qi. 2020.  Xuantie-910: A Commercial Multi-Core 12-Stage Pipeline Out-of-Order 64-bit High Performance RISC-V Processor with Vector Extension : Industrial Product. In _2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)_. 52–64.  https://doi.org/10.1109/ISCA45697.2020.00016
  * De Melo (2010) Arnaldo Carvalho De Melo. 2010\.  The new linux’perf’tools.  http://www.linux-kongress.org/2010/slides/lk2010-perf-acme.pdf
  * Dongarra et al. (2001) Jack Dongarra, Kevin London, Shirley Moore, Phil Mucci, and Dan Terpstra. 2001.  Using PAPI for Hardware Performance Monitoring on Linux Systems. In _In Conference on Linux Clusters: The HPC Revolution, Linux Clusters Institute_.
  * Gal-On and Levy (2012) Shay Gal-On and Markus Levy. 2012.  Exploring coremark a benchmark maximizing simplicity and efficacy.  _The Embedded Microprocessor Benchmark Consortium_ (2012).
  * Intel (2016) Intel. 2016.  _Intel® 64 and IA-32 Architectures Developer’s Manual: Vol. 3B_.  Technical Report.  https://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.html
  * Jagode et al. (2019) Heike Jagode, Anthony Danalis, Hartwig Anzt, and Jack Dongarra. 2019.  PAPI software-defined events for in-depth performance analysis.  _The International Journal of High Performance Computing Applications_ 33, 6 (Nov. 2019), 1113–1127.  https://doi.org/10.1177/1094342019846287 Publisher: SAGE Publications Ltd STM.
  * Kao and The kernel development community (2018) Alan Kao and The kernel development community. 2018.  Supporting PMUs on RISC-V platforms — The Linux Kernel documentation.  https://www.kernel.org/doc/html/latest/riscv/pmu.html
  * Kleen and Strong (2015) Andi Kleen and Beeman Strong. 2015.  Intel ® Processor Trace on Linux.  _Tracing Summit_ 2015 (2015).  https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.735.3516&rep=rep1&type=pdf
  * Lee et al. (2017) Yongje Lee, Jinyong Lee, Ingoo Heo, Dongil Hwang, and Yunheung Paek. 2017.  Using CoreSight PTM to Integrate CRA Monitoring IPs in an ARM-Based SoC.  _ACM Transactions on Design Automation of Electronic Systems_ 22, 3 (April 2017), 52:1–52:25.  https://doi.org/10.1145/3035965
  * Li (2020) Zong Li. 2020.  LKML: Zong Li: [RFC PATCH 0/6] Support raw event and DT for perf on RISC-V.  https://lkml.org/lkml/2020/6/28/374
  * London et al. (2001) Kevin London, Shirley Moore, Philip Mucci, Keith Seymour, and Richard Luczak. 2001.  The PAPI Cross-Platform Interface to Hardware Performance Counters. In _Department of Defense Users’ Group Conference Proceedings._ 18–21.
  * Lowe-Power et al. (2020) Jason Lowe-Power, Abdul Mutaal Ahmad, Ayaz Akram, Mohammad Alian, Rico Amslinger, Matteo Andreozzi, Adrià Armejach, Nils Asmussen, Brad Beckmann, Srikant Bharadwaj, and others. 2020\.  The gem5 simulator: Version 20.0+.  _arXiv preprint arXiv:2007.03152_ (2020).
  * Lupori et al. (2018) Leandro Lupori, Vanderson Rosario, and Edson Borin. 2018\.  Towards a high-performance RISC-V emulator. In _2018 symposium on high performance computing systems (WSCAD)_. 213–220.  tex.organization: IEEE.
  * Marques et al. (2020) Diogo Marques, Aleksandar Ilic, Zakhar A Matveev, and Leonel Sousa. 2020.  Application-driven cache-aware roofline model.  _Future Generation Computer Systems_ 107 (2020), 257–273.  Publisher: Elsevier.
  * Matthews and Shannon (2017) Eric Matthews and Lesley Shannon. 2017.  TAIGA: A new RISC-V soft-processor framework enabling high performance CPU architectural features. In _2017 27th International Conference on Field Programmable Logic and Applications (FPL)_. 1–4.  https://doi.org/10.23919/FPL.2017.8056766 ISSN: 1946-1488.
  * OProfile (2021) OProfile. 2021\.  OProfile - A System Profiler for Linux.  https://oprofile.sourceforge.io/about/
  * RISC-V Foundation (2021) RISC-V Foundation. 2021\.  Open-Source RISC-V Architecture IDs.  https://github.com/riscv/riscv-isa-manual/blob/master/marchid.md
  * SiFive (2018) SiFive. 2018.  The SiFive HiFive Unleashed RISC-V Board.  https://www.sifive.com/boards/hifive-unleashed
  * Su et al. (2011) Alan P Su, Jiff Kuo, Kuen-Jong Lee, Ing-Jer Huang, Guo-An Jian, Cheng-An Chien, Jiun-In Guo, and Chien-Hung Chen. 2011\.  Multi-core software/hardware co-debug platform with ARM CoreSight™, on-chip test architecture and AXI/AHB bus monitor. In _Proceedings of 2011 International Symposium on VLSI Design, Automation and Test_. 1–6.  https://doi.org/10.1109/VDAT.2011.5783594
  * Waterman and Asanović (2019) Andrew Waterman and Krste Asanović. 2019.  The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Version 20190608-Priv-MSU-Ratified.  _RISC-V Foundation_ (June 2019).
  * Waterman et al. (2016a) Andrew Waterman, Yunsup Lee, Rimas Avizienis, David Patterson, and Krste Asanović. 2016a.  The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Document Version 1.9.  _EECS Department, UC Berkeley, Tech. Rep. UCB/EECS-2016-129_ 129 (2016).
  * Waterman et al. (2015) Andrew Waterman, Yunsup Lee, Rimas Avizienis, David A Patterson, and Krste Asanovic. 2015.  The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Document Version 1.7.  _EECS Department, UC Berkeley, Tech. Rep. UCB/EECS-2015-49_ 49 (2015).
  * Waterman et al. (2016b) Andrew Waterman, Yunsup Lee, David A Patterson, and Krste Asanovic. 2016b.  The RISC-V Instruction Set Manual, Volume I: User-Level ISA Version 2.1.  _EECS Department, UC Berkeley, Tech. Rep. UCB/EECS-2016-118_ 118 (2016).
  * Weaver (2013) Vincent M Weaver. 2013\.  Linux perf_event features and overhead. In _The 2nd International Workshop on Performance Analysis of Workload Optimized Systems, FastPath_ , Vol. 13. 5.
  * Zaruba and Benini (2019) Florian Zaruba and Luca Benini. 2019.  The Cost of Application-Class Processing: Energy and Performance Analysis of a Linux-Ready 1.7-GHz 64-Bit RISC-V Core in 22-nm FDSOI Technology.  _IEEE Transactions on Very Large Scale Integration (VLSI) Systems_ 27, 11 (Nov. 2019), 2629–2640.  https://doi.org/10.1109/TVLSI.2019.2926114 Conference Name: IEEE Transactions on Very Large Scale Integration (VLSI) Systems.
  * Zeinolabedin et al. (2021) Seyed Mohammad Ali Zeinolabedin, Johannes Partzsch, and Christian Mayr. 2021\.  Real-time Hardware Implementation of ARM CoreSight Trace Decoder.  _IEEE Design Test_ 38, 1 (Feb. 2021), 69–77.  https://doi.org/10.1109/MDAT.2020.3002145 Conference Name: IEEE Design Test.
  * Zhao et al. (2020) Jerry Zhao, Ben Korpan, Abraham Gonzalez, and Krste Asanovic. 2020\.  SonicBOOM: The 3rd Generation Berkeley Out-of-Order Machine.  _Workshop on Computer Architecture Research with RISC-V (CARRV)_ (2020), 7.

  *[CTI]: Cycle, Time and Retired Instructions
  *[IPC]: Instructions per Clock
  *[PMU]: Performance Monitoring Unit
  *[HPM]: Hardware Performance Monitor


#  The rigidity of minimal Legendrian submanifolds in the Euclidean spheres
via eigenvalues of fundamental matrices

Pei-Yi Wu<EMAIL_ADDRESS>Ling Yang<EMAIL_ADDRESS>School
of Mathematical Sciences, Fudan University, Shanghai, 200433, China  Shanghai
Center for Mathematical Sciences, Shanghai, 200438, China

###### Abstract

In this paper, we study the rigidity problem for compact minimal Legendrian
submanifolds in the unit Euclidean spheres via eigenvalues of fundamental
matrices, which measure the squared norms of the second fundamental form on
all normal directions. By using Lu’s inequality [19] on the upper bound of the
squared norm of Lie brackets of symmetric matrices, we establish an optimal
pinching theorem for such submanifolds of all dimensions, giving a new
characterization for the Calabi tori. This pinching condition can also be
described by the eigenvalues of the Ricci curvature tensor. Moreover, when the
third large eigenvalue of the fundamental matrix vanishes everywhere, we get
an optimal rigidity theorem under a weaker pinching condition.

###### Contents

  1. 1 Introduction
  2. 2 Preliminaries
    1. 2.1 Legendrian submanifolds in the unit spheres
    2. 2.2 The Simons type identity
    3. 2.3 On Lu’s inequality
  3. 3 An optimal pinching theorem on $|B|^{2}+\lambda_{2}$
    1. 3.1 A Simons type integral inequality
    2. 3.2 A characterization of the Calabi tori
  4. 4 Compact minimal Legendrian submanifolds with $\lambda_{3}\equiv 0$
    1. 4.1 The rank of Gauss maps
    2. 4.2 A structure theorem for $3$-dimensional minimal Legendrian submanifolds

##  1 Introduction

In 1968, J. Simons [28] proved a well-known rigidity theorem as follows:

######  Theorem 1.1.

Let $M$ be an $n$-dimensional compact minimal submanifold in $S^{n+m}$, denote
by $|B|^{2}$ be the square norm of the second fundamental form $B$ of $M$,
then

$\int_{M}|B|^{2}\left[(2-\frac{1}{m})|B|^{2}-n\right]dM\geq 0.$ (1.1)

As a corollary, the pinching condition
$0\leq|B|^{2}\leq\frac{n}{2-\frac{1}{m}}$ forces $|B|^{2}\equiv 0$ or
$|B|^{2}\equiv\frac{n}{2-\frac{1}{m}}$.

As shown by Chern-do Carmo-Kobayashi [9] and B. Lawson [14],
$|B|^{2}\equiv\frac{n}{2-\frac{1}{m}}$ means $M$ is a Clifford torus or a
Veronese surface in $S^{4}$. By the Gauss equation, the scalar curvature $R$
of $M$ is completely determined by $|B|^{2}$ (i.e. $R=n(n-1)-|B|^{2}$), so
Simons’ theorem can be seen as an intrinsic rigidity result on the scalar
curvature. Based on this phenomenon, S. S. Chern [8] raised a well-known
conjecture as follows, which has been listed by S. T. Yau [40] as one of the
120 open problems in the field of differential geometry.

######  Conjecture 1.2.

Let $M^{n}$ be a compact minimal submanifold in $S^{n+m}$ with constant
squared norm of the second fundamental form, then the value of $|B|^{2}$ must
lies in a discrete subset of ${\tenmsb R}$.

From this viewpoint, Simons’ theorem describes the first gap of $|B|^{2}$. For
the hypersurface cases (i.e. $m=1$), Peng-Terng [26, 27] made the first effort
to the Chern conjecture and confirmed the second gap of $|B|^{2}$. This
beautiful work attracts a lot of successive studies, see [4, 37, 38, 39, 29,
31, 43, 12, 35, 15]. On the other hand, for the higher codimensional cases,
Li-Li [16] and Chen-Xu [6] independently got a rigidity theorem whose
condition is weaker than Simons’ theorem:

######  Theorem 1.3.

Let $M$ be an $n$-dimensional compact minimal submanifold in $S^{n+m}$ with
$m\geq 2$. If $|B|^{2}\leq\frac{2n}{3}$, then $M$ is a totally geodesic
subsphere ($|B|^{2}\equiv 0$), or the Veronese surface (here $n=m=2$ and
$|B|^{2}\equiv\frac{4}{3}$).

For each $p\in M$, let $\\{e_{1},\cdots,e_{n}\\}$ and
$\\{\nu_{1},\cdots,\nu_{m}\\}$ be orthonormal basis of the tangent space and
the normal space at $p$, respectively, then

$(S_{\alpha\beta}):=\left(\sum_{i,j}\langle
B_{e_{i}e_{j}},\nu_{\alpha}\rangle\langle
B_{e_{i}e_{j}},\nu_{\beta}\rangle\right)$ (1.2)

is called the fundamental matrix at $p$. Z. Q. Lu [19] studied the rigidity
problem via eigenvalues of fundamental matrices and established the following
pinching theorem:

######  Theorem 1.4.

Let $M$ be an $n$-dimensional compact minimal submanifold in $S^{n+m}$ and
$\lambda_{2}$ be the second large eigenvalue of the fundamental matrix at each
point. If $|B|^{2}+\lambda_{2}\leq n$, then $M$ is a totally geodesic
subsphere ($|B|^{2}+\lambda_{2}\equiv 0$), a Clifford torus ($|B|^{2}\equiv n$
and $\lambda_{2}\equiv 0$) or the Veronese surface ($|B|^{2}+\lambda_{2}\equiv
2$).

Observing that
$|B|^{2}=\text{tr}(S_{\alpha\beta})=\sum\limits_{\alpha}\lambda_{\alpha}$,
$|B|^{2}\leq\frac{2n}{3}$ implies $|B|^{2}+\lambda_{2}\leq n$ and hence
Theorem 1.4 is an improvement of Theorem 1.3. However, up to now, for the
cases of $n\geq 3$ or $m\geq 3$, it is unknown whether there exists a pinching
condition forcing $M$ to be a non-totally-geodesic minimal submanifold.

Given a submanifold $M^{n}\subset S^{n+m}$, the cone $CM$ over $M$ is defined
as

$CM:=\\{tx\in{\tenmsb R}^{n+m+1}:t\in{\tenmsb R},x\in M\\},$ (1.3)

which turns to be a minimal submanifold of ${\tenmsb R}^{n+m+1}$ whenever $M$
is minimal (see e.g. §1.4 of [34]). When $m=n+1$, $M$ is called a Legendrian
submanifold if and only if $CM$ is a Lagrangian submanifold of ${\tenmsb
R}^{2n+2}={\tenmsb C}^{n+1}$, i.e. the complex structure $J$ of ${\tenmsb
C}^{n+1}$ carries each tangent space of $M$ onto its corresponding normal
space. On the other hand, let

$\pi:(z_{1},\cdots,z_{n+1})\in
S^{2n+1}\mapsto[(z_{1},\cdots,z_{n+1})]\in{\tenmsb CP}^{n}(4)$ (1.4)

be the Hopf fibration, where $|z_{1}|^{2}+\cdots+|z_{n+1}|^{2}=1$ and
${\tenmsb CP}^{n}(4)$ denotes the $n$-dimensional complex projective space
with constant holomorphic sectional curvature $4$, then $M$ is a minimal
Legendrian submanifold if and only if $\pi(M)$ is a minimal Lagrangian
submanifold of ${\tenmsb CP}^{n}(4)$ (see e.g. [3]). Therefore, the rigidity
properties of the above 2 classes of submanifolds have essential
relationships. Through the works of Chen-Ogiue[5], Yamaguchi-Kon-Miyahara[36]
and Li-Li[16], we know:

######  Theorem 1.5.

Let $M^{n}$ be a compact minimal Legendrian submanifold in $S^{2n+1}$. If
$|B|^{2}\leq\frac{2}{3}(n+1)$, then $M$ is either a totally geodesic subsphere
($|B|^{2}\equiv 0$) or a flat minimal Legendrian torus (here $n=2$ and
$|B|^{2}\equiv 2$).

Similarly as in Theorem 1.3 and Theorem 1.4, this pinching condition is
optimal only for the 2-dimensional case.

Among a lot of successive works on this subject (for an imcomplete list, see
e.g. [41, 42, 1, 2, 25, 24, 30, 13, 11, 33, 20]), Luo-Sun-Yin [21] firstly
found a pinching condition which gives a characterization of the Calabi tori:

######  Theorem 1.6.

Let $M^{n}$ be a compact minimal Legendrian submanifold in $S^{2n+1}$, and for
each $p\in M$, $\Theta(p):=\max\limits_{v\in T_{p}M,|v|=1}|B(v,v)|.$ If
$|B|^{2}\leq\frac{n+2}{\sqrt{n}}\Theta$, then $M$ is either a totally geodesic
subsphere ($|B|^{2}\equiv 0$) or a Calabi torus
($|B|^{2}\equiv\frac{n+2}{\sqrt{n}}\Theta$). Especially if $n=3$, the pinching
condition can be changed weakly to $|B|^{2}\leq 2+\Theta^{2}$.

Note that the definition of the Calabi tori will be given in Theorem 3.10.
These examples firstly appeared in [23] when H. Naitoh studied isotropic
Lagrangian submanifolds in ${\tenmsb CP}^{n}$ with parallel second fundamental
form, and were described from various viewpoints by Castro-Li-Urbano [3] and
Li-Wang [17].

In the present paper, we study the rigidity properties of compact minimal
Legendrian submanifolds via the fundamental matrices. By utilizing Lu’s
inequality (see Lemma 2.8), we can establish the following pinching theorem,
giving a new characterization of the Calabi tori:

######  Main Theorem 1.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$ and $\lambda_{2}$ be second large eigenvalue of the fundamental
matrix at each point. If $|B|^{2}+\lambda_{2}\leq n+1$, then $M$ is either a
totally geodesic subsphere (here $|B|^{2}+\lambda_{2}\equiv 0$) or a Calabi
torus (here $|B|^{2}+\lambda_{2}\equiv n+1$). This pinching condition is
equivalent to $n^{2}-n-2\leq R+\mu_{2}\leq n^{2}-1$, where $R$ is the scalar
curvature of $M$ and $\mu_{2}$ denotes the second small eigenvalue of the
Ricci curvature tensor.

This means the above pinching condition is optimal for all dimensions.
Essentially, this conclusion gives an intrinsic obstruction for each compact
Riemannian manifold becoming a minimal Legendrian submanifold in the unit
Euclidean sphere.

Moreover, we establish another rigidity theorem, which shows the pinching
condition can be weakened under additional conditions, e.g. $\lambda_{3}\equiv
0$.

######  Main Theorem 2.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$ with $n\geq 3$, such that $\lambda_{3}\equiv 0$. If $n\geq 4$, then
$M$ has to be totally geodesic. If $n=3$, then $|B|^{2}\leq\frac{16}{3}$ (or
$|B|^{2}\geq\frac{16}{3}$) forces $|B|^{2}\equiv 0$ or
$|B|^{2}\equiv\frac{16}{3}$ (or $|B|^{2}\equiv\frac{16}{3}$). Moreover,
$|B|^{2}\equiv\frac{16}{3}$ if and only if $\pi(M)$ is the equivariant
Lagrangian minimal $3$-sphere in ${\tenmsb CP}^{3}(4)$ (see [18]), where $\pi$
denotes the Hopf fibration.

This paper will be organized as follows.

In Section 2, we introduce the conception of Legendrian submanifolds in unit
Euclidean spheres. From the second fundamental form, we can define a tri-
linear symmetric tensor $\sigma$ and the fundamental matrix $(S_{ij})$ at each
point, whose eigenvalues directly determine the eigenvalues of Ricci curvature
tensor, due to the Gauss equation. Afterwards, the Simons-type identity on the
second derivative of $\sigma$ and Lu’s inequality on the upper bound of the
squared norm of Lie brackets of symmetric matrices shall be introduced, which
play a crucial role in the following text.

To derive rigidity theorems, it is natural to compute the Laplacian of
$\lambda_{1}$, i.e. the largest eigenvalue of the fundamental matrix, but
$\lambda_{1}$ is not always smooth. To overcome this obstacle, we consider the
smooth function $f_{m}:=\text{tr}(S^{m})=\sum\limits_{i}\lambda_{i}^{m}$ as in
[19]. By calculating the Laplacian of $g_{m}:=f_{m}^{\frac{1}{m}}$ and letting
$m\rightarrow\infty$, we deduce a Simons-type integral inequality (see
Proposition 3.9). Based on this inequality, by carefully examining the
conditions when the equality holds, we establish a pinching theorem on
$|B|^{2}+\lambda_{2}$, giving a new characterization of the Calabi tori. These
are what we shall do in Section 3.

$\lambda_{3}\equiv 0$ is equivalent to saying that the rank of the Gauss map
of $M$ is $2$ whenever $|B|^{2}\neq 0$. Thereby, the Gauss map is a submersion
of $M$ onto a Riemannian surface. By studying the integrability conditions
from the viewpoint of complex analysis, we establish a structure theorem for
this type of Legendrian submanifolds (see Theorem 4.13), which immediately
implies Main Theorem 2. This completes the whole paper.

##  2 Preliminaries

###  2.1 Legendrian submanifolds in the unit spheres

Let $F$ be an isometric immersion from an $n$-dimensional Riemannian manifold
$M$ into the complex Euclidean $(n+1)$-space ${\tenmsb
C}^{n+1}:=\\{z=(z^{1},\cdots,z^{n+1}):z^{k}\in{\tenmsb C}\\}$, which is
equipped with the canonical complex structure $J$ and the Euclidean inner
product $\langle\cdot,\cdot\rangle$. If the position vector $F(p)$ of each
$p\in M$ always lies in the unit sphere $S^{2n+1}:=\\{z\in{\tenmsb
C}^{n+1}:\langle z,z\rangle=1\\}$, $M$ becomes a submanifold of $S^{2n+1}$ and

${\tenmsb C}^{n+1}={\tenmsb R}F(p)\oplus T_{p}S^{2n+1}={\tenmsb R}F(p)\oplus
T_{p}M\oplus N_{p}M$ (2.1)

where $T_{p}M$ and $N_{p}M$ are the tangent space and the normal space of $M$
at $p$, respectively. Moreover, $M$ is called Legendrian if and only if

$J(T_{p}M)\subset N_{p}M,JF(p)\subset N_{p}M.$ (2.2)

Denote by $\nabla,\overline{\nabla}$ and $\partial$ the Levi-Civita
connections on $M,S^{2n+1}$ and ${\tenmsb C}^{n+1}$, then for any tangent
vector fields $X,Y$ on $M$,

$\partial_{X}Y=\overline{\nabla}_{X}Y-\langle Y,X\rangle F$ (2.3)

and

$\overline{\nabla}_{X}Y=\nabla_{X}Y+B(X,Y)$ (2.4)

with $B$ the second fundamental form of $M$ in $S^{2n+1}$ taking values in the
normal bundle $NM$. In conjunction with $\partial_{X}J=0$, we have

$\displaystyle\langle B(X,Y),JF\rangle$
$\displaystyle=\langle\partial_{X}Y,JF\rangle=-\langle
Y,\partial_{X}(JF)\rangle$ (2.5) $\displaystyle=-\langle Y,JX\rangle=0.$

Define

$\sigma(X,Y,Z):=\langle B(X,Y),JZ\rangle,\qquad\forall X,Y,Z\in\Gamma(TM).$
(2.6)

then

$\displaystyle\sigma(X,Y,Z)$
$\displaystyle=\langle\partial_{X}Y,JZ\rangle=-\langle
Y,\partial_{X}JZ\rangle=-\langle Y,J(\partial_{X}Z)\rangle$
$\displaystyle=\langle\partial_{X}Z,JY\rangle=\sigma(X,Z,Y).$

Along with the symmetry of $B$, we observe that $\sigma$ is a tri-linear
symmetric tensor.

Let $\\{E_{1},\cdots,E_{n}\\}$ be an arbitrary orthonormal frame field on $M$,
then

$S(X,Y):=\sum_{i,j}\sigma(E_{i},E_{j},X)\sigma(E_{i},E_{j},Y)$ (2.7)

is a bilinear nonnegative definite symmetric tensor. Define

$\left(S_{ij}\right):=\left(S(E_{i},E_{j})\right)$ (2.8)

to be the fundamental matrices of $M$ and let

$\lambda_{1}\geq\lambda_{2}\geq\cdots\geq\lambda_{n}$ (2.9)

be the eigenvalues of $\left(S_{ij}\right)$, then

$\sum_{i}\lambda_{i}=\text{tr
}S=\sum_{i,j,k}\sigma(E_{i},E_{j},E_{k})\sigma(E_{i},E_{j},E_{k})=|\sigma|^{2}=|B|^{2}.$
(2.10)

Taking the trace of $B$ gives the mean curvature vector $H$ of $M$, i.e.

$H:=\sum_{i}B(E_{i},E_{i}).$ (2.11)

Now we assume $M$ is a minimal submanifold of $S^{2n+1}$, i.e. $H\equiv 0$
everywhere on $M$. For each connection $\nabla$, let

$R_{XY}:=-\nabla_{X}\nabla_{Y}+\nabla_{Y}\nabla_{X}+\nabla_{[X,Y]}$ (2.12)

be the associated curvature tensor, then the Gauss equation says

$\displaystyle\langle
R_{XY}Z,W\rangle=\langle\overline{R}_{XY},Z,W\rangle+\langle
B(X,Z),B(Y,W)\rangle-\langle B(X,W),B(Y,Z)\rangle$ (2.13) $\displaystyle=$
$\displaystyle\langle X,Z\rangle\langle Y,W\rangle-\langle X,W\rangle\langle
Y,Z\rangle+\sum_{i}\sigma(X,Z,E_{i})\sigma(Y,W,E_{i})-\sum_{i}\sigma(X,W,E_{i})\sigma(Y,Z,E_{i})$

and taking the trace of $R$ implies

$\displaystyle\text{Ric}(X,Y):=\sum_{j}\langle R_{XE_{j}}Y,E_{j}\rangle$
(2.14) $\displaystyle=$ $\displaystyle(n-1)\langle
X,Y\rangle+\sum_{i,j}\sigma(X,Y,E_{i})\sigma(E_{j},E_{j},E_{i})-\sum_{i,j}\sigma(X,E_{j},E_{i})\sigma(Y,E_{j},E_{i})$
$\displaystyle=$ $\displaystyle(n-1)\langle X,Y\rangle-S(X,Y).$

i.e. $\lambda$ is an eigenvalue of the fundamental matrix if and only if
$n-1-\lambda$ is an eigenvalue of the Ricci curvature tensor of $M$ at the
considered point. Again taking the trace of both sides of (2.14), we see the
scalar curvature of $M$ equals $n(n-1)-|B|^{2}$ pointwisely.

The induced normal connection on the normal bundle $NM$ is defined by

$\nabla_{X}\nu=(\overline{\nabla}_{X}\nu)^{N}\qquad
X\in\Gamma(TM),\nu\in\Gamma(NM),$ (2.15)

whose corresponding curvature tensor is defined by $R^{\bot}$. Then the Ricci
equation says

$\displaystyle\langle R^{\bot}_{XY}JZ,JW\rangle$ $\displaystyle=$
$\displaystyle\langle\overline{R}_{XY}JZ,JW\rangle+\sum_{i}\langle
B(X,E_{i}),JZ\rangle\langle B(Y,E_{i}),JW\rangle-\sum_{i}\langle
B(X,E_{i}),JW\rangle\langle B(Y,E_{i}),JZ\rangle$ $\displaystyle=$
$\displaystyle\sum_{i}\sigma(X,Z,E_{i})\sigma(Y,W,E_{i})-\sum_{i}\sigma(X,W,E_{i})\sigma(Y,Z,E_{i}).$

Let

$(\nabla_{X}B)(Y,Z):=\nabla_{X}(B(Y,Z))-B(\nabla_{X}Y,Z)-B(Y,\nabla_{X}Z),$
(2.16)

then

$\displaystyle\langle(\nabla_{X}B)(Y,Z),JF\rangle$ (2.17) $\displaystyle=$
$\displaystyle\langle\nabla_{X}(B(Y,Z)),JF\rangle=-\nabla_{X}\langle
B(Y,Z),JF\rangle-\langle B(Y,Z),\partial_{X}(JF)\rangle$ $\displaystyle=$
$\displaystyle-\langle B(Y,Z),JX\rangle=-\sigma(X,Y,Z).$

and the Codazzi equation says

$(\nabla_{X}B)(Y,Z)=(\nabla_{Y}B)(X,Z),$ (2.18)

which implies

$(\nabla_{X}\sigma)(Y,Z,W)=(\nabla_{Y}\sigma)(X,Z,W)=(\nabla_{X}\sigma)(Z,Y,W)=(\nabla_{X}\sigma)(Y,W,Z)$
(2.19)

i.e. $\nabla\sigma$ is a four-linear symmetric tensor.

###  2.2 The Simons type identity

The following Simons-type identity play a crucial part in the present paper
(see e.g. [21]):

######  Lemma 2.7.

Assume $M$ is a minimal Legendrian submanifold in $S^{2n+1}$, then

$\displaystyle\nabla^{2}\sigma(X,Y,Z):=\sum_{i}(\nabla_{E_{i}}\nabla_{E_{i}}\sigma)(X,Y,Z)$
(2.20) $\displaystyle=$
$\displaystyle(n+1)\sigma(X,Y,Z)-\sum_{j}[S(X,E_{j})\sigma(E_{j},Y,Z)+S(Y,E_{j})\sigma(E_{j},Z,X)+S(Z,E_{j})\sigma(E_{j},X,Y)]$
$\displaystyle+2\sum_{i,j,k}\sigma(X,E_{j},E_{k})\sigma(Y,E_{k},E_{i})\sigma(Z,E_{i},E_{j}).$

Consequently, let

$\sigma_{l}:=\sigma(\cdot,\cdot,E_{l})$ (2.21)

be the second fundamental form on the direction $JE_{l}$, then in terms of
matrix notations, we have

$\nabla^{2}\sigma_{l}=(n+1)\sigma_{l}-\sum_{j}\langle\sigma_{l},\sigma_{j}\rangle\sigma_{j}-\sum_{j}[\sigma_{j},[\sigma_{j},\sigma_{l}]].$
(2.22)

###### Proof..

By the Codazzi equation and Ricci identity, a straightforward calculation
shows

$\displaystyle\nabla^{2}\sigma(X,Y,Z)$
$\displaystyle=(\nabla_{E_{i}}\nabla_{E_{i}}\sigma)(X,Y,Z)=(\nabla_{E_{i}}\nabla_{X}\sigma)(E_{i},Y,Z)$
(2.23)
$\displaystyle=(\nabla_{X}\nabla_{E_{i}}\sigma)(E_{i},Y,Z)+(R_{X,E_{i}}\sigma)(E_{i},Y,Z)$
$\displaystyle=(\nabla_{X}\nabla_{Y}\sigma)(E_{i},E_{i},Z)-\sigma(R_{X,E_{i}}E_{i},Y,Z)-\sigma(E_{i},R_{X,E_{i}}Y,Z)-\sigma(E_{i},Y,R_{X,E_{i}}Z)$
$\displaystyle=\text{Ric}(X,E_{j})\sigma(E_{j},Y,Z)-\langle
R_{X,E_{i}}Y,E_{j}\rangle\sigma(E_{i},E_{j},Z)-\langle
R_{X,E_{i}}Z,E_{j}\rangle\sigma(E_{i},Y,E_{j})$ $\displaystyle:=I-II-III.$

(Here and in the sequel we use the summation convention.) According to (2.13)
and (2.14), we get

$\displaystyle I=$ $\displaystyle[(n-1)\langle
X,E_{j}\rangle-S(X,E_{j})]\sigma(E_{j},Y,Z)$ (2.24) $\displaystyle=$
$\displaystyle(n-1)\sigma(X,Y,Z)-S(X,E_{j})\sigma(E_{j},Y,Z),$ $\displaystyle
II=$ $\displaystyle[\langle X,Y\rangle\delta_{ij}-\langle
X,E_{j}\rangle\langle
Y,E_{i}\rangle+\sigma(X,Y,E_{k})\sigma(E_{i},E_{j},E_{k})-\sigma(X,E_{j},E_{k})\sigma(E_{i},Y,E_{k})]\sigma(E_{i},E_{j},Z)$
(2.25) $\displaystyle=$
$\displaystyle-\sigma(X,Y,Z)+S(Z,E_{k})\sigma(E_{k},X,Y)-\sigma(X,E_{j},E_{k})\sigma(Y,E_{k},E_{i})\sigma(Z,E_{i},E_{j})$

and similarly

$\displaystyle
III=-\sigma(X,Y,Z)+S(Y,E_{k})\sigma(E_{k},Z,X)-\sigma(X,E_{k},E_{j})\sigma(Y,E_{j},E_{i})\sigma(Z,E_{i},E_{k}).$
(2.26)

Substituting (2.24)-(2.26) into (2.23) gives (2.20). Letting
$X:=E_{t},Y:=E_{s},Z:=E_{l}$ in (2.20), we can derive

$\nabla^{2}\sigma_{l}=(n+1)\sigma_{l}-(S\sigma_{l}+\sigma_{l}S+\sum_{j}\langle\sigma_{l},\sigma_{j}\rangle\sigma_{j})+2\sum_{k}\sigma_{k}\sigma_{l}\sigma_{k},$
(2.27)

where

$\displaystyle\langle\sigma_{l},\sigma_{j}\rangle:=$
$\displaystyle\sum_{t,s}\sigma_{l}(E_{t},E_{s})\sigma_{j}(E_{t},E_{s})$ (2.28)
$\displaystyle=$
$\displaystyle\sum_{t,s}\sigma(E_{t},E_{s},E_{l})\sigma(E_{t},E_{s},E_{j})=S_{lj}.$

Finally, (2.22) immediately follows from (2.27),

$[\sigma_{k},[\sigma_{k},\sigma_{l}]]=\sigma_{k}\sigma_{k}\sigma_{l}-2\sigma_{k}\sigma_{l}\sigma_{k}+\sigma_{l}\sigma_{k}\sigma_{k}$
(2.29)

and

$\displaystyle(\sigma_{k}\sigma_{k})_{ts}=$
$\displaystyle\sigma_{k}(E_{t},E_{i})\sigma_{k}(E_{i},E_{s})$ (2.30)
$\displaystyle=$
$\displaystyle\sigma(E_{t},E_{i},E_{k})\sigma(E_{i},E_{s},E_{k})$
$\displaystyle=$ $\displaystyle S_{ts}.$

∎

###  2.3 On Lu’s inequality

For $2$ real $(n\times n)$-matrices $A=(a_{ij})$ and $B=(b_{ij})$, let

$\langle A,B\rangle:=\sum_{i,j=1}^{n}a_{ij}b_{ij}=\text{tr }(AB^{T})$ (2.31)

with $(\cdot)^{T}$ denoting the transpose of a matrix, which induces the
Hilbert-Schmidt norm:

$\|A\|=\sqrt{\langle A,A\rangle}=\sqrt{\sum_{i,j=1}^{n}a_{ij}^{2}}.$ (2.32)

Z. Q. Lu [19] established the following matrix inequality, which is the main
algebraic tool of the present paper.

######  Lemma 2.8.

Let $A_{1},A_{2},\cdots,A_{n}$ be $(n\times n)$-symmetric matrices, such that

  * 1.

$\langle A_{\alpha},A_{\beta}\rangle=0$ whenever $\alpha\neq\beta$;

  * 2.

$\|A_{1}\|=1$;

  * 3.

$\|A_{2}\|\geq\cdots\geq\|A_{m}\|$.

Then

$\sum_{\alpha=2}^{n}\left\|[A_{1},A_{\alpha}]\right\|^{2}\leq\|A_{2}\|^{2}+\sum_{\alpha=2}^{n}\|A_{\alpha}\|^{2}$
(2.33)

and the equality holds if and only if, after an orthonormal base change and up
to a sign, we have $A_{k+2}=\cdots=A_{n}=0$,

$A_{1}=\lambda\left(\begin{matrix}k&&\\\ &-I_{k}&\\\ &&O\end{matrix}\right)$
(2.34)

and $A_{\alpha}$ ($2\leq\alpha\leq k+1$) is $\mu$ times the matrix whose only
nonzero entries are $1$ at the $(1,\alpha)$ and $(\alpha,1)$ places, i.e.
$A_{\alpha}=E_{1,\alpha}+E_{\alpha,1}$. Here $1\leq k\leq n-1$,
$\lambda=\frac{1}{\sqrt{k(k+1)}}$ and $\mu$ is a constant.

######  Remark 2.1.

The above conclusion is just Lemma 2.2 of [32], which is the revised version
of Lemma 2 of [19]. Here the author found there are more cases when the Lu’s
equality holds and gave another proof by using Lagrange Muliplier method.

##  3 An optimal pinching theorem on $|B|^{2}+\lambda_{2}$

###  3.1 A Simons type integral inequality

For any positive number $m$, we consider the $C^{\infty}$-function

$f_{m}:=\text{tr}(S^{m})$ (3.1)

as in [19]. Let $p\in M$ be an arbitrary point and $\\{E_{1},\cdots,E_{n}\\}$
be a local orthonormal frame field, such that the fundamental matrix at $p$ is
diagonalized, i.e.

$S_{ij}(p)=\lambda_{i}\delta_{ij}$ (3.2)

and

$\lambda_{1}=\cdots=\lambda_{r}>\lambda_{r+1}\geq\cdots\geq\lambda_{n}.$ (3.3)

Combining (2.28) and (2.22) implies

$\displaystyle\frac{1}{2}\nabla^{2}S_{ll}=$
$\displaystyle\frac{1}{2}\nabla^{2}\langle\sigma_{l},\sigma_{l}\rangle=\langle\nabla^{2}\sigma_{l},\sigma_{l}\rangle+\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle$
(3.4) $\displaystyle=$
$\displaystyle(n+1)S_{ll}-(S^{2})_{ll}-\sum_{j}\|[\sigma_{j},\sigma_{l}]\|^{2}+\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle$
$\displaystyle=$
$\displaystyle(n+1)\lambda_{l}-\lambda_{l}^{2}-\sum_{j}\|[\sigma_{l},\sigma_{j}]\|^{2}+\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle.$

By Lemma 2.8, for each $1\leq l\leq r$,

$\displaystyle\sum_{j}\|[\sigma_{l},\sigma_{j}]\|^{2}\leq\|\sigma_{l}\|^{2}\left(\sum_{j\neq
l}\|\sigma_{j}\|^{2}+\|\sigma_{2}\|^{2}\right)$ (3.5) $\displaystyle=$
$\displaystyle\lambda_{l}(\sum_{j\neq l}\lambda_{j}+\lambda_{2}),$

and for each $r+1\leq l\leq n$,

$\displaystyle\sum_{j}\|[\sigma_{l},\sigma_{j}]\|^{2}\leq\|\sigma_{l}\|^{2}\left(\sum_{j\neq
l}\|\sigma_{j}\|^{2}+\|\sigma_{1}\|^{2}\right)$ (3.6) $\displaystyle=$
$\displaystyle\lambda_{l}(\sum_{j\neq l}\lambda_{j}+\lambda_{1}).$

Note that

$f_{m}=\text{tr}(S^{m})=\sum_{i_{1},\cdots,i_{m}}S_{i_{1}i_{2}}S_{i_{2}i_{3}}\cdots
S_{i_{m}i_{1}},$ (3.7)

we have

$\displaystyle\Delta f_{m}=$
$\displaystyle\sum_{i_{1},\cdots,i_{m}}\nabla^{2}S_{i_{1}i_{2}}\cdot
S_{i_{2}i_{3}}\cdots
S_{i_{m}i_{1}}+\cdots+\sum_{i_{1},\cdots,i_{m}}S_{i_{1}i_{2}}S_{i_{2}i_{3}}\cdots\nabla^{2}S_{i_{m}i_{1}}$
(3.8)
$\displaystyle+\sum_{i_{1},\cdots,i_{m}}\sum_{j<k}S_{i_{1}i_{2}}\cdots\widehat{S_{i_{j}i_{j+1}}}\cdots\widehat{S_{i_{k}i_{k+1}}}\cdots
S_{i_{m}i_{1}}\langle\nabla S_{i_{j}i_{j+1}},\nabla S_{i_{k}i_{k+1}}\rangle$
$\displaystyle=$ $\displaystyle
m\sum_{l}\nabla^{2}S_{ll}\cdot\lambda_{l}^{m-1}+m\sum_{l<p}\sum_{s+t=m-2}|\nabla
S_{lp}|^{2}\lambda_{l}^{s}\lambda_{p}^{t}+m(m-1)\sum_{l}|\nabla
S_{ll}|^{2}\lambda_{l}^{m-2}$ $\displaystyle\geq$ $\displaystyle
2m(n+1)f_{m}-2m\sum_{1\leq l\leq
r}\lambda_{l}^{m}(\sum_{j}\lambda_{j}+\lambda_{2})-2m\sum_{r+1\leq l\leq
n}\lambda_{l}^{m}(\sum_{j}\lambda_{j}+\lambda_{1})$
$\displaystyle+2m\sum_{l}\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle\lambda_{l}^{m-1}+m(m-1)\sum_{l}|\nabla
S_{ll}|^{2}\lambda_{l}^{m-2}$

by using (3.4), (3.5) and (3.6). On the other hand, with the aid of the Cauchy
inequality, we get

$\displaystyle|\nabla f_{m}|^{2}=$ $\displaystyle
m^{2}\sum_{i}\left(\sum_{l}(\nabla_{E_{i}}S_{ll})\lambda_{l}^{m-1}\right)^{2}$
(3.9) $\displaystyle=$ $\displaystyle
m^{2}\sum_{i}\left(\sum_{l}(\nabla_{E_{i}}S_{ll})\lambda_{l}^{\frac{m}{2}-1}\cdot\lambda_{l}^{\frac{m}{2}}\right)^{2}$
$\displaystyle\leq$ $\displaystyle m^{2}f_{m}\sum_{l}|\nabla
S_{ll}|^{2}\lambda_{l}^{m-2}.$

Let

$g_{m}:=(f_{m})^{\frac{1}{m}}.$ (3.10)

then (3.8) and (3.9) implies

$\displaystyle\Delta g_{m}=$
$\displaystyle\frac{1}{m}(f_{m})^{\frac{1}{m}-1}\Delta
f_{m}+\frac{1}{m}\left(\frac{1}{m}-1\right)(f_{m})^{\frac{1}{m}-2}|\nabla
f_{m}|^{2}$ (3.11) $\displaystyle\geq$ $\displaystyle
2g_{m}\big{[}n+1-f_{m}^{-1}\sum_{1\leq l\leq
r}\lambda_{l}^{m}(\sum_{j}\lambda_{j}+\lambda_{2})-f_{m}^{-1}\sum_{r+1\leq
l\leq n}\lambda_{l}^{m}(\sum_{j}\lambda_{j}+\lambda_{1})$
$\displaystyle+f_{m}^{-1}\sum_{l}\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle\lambda_{l}^{m-1}\big{]}$

whenever $f_{m}(p)\neq 0$. Noting that

$\lim_{m\rightarrow\infty}f_{m}^{-1}\lambda_{l}^{m}=\lim_{m\rightarrow\infty}\frac{(\frac{\lambda_{l}}{\lambda_{1}})^{m}}{\sum\limits_{j}(\frac{\lambda_{j}}{\lambda_{1}})^{m}}=\left\\{\begin{matrix}\frac{1}{r}&l\leq
r\\\ 0&l\geq r+1\end{matrix}\right.$ (3.12)

we have

$\lim_{m\rightarrow\infty}\Delta g_{m}\geq
2\lambda_{1}(n+1-\sum_{j}\lambda_{j}-\lambda_{2})+\frac{2}{r}\sum_{1\leq l\leq
r}\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle.$ (3.13)

In conjunction with $\int_{M}\Delta g_{m}=0$, we get the following Simons type
integral inequality:

######  Proposition 3.9.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$,
$\lambda_{1}=\cdots=\lambda_{r}>\lambda_{r+1}\geq\cdots\geq\lambda_{n}$ be the
eigenvalues of the fundamental matrix at each considered point, then

$\int_{M}\lambda_{1}(n+1-|B|^{2}-\lambda_{2})+\frac{1}{r}\sum_{1\leq l\leq
r}\langle\nabla\sigma_{l},\nabla\sigma_{l}\rangle*1\leq 0.$ (3.14)

###  3.2 A characterization of the Calabi tori

If $|B|^{2}+\lambda_{2}\equiv n+1$, then Proposition 3.9 and Lemma 2.8 tell us
$\nabla\sigma_{l}=0$ for all $1\leq l\leq r$, and there exist $1\leq k\leq
n-1$ and an orthogonal matrix $T$, such that

$\sigma_{1}=\lambda T^{t}\left(\begin{matrix}k&&\\\ &-I_{k}&\\\
&&O\end{matrix}\right)T,$ (3.15)

$\sigma_{l}=\mu T^{t}(E_{1l}+E_{l1})T$ for each $2\leq l\leq k+1$, and
$\sigma_{k+2}=\cdots=\sigma_{n}=0$.

Let $\sigma_{lpq}:=\sigma(E_{l},E_{p},E_{q})$. Due to the symmetry of
$\sigma$, for each $p\geq k+2$ and $2\leq l\leq k+1$,

$0=\sigma_{plp}=\sigma_{lpp}=(\sigma_{l})_{pp}=\mu\big{(}(T^{t})_{p1}T_{lp}+(T^{t})_{pl}T_{1p}\big{)}=2\mu
T_{1p}T_{lp}$

implies

$T_{1p}T_{lp}=0.$

In conjunction with

$0=\sigma_{1pp}=\lambda\big{[}(T^{t})_{p1}kT_{1p}-\sum_{2\leq l\leq
k+1}(T^{t})_{pl}T_{lp}\big{]}=\lambda(kT_{1p}^{2}-\sum_{2\leq l\leq
k+1}T_{lp}^{2}),$

we have

$T_{lp}=0\qquad(\forall 1\leq l\leq k+1,p\geq k+2).$ (3.16)

It follows that

$\delta_{ij}=(T^{t}T)_{ij}=\sum_{1\leq l\leq k+1}T_{li}T_{lj}\qquad(\forall
1\leq i,j\leq k+1)$ (3.17)

and hence

$\displaystyle(\sigma_{1})_{ij}=$
$\displaystyle\lambda(kT_{1i}T_{1j}-\sum_{2\leq l\leq k+1}T_{li}T_{lj})$
(3.18) $\displaystyle=$
$\displaystyle\lambda(-\delta_{ij}+(k+1)T_{1i}T_{1j}).$

Thereby, due to $(\sigma_{1})_{1i}=(\sigma_{i})_{11}$,
$(\sigma_{1})_{ij}=(\sigma_{i})_{1j}=(\sigma_{j})_{1i}$,
$(\sigma_{1})_{ii}=(\sigma_{i})_{1i}$ and
$(\sigma_{i})_{jj}=(\sigma_{j})_{ij}$ for each distinct $i,j$ lying between
$2$ and $k+1$, we obtain several constraints on $T$ as follows:

$\displaystyle\lambda(k+1)T_{11}T_{1i}$ $\displaystyle=$ $\displaystyle 2\mu
T_{11}T_{i1},$ (3.19) $\displaystyle\lambda(k+1)T_{1i}T_{1j}$ $\displaystyle=$
$\displaystyle\mu(T_{11}T_{ij}+T_{i1}T_{1j})=\mu(T_{11}T_{ji}+T_{j1}T_{1i}),$
(3.20) $\displaystyle\lambda(-1+(k+1)T_{1i}^{2})$ $\displaystyle=$
$\displaystyle\mu(T_{11}T_{ii}+T_{i1}T_{1i}),$ (3.21) $\displaystyle
2T_{1j}T_{ij}$ $\displaystyle=$ $\displaystyle T_{1i}T_{jj}+T_{ji}T_{1j}.$
(3.22)

If $T_{11}=0$, then there exists $2\leq j\leq k+1$, such that $T_{1j}\neq 0$,
then (3.20) implies $\lambda(k+1)T_{1i}=\mu T_{i1}$ for each $i\neq 1,j$.
Substituting it into (3.21) gives
$\lambda(-1+(k+1)T_{1i}^{2})=\lambda(k+1)T_{1i}^{2}$. This is a contradiction.
Therefore $T_{11}\neq 0$ and then (3.19) implies $\lambda(k+1)T_{1i}=2\mu
T_{i1}$. Thus $T_{i1}T_{1j}=T_{j1}T_{1i}$ and (3.20) gives $T_{ij}=T_{ji}$. It
follows that $T_{1i}^{2}=1-\sum\limits_{2\leq j\leq
k+1}T_{ji}^{2}=1-\sum\limits_{2\leq j\leq k+1}T_{ij}^{2}=T_{i1}^{2}$. Now we
claim $T_{1i}=0$ for each $2\leq i\leq k+1$. Otherwise, there exists $l$ such
that $T_{1l}\neq 0$ and hence $\lambda(k+1)=\pm 2\mu$. If $\lambda(k+1)=2\mu$,
(3.19)-(3.22) yield

$\displaystyle T_{1i}$ $\displaystyle=$ $\displaystyle T_{i1},$ (3.23)
$\displaystyle T_{11}T_{ij}$ $\displaystyle=$ $\displaystyle T_{1i}T_{1j},$
(3.24) $\displaystyle-\lambda$ $\displaystyle=$
$\displaystyle\mu(T_{11}T_{ii}-T_{1i}^{2}),$ (3.25) $\displaystyle
T_{1i}T_{jj}$ $\displaystyle=$ $\displaystyle T_{1j}^{2}.$ (3.26)

Multiplying both sides of (3.24) and (3.26) implies
$T_{ij}T_{1i}(T_{11}T_{jj}-T_{1j}^{2})=0$. If there exists $1\leq i<j\leq
k+1$, such that $T_{ij}=0$, then (3.24) forces $T_{1i}\neq 0$ and hence
$T_{11}T_{jj}-T_{1j}^{2}=0$, causing a contradiction to (3.25). Therefore
$T_{ij}=0$ for each $1\leq i<j\leq k+1$. Due to (3.24) and (3.26), for each
$j\neq 1,l$, $T_{1j}=T_{jj}=0$, which also causes a contradiction to (3.25).
On the other hand, if $\lambda(k+1)=-2\mu$, we can proceed similarly as above
to obtain contradictions. Thereby, substituting $T_{1i}=0$ into (3.20) gives
$T_{ij}=0$ for each $2\leq i<j\leq k+1$. This means $T$ is a diagonal matrix,
and further calculation shows

$\sigma_{1}=\lambda\left(\begin{matrix}k&&\\\ &-I_{k}&\\\
&&O\end{matrix}\right),\quad\sigma_{l}=-\lambda(E_{1l}+E_{l1})\ (2\leq l\leq
k+1)$ (3.27)

and $\sigma_{k+2}=\cdots=\sigma_{n}=0$. In other words,

$\sigma_{111}=k\lambda,\quad\sigma_{1ll}=-\lambda\ (2\leq l\leq k+1)$ (3.28)

and the others are $0$.

If $k+1<n$, then for any $1\leq l\leq k+1$ and $p\geq k+2$, differentiating
both sides of $\sigma(E_{1},E_{l},E_{p})=0$ gives

$0=\nabla_{X}\sigma(E_{1},E_{l},E_{p})=\langle\nabla_{X}E_{p},E_{l}\rangle\sigma_{1ll}$

(where we have used $\nabla\sigma_{1}=0$) and hence

$\langle\nabla_{X}E_{p},E_{l}\rangle=\langle\nabla_{X}E_{l},E_{p}\rangle=0.$
(3.29)

Consequently

$\langle R_{XY}E_{l},E_{p}\rangle=0.$ (3.30)

On the other hand, the Gauss equation (2.13) implies

$\langle R_{E_{l}E_{p}}E_{l},E_{p}\rangle=1,$ (3.31)

causing a contradiction.

Therefore $k+1=n$,

$\lambda_{1}=\lambda^{2}(n-1)n,\quad\lambda_{2}=\cdots=\lambda_{n}=2\lambda^{2},$
(3.32)

and $\sum_{j}\lambda_{j}+\lambda_{2}\equiv n+1$ means

$\lambda=\sqrt{\frac{1}{n}}.$ (3.33)

Differentiating both sides of $\sigma_{11l}=0$ gives

$0=2\langle\nabla_{X}E_{1},E_{l}\rangle\sigma_{1ll}+\langle\nabla_{X}E_{l},E_{1}\rangle\sigma_{111}=(n+1)\lambda\langle\nabla_{X}E_{l},E_{1}\rangle$
(3.34)

for each $2\leq l\leq n$. This means
$\mathcal{D}:=\text{span}\\{E_{2},\cdots,E_{n}\\}$ is an integral
distribution. Let $N$ be the integral submanifold of $\mathcal{D}$. Noting
that

$\partial_{E_{i}}(F\wedge E_{2}\wedge\cdots\wedge E_{n}\wedge JE_{1})=0$
(3.35)

and

$\langle B(E_{i},E_{j}),JE_{1}\rangle=-\sqrt{\frac{1}{n}}\delta_{ij},$ (3.36)

we know $N$ is a subsphere of $S^{n}$. On the other hand, let $\gamma$ be the
integral curve of $E_{1}$, then

$\displaystyle\partial_{E_{1}}F=$ $\displaystyle E_{1},$ (3.37)
$\displaystyle\partial_{E_{1}}(JF)=$ $\displaystyle JE_{1},$
$\displaystyle\partial_{E_{1}}E_{1}=$
$\displaystyle-F+(n-1)\sqrt{\frac{1}{n}}JE_{1},$
$\displaystyle\partial_{E_{1}}(JE_{1})=$ $\displaystyle-
JF-(n-1)\sqrt{\frac{1}{n}}E_{1}.$

Noting that $\partial_{E_{1}}(F\wedge JF\wedge E_{1}\wedge JE_{1})=0$,
$\gamma$ is a Legendrian curve in $S^{3}$. More precisely,

$\gamma(t)=(\gamma_{1}(t),\gamma_{2}(t):=\left(\sqrt{\frac{n}{n+1}}\exp(\sqrt{-1}\sqrt{\frac{1}{n}}t),\sqrt{\frac{1}{n+1}}\exp(-\sqrt{-1}\sqrt{n}t)\right)\qquad
t\in S^{1}.$ (3.38)

In summary, we establish a pinching theorem on $|B|^{2}+\lambda_{2}$ as
follows:

######  Theorem 3.10.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$, $\lambda_{2}$ be second large eigenvalue of the fundamental matrix
at each considered point. If $|B|^{2}+\lambda_{2}\leq n+1$, then $M$ is either
a totally geodesic subsphere (here $|B|^{2}+\lambda_{2}\equiv 0$) or a Calabi
torus (here $|B|^{2}+\lambda_{2}\equiv n+1$). More precisely, let
$M:=S^{n-1}\times S^{1}$, $\phi$ be canonical embedding of $S^{n-1}$ into
${\tenmsb R}^{n}$ and $\gamma(t)=(\gamma_{1}(t),\gamma_{2}(t))$ be a
Legendiran curve given in (3.38), then $F:(x,t)\in S^{n-1}\times
S^{1}\mapsto(\gamma_{1}(t)\phi(x),\gamma_{2}(t))\in{\tenmsb C}^{n+1}$ defines
a compact Legendrian submanifold in $S^{2n+1}$, called a Calabi torus.

According to (2.14), we can rewrite the above theorem as an intrinsic rigidity
conclusion:

######  Corollary 3.11.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$, $R$ be the scalar curvature of $M$ and
$\mu_{1}\leq\mu_{2}\leq\cdots\leq\mu_{n}$ be eigenvalue of the Ricci curvature
tensor. If $n^{2}-n-2\leq R+\mu_{2}\leq n^{2}-1$, then $M$ is either a totally
geodesic subsphere (here $R+\mu_{2}\equiv n^{2}-1$) or a Calabi torus (here
$R+\mu_{2}\equiv n^{2}-n-2$).

##  4 Compact minimal Legendrian submanifolds with $\lambda_{3}\equiv 0$

As showing in §3, For an $n$-dimensional compact minimal Legendrian
submanifold $M\subset S^{2n+1}$, if $|B|^{2}+\lambda_{2}\leq n+1$ and
$\lambda_{n}\equiv 0$, then $M$ has to be totally geodesic. It is natural to
ask whether we can find a larger number $C(k)$ with $k\leq n-1$, such that the
pinching condition $|B|^{2}+\lambda_{2}\leq C(k)$ and $\lambda_{k+1}\equiv 0$
implies $|B|^{2}+\lambda_{2}\equiv 0$ or $|B|^{2}+\lambda_{2}\equiv C(k)$. In
this section, we consider the simplest case of $k=2$. (Since
$\lambda_{2}\equiv 0$, $H\equiv 0$ and the symmetry of $\sigma$ immediately
force $\sigma\equiv 0$.)

###  4.1 The rank of Gauss maps

Let $M^{n}\subset S^{2n+1}$ be a Legendrian submanifold and
$F:M\rightarrow{\tenmsb C}^{n+1}$ be the position vector. Then
$\gamma:M\rightarrow\mathbb{G}_{n+1,n+1}$

$\gamma(p)=N_{p}M=JT_{p}M\oplus{\tenmsb R}JF(p)$ (4.1)

is the Gauss map of $M$ via parallel translation in ${\tenmsb C}^{n+1}$, where
$\mathbb{G}_{n+1,n+1}$ is the Grassmannian manifold consisting of all oriented
$(n+1)$-dimensional subspace of ${\tenmsb R}^{2n+2}={\tenmsb C}^{n+1}$. Using
Plücker coordinates, the Gauss map can be written as

$\gamma=JE_{1}\wedge\cdots\wedge JE_{n}\wedge JF,$ (4.2)

where $\\{E_{1},\cdots,E_{n}\\}$ is an orthonormal frame field on $M$. Thus

$\displaystyle\gamma_{*}X=$ $\displaystyle\sum_{l}JE_{1}\wedge\cdots\wedge
JE_{l-1}\wedge\partial_{X}(JE_{l})\wedge JE_{l+1}\wedge\cdots\wedge
JE_{n}\wedge JF+JE_{1}\wedge\cdots\wedge JE_{n}\wedge\partial_{X}(JF)$ (4.3)
$\displaystyle=$ $\displaystyle-\sum_{l,p}JE_{1}\wedge\cdots\wedge
JE_{l-1}\wedge\sigma(X,E_{l},E_{p})E_{p}\wedge JE_{l+1}\wedge\cdots\wedge
JE_{n}\wedge JF.$

This means $\gamma_{*}X=0$ if and only if $\sigma(X,\cdot,\cdot)=0$ and we
obtain the following conclusion:

######  Proposition 4.12.

For an $n$-dimensional Legendrian submanifold $M$ in $S^{2n+1}$, let
$(S_{ij})$ be the fundamental matrix at $p\in M$, whose eigenvalues are
$\lambda_{1}\geq\cdots\geq\lambda_{k}>0=\lambda_{k+1}=\cdots=\lambda_{n}$,
then the rank of Gauss map $\gamma$ at $p$ equals $k$.

###  4.2 A structure theorem for $3$-dimensional minimal Legendrian
submanifolds

Now we consider compact minimal Legendrian submanifolds with
$\lambda_{3}\equiv 0$. As shown in [10], $M$ has to be totally geodesic
whenever $n\geq 4$. So we only consider the case of $n=3$.

Let

$M^{+}:=\\{p\in M:|B|^{2}(p)\neq 0\\},$ (4.4)

then due to the analyticity, $M^{+}$ is either empty or an open and dense
subset of $M$; The former case means $M$ is totally geodesic, so we just
consider the latter one in the following text.

Let $\gamma:M^{+}\rightarrow\mathbb{G}_{4,4}$ be the Gauss map, which has
constant rank $2$. Hence the image of $\gamma$ is an immersed $2$-dimensional
submanifold of $\mathbb{G}_{4,4}$, and each connected component of any level
set of $\gamma$ has to be a curve, which is called a G-loop. Along an
arbitrary G-loop $\xi$, let $T$ be the unit tangent vector field, and

$\mathcal{D}:=\text{span}\\{X,T\\},\qquad\mathcal{D}^{\bot}:=\\{v\in
TM:\langle v,T\rangle=0\\},$ (4.5)

then it follows that (see [10]):

  * 1.

$B(T,v)=0$ for every $v\in TM$;

  * 2.

$\xi$ is a geodesic of $S^{7}$, i.e. $X$ and $T$ span a fixed subspace
$\mathcal{D}$ of ${\tenmsb R}^{8}$;

  * 3.

$\mathcal{D}^{\bot},J(\mathcal{D}),J(\mathcal{D}^{\bot})$ are all parallel
along $\xi$.

We call $p\sim q$ whenever $p$ and $q$ lies in the same G-loop and denote by

$\Sigma:=M^{+}\backslash\sim=\\{[p]:p\in M^{+}\\}$ (4.6)

the loop space equipped with the quotient topology. Locally,

$[\gamma]:[p]\in\Sigma\mapsto\gamma(p)$ (4.7)

is a one-to-one correspondence between a sufficiently small open subset of
$\Sigma$ and the corresponding open subset of the Gauss image of $M^{+}$.
Thus, $\Sigma$ can be seen as a Riemannian surface, so that $[\gamma]$ is
holomorphic. In other word, the complex structure $J_{0}$ on $\Sigma$
satisfies

$J_{0}(\pi_{*}(E_{1}))=\pi_{*}(E_{2}),$ (4.8)

where $\pi:p\in M\rightarrow[p]\in\Sigma$ and $\\{E_{1},E_{2}\\}$ is an
orientable orthonormal basis of $\mathcal{D}^{\bot}$.

Let

$W:=\frac{\sqrt{2}}{2}(E_{1}-\sqrt{-1}E_{2})$ (4.9)

be a $(1,0)$-vector in $\mathcal{D}^{\bot}\otimes{\tenmsb C}$, then

$\langle W,W\rangle=\langle\overline{W},\overline{W}\rangle=0,\quad\langle
W,\overline{W}\rangle=1,$ (4.10)
$B(W,\overline{W})=\frac{1}{2}(B(E_{1},E_{1})+B(E_{2},E_{2}))=0$ (4.11)

and

$|B(W,W)|^{2}=|B(E_{1},E_{1})-\sqrt{-1}B(E_{1},E_{2})|^{2}=\frac{|B|^{2}}{2}>0.$
(4.12)

On the other hand, $W$ can be seen as a complex vector-valued function on
$\Sigma$, since it is parallel along each G-loop. Let $z$ be a local complex
coordinate of $\Sigma$, we shall calculate $W_{z}$ and $W_{\bar{z}}$.

From (4.8) we know $\pi_{*}W=f\frac{\partial}{\partial z}$ with a complex
function $f$. Since

$\langle\partial_{W}W,F\rangle=-\langle W,\partial_{W}F\rangle=\langle
W,W\rangle=0$

we have

$\langle W_{z},X\rangle=0.$ (4.13)

Differentiating both sides of $B(T,\overline{W})=0$ shows

$\displaystyle 0$
$\displaystyle=\nabla_{W}B(T,\overline{W})=(\nabla_{W}B)(T,\overline{W})+B(\nabla_{W}T,\overline{W})$
$\displaystyle=(\nabla_{T}B)(W,\overline{W})+\langle\nabla_{W}T,W\rangle
B(\overline{W},\overline{W})+\langle\nabla_{W}T,\overline{W}\rangle
B(W,\overline{W})$ $\displaystyle=\langle\nabla_{W}T,W\rangle
B(\overline{W},\overline{W}).$

This implies
$\langle\partial_{W}W,T\rangle=\langle\nabla_{W}W,T\rangle=-\langle\nabla_{W}T,W\rangle=0$
and hence

$\langle W_{z},T\rangle=0.$ (4.14)

Since

$\displaystyle\langle\partial_{W}W,JF\rangle$ $\displaystyle=-\langle
W,\partial_{W}(JF)\rangle=-\langle W,J\partial_{W}F\rangle=-\langle
W,JW\rangle=0,$ $\displaystyle\langle\partial_{W}W,JT\rangle$
$\displaystyle=\langle B(W,W),JT\rangle=\langle B(T,W),JW\rangle=0,$

and

$\langle\partial_{W}W,J\overline{W}\rangle=\langle
B(W,W),J\overline{W}\rangle=\langle B(W,\overline{W}),JW\rangle=0,$

we have

$\langle W_{z},JX\rangle=0,\quad\langle W_{z},JT\rangle=0,\quad\langle
W_{z},JW\rangle=0.$ (4.15)

In conjunction with

$\langle W_{z},W\rangle=\frac{1}{2}\langle W,W\rangle_{z}=0,$ (4.16)

we can write

$W_{z}=hW+\mu J\overline{W}$ (4.17)

with

$h:=\langle W_{z},\overline{W}\rangle,\quad\mu:=\langle W_{z},JW\rangle.$
(4.18)

Note that replacing $W$ by $\hat{W}:=e^{i\theta}W$ with suitable $\theta$
makes sure $\hat{\mu}:=\langle\hat{W}_{z},J\hat{W}\rangle=e^{2i\theta}\langle
W_{z},JW\rangle\in{\tenmsb R}^{+}$. Thereby, we can assume $\mu$ takes
positive real values everywhere.

Combining with (4.11) and
$\pi_{*}\overline{W}=\bar{f}\frac{\partial}{\partial\bar{z}}$ implies
$W_{\bar{z}}$ is a vector field in
$(\mathcal{D}\oplus\mathcal{D}^{\bot})\otimes{\tenmsb C}$. Moreover,

$\langle W_{\bar{z}},W\rangle=\frac{1}{2}\langle W,W\rangle_{\bar{z}}=0,$
(4.19)

and

$\langle W_{\bar{z}},\overline{W}\rangle=-\langle
W,\overline{W}_{\bar{z}}\rangle=-\bar{h}$ (4.20)

imply the existence of $U$ in $\mathcal{D}\otimes{\tenmsb C}$, such that

$W_{\bar{z}}=-\bar{h}W+U.$ (4.21)

A straightforward calculation based on (4.17) and (4.21) shows

$\displaystyle W_{z\bar{z}}$
$\displaystyle=h_{\bar{z}}W+hW_{\bar{z}}+\mu_{\bar{z}}J\overline{W}+\mu
J\overline{W}_{\bar{z}}$ (4.22)
$\displaystyle=(h_{\bar{z}}-\mu^{2}-|h|^{2})W+(\mu_{\bar{z}}+\mu\bar{h})J\overline{W}+hU$

and

$\displaystyle W_{\bar{z}z}$ $\displaystyle=-\bar{h}_{z}W-\bar{h}W_{z}+U_{z}$
(4.23) $\displaystyle=(-\bar{h}_{z}-|h|^{2})W-\mu\bar{h}J\overline{W}+U_{z}.$

In conjunction with

$\langle U_{z},JW\rangle=-\langle U,JW_{z}\rangle=0,$ (4.24)

we have

$\mu_{\bar{z}}+2\mu\bar{h}=0$ (4.25)

and

$U_{z}=(h_{\bar{z}}+\bar{h}_{z}-\mu^{2})W+hU,$ (4.26)

which imply

$(\log\mu)_{\bar{z}}=-2\bar{h},$ (4.27) $\displaystyle\lambda:$
$\displaystyle=\langle U,\overline{U}\rangle=\langle
W_{\bar{z}},\overline{U}\rangle=-\langle W,\overline{U}_{\bar{z}}\rangle$
(4.28)
$\displaystyle=-\bar{h}_{z}-h_{\bar{z}}+\mu^{2}=(\log\mu)_{z\bar{z}}+\mu^{2}$

and

$\langle U,U\rangle_{z}=2\langle U_{z},U\rangle=2h\langle U,U\rangle.$ (4.29)

Combining (4.25) and (4.29) gives

$\left(\mu\langle\overline{U},\overline{U}\rangle\right)_{\bar{z}}=-2\mu\bar{h}\langle\overline{U},\overline{U}\rangle+2\mu\bar{h}\langle\overline{U},\overline{U}\rangle=0.$
(4.30)

Note that

$\Psi:=\mu\langle\overline{U},\overline{U}\rangle dz^{3}=\langle
W_{z},JW\rangle\langle\overline{W}_{z},\overline{W}_{z}\rangle dz^{3}$ (4.31)

is independent of the choice of $W$ and $z$, hence (4.30) means $\Psi$ is a
holomorphic $3$-form globally defined on $\Sigma$.

If $\Psi$ does not vanish everywhere, then we can find an open subset of
$\Sigma$ which admits a complex coordinate $w$, such that $\Psi=dw^{3}=\langle
W_{w},JW\rangle\langle\overline{W}_{w},\overline{W}_{w}\rangle dw^{3}$.
Therefore, without loss of generality we can assume

$\mu\langle\overline{U},\overline{U}\rangle=1$ (4.32)

holds locally. By computing,

$\displaystyle\langle U_{\bar{z}},W\rangle$ $\displaystyle=-\langle
U,W_{\bar{z}}\rangle=-\langle U,U\rangle=-\mu^{-1},$ $\displaystyle\langle
U_{\bar{z}},\overline{W}\rangle$ $\displaystyle=\langle
U,\overline{W}_{\bar{z}}\rangle=0,$ $\displaystyle\langle
U_{z\bar{z}},W\rangle$ $\displaystyle=\langle U_{z},W\rangle_{\bar{z}}-\langle
U_{z},W_{\bar{z}}\rangle=-h\mu^{-1},$ $\displaystyle\langle
U_{\bar{z}z},W\rangle$ $\displaystyle=\langle U_{\bar{z}},W\rangle_{z}-\langle
U_{\bar{z}},W_{z}\rangle=-(\mu^{-1})_{z}-h\mu^{-1}.$

This shows $\mu_{z}=0$, i.e. $\mu$ is constant, then (4.25), (4.26) and (4.28)
implies

$h\equiv 0,\qquad U_{z}=-\mu^{2}W$ (4.33)

and

$\langle U,\overline{U}\rangle=\mu^{2}.$ (4.34)

Differentiating both sides of (4.32) and (4.34), we can derive $\langle
U_{\bar{z}},U\rangle=\langle U_{\bar{z}},\overline{U}\rangle=0$, hence

$U_{\bar{z}}=-\mu^{-1}\overline{W}.$ (4.35)

Comparing $U_{z\bar{z}}=-\mu^{2}W_{\bar{z}}=-\mu^{2}U$ and
$U_{\bar{z}z}=-\mu^{-1}\overline{W}_{z}=-\mu^{-1}\overline{U}$ gives
$\mu\equiv 0$, which causes a contradiction to $\mu>0$.

Therefore $\Psi\equiv 0$, i.e. $\langle U,U\rangle\equiv 0$. Since

$\displaystyle\langle U_{\bar{z}},W\rangle$ $\displaystyle=-\langle
U,W_{\bar{z}}\rangle=-\langle U,U\rangle=0,$ $\displaystyle\langle
U_{\bar{z}},\overline{W}\rangle$ $\displaystyle=\langle
U,\overline{W}_{\bar{z}}\rangle=0,$ $\displaystyle\langle
U_{\bar{z}},U\rangle$ $\displaystyle=\frac{1}{2}\langle
U,U\rangle_{\bar{z}}=0,$ $\displaystyle\langle
U_{\bar{z}},\overline{U}\rangle$ $\displaystyle=\langle
U,\overline{U}\rangle_{\bar{z}}-\langle
U,\overline{U}_{\bar{z}}\rangle=\lambda_{\bar{z}}-\lambda\bar{h},$

we have

$U_{\bar{z}}=\left((\log\lambda)_{\bar{z}}-\bar{h}\right)U.$ (4.36)

Comparing

$U_{z\bar{z}}=(-\lambda
W+hU)_{\bar{z}}=(-\lambda_{\bar{z}}+\lambda\bar{h})W+\left(h_{\bar{z}}-\lambda+h(\log\lambda)_{\bar{z}}-|h|^{2}\right)U$

with

$U_{\bar{z}z}=\left[\left((\log\lambda)_{\bar{z}}-\bar{h}\right)U\right]_{z}=(-\lambda_{\bar{z}}+\lambda\bar{h})W+\left((\log\lambda)_{\bar{z}z}-\bar{h}_{z}+h(\log\lambda)_{\bar{z}}-|h|^{2}\right)U$

yields

$\displaystyle(\log\lambda)_{z\bar{z}}$
$\displaystyle=h_{\bar{z}}+\bar{h}_{z}-\lambda=-(\log\mu)_{z\bar{z}}-\lambda$
(4.37) $\displaystyle=\mu^{2}-2\lambda.$

Via Plücker coordinates, the Gauss map of $M$ can be written as

$\gamma(p)=JX\wedge JT\wedge JE_{1}\wedge JE_{2}=-\sqrt{-1}(JX\wedge JT\wedge
JW\wedge J\overline{W}).$ (4.38)

Thus

$\displaystyle\gamma_{*}\frac{\partial}{\partial z}$
$\displaystyle=-\sqrt{-1}(JX\wedge JT\wedge JW_{z}\wedge
J\overline{W}+JX\wedge JT\wedge JW\wedge J\overline{W}_{z})$ (4.39)
$\displaystyle=\sqrt{-1}\mu JX\wedge JT\wedge\overline{W}\wedge J\overline{W}$

and

$\langle\gamma_{*}\frac{\partial}{\partial
z},\gamma_{*}\frac{\partial}{\partial\bar{z}}\rangle=\mu^{2}.$ (4.40)

This means

$g:=2\mu^{2}|dz|^{2}$ (4.41)

is the induced metric on $\Sigma$, whose corresponding Gauss curvature is

$K_{g}=-\frac{(\log\mu^{2})_{z\bar{z}}}{\mu^{2}}=\frac{2(\mu^{2}-\lambda)}{\mu^{2}}=2-\frac{2\lambda}{\mu^{2}}.$
(4.42)

Noting that $\pi_{*}\overline{W}=\bar{f}\frac{\partial}{\partial\bar{z}}$, we
have

$\displaystyle\langle U,X\rangle=\langle
W_{\bar{z}},X\rangle=\bar{f}^{-1}\langle\partial_{\overline{W}}W,X\rangle$
$\displaystyle=$ $\displaystyle-\bar{f}^{-1}\langle
W,\partial_{\overline{W}}X\rangle=-\bar{f}^{-1}.$

Combining with $\langle U,U\rangle=0$, we can derive
$U=-\bar{f}^{-1}(X+\pm\sqrt{-1}T)$, hence

$\lambda=\langle U,\overline{U}\rangle=2|f|^{-2}$ (4.43)

and

$|B|^{2}=2|B(W,W)|^{2}=2|\langle
B(W,W),JW\rangle|^{2}=2|f\mu|^{2}=\frac{4\mu^{2}}{\lambda}.$ (4.44)

In conjunction with (4.28) and (4.37), we arrive at

$\displaystyle\Delta_{g}\log|B|^{2}$
$\displaystyle=\frac{2}{\mu^{2}}(\log|B|^{2})_{z\bar{z}}=\frac{2}{\mu^{2}}\left(2(\log\mu)_{z\bar{z}}-(\log\lambda)_{z\bar{z}}\right)$
(4.45) $\displaystyle=\frac{8\lambda}{\mu^{2}}-6=\frac{32}{|B|^{2}}-6.$

In summary, we get a structure theorem as follows:

######  Theorem 4.13.

Let $M$ be a minimal Legendrian submanifold in $S^{7}$, such that
$\lambda_{3}=0$ and $|B|^{2}\neq 0$ everywhere. Then the Gauss map $\gamma$ is
a submersion from $M$ onto a $2$-dimensional submanifold $\Sigma$ of
$\mathbb{G}_{4,4}$, the squared norm of the second fundamental form $|B|^{2}$
takes the same value in each fibre, and

$\displaystyle K_{g}$ $\displaystyle=2-\frac{8}{|B|^{2}},$ (4.46)
$\displaystyle\Delta_{g}\log|B|^{2}$ $\displaystyle=\frac{32}{|B|^{2}}-6.$

Here $g$ is the induced metric on $\Sigma$, $K_{g}$ and $\Delta_{g}$ are the
Gauass curvature and the Laplacian operator on $(\Sigma,g)$, respectively.

On the other hand, if $(\Sigma,g)$ is a simply-connected $2$-dimensional
Riemannian manifold, such that $K_{g}<2$ and

$\Delta_{g}\log(2-K_{g})=4K_{g}-2,$ (4.47)

then there exists an isometric immersion
$\psi:\Sigma\rightarrow\mathbb{G}_{4,4}$ and a minimal Legendrian submanifold
$M\subset S^{7}$, such that:

  * 1.

The rank of the Gauss map $\gamma:M\rightarrow\mathbb{G}_{4,4}$ is 2
everywhere (i.e. $\lambda_{3}=0$ and $|B|^{2}\neq 0$ everywhere on $M$);

  * 2.

The image manifold of the Gauss map is just $\Sigma$;

  * 3.

$|B|^{2}\equiv\frac{8}{2-K_{g}}$ on each fibre of $\gamma$.

In conjunction with the results in [7, 18], we establish the following
rigidity theorem:

######  Theorem 4.14.

Let $M$ be an $n$-dimensional compact minimal Legendrian submanifold in
$S^{2n+1}$ with $n\geq 3$, such that $\lambda_{3}\equiv 0$, then

  * 1.

If $n\geq 4$, then $M$ has to be totally geodesic.

  * 2.

If $n=3$ and $|B|^{2}\neq 0$ everywhere, then $M$ is diffeomorphic to $S^{3}$.

  * 3.

If $n=3$ and $|B|^{2}\leq\frac{16}{3}$, then $M$ is either totally geodesic or
$|B|^{2}\equiv\frac{16}{3}$ (i.e. $|B|^{2}+\lambda_{2}\equiv 8$). For the
latter case, $M=S^{3}=\\{(z,w)\in{\tenmsb C}^{2}:|z|^{2}+|w|^{2}=1\\}$ and
$F:M\rightarrow{\tenmsb C}^{4}$ is given as

$F(z,w)=(z^{3}+3z\bar{w}^{2},\sqrt{3}(z^{2}w+w\bar{w}^{2}-2z\bar{z}\bar{w}),\sqrt{3}(zw^{2}+z\bar{z}^{2}-2w\bar{z}\bar{w}),w^{3}+3w\bar{z}^{2}).$

  * 4.

If $n=3$ and $|B|^{2}\geq\frac{16}{3}$, then $|B|^{2}\equiv\frac{16}{3}$.

## References

  * [1] D. E. Blair and K. Ogiue: Geometry of integral submanifolds of a contact distribution. Illinois J. Math. 19(1975), 269-276.
  * [2] D. E. Blair and K. Ogiue: Positively curved integral submanifolds of a contact distribution. Illinois J. Math. 19(1975), 628-631.
  * [3] I. Castro, H. Z. Li and F. Urbano: Hamiltonian-minimal Lagrangian submanifolds in complex space forms. Pacific J. Math. 227(2006), 43-63.
  * [4] S. P. Chang: On minimal hypersurfaces with constant scalar curvatures in $S^{4}$. J. Diff. Geom. 37(1993), 523-534.
  * [5] B. Y. Chen and K. Ogiue: On totally real submanifolds. Tran. Amer. Math. Soc. 193(1974), 257-266.
  * [6] Q. Chen and S. L. Xu: Rigidity of compact minimal submanifolds in a unit sphere. Geom. Dedi. 45(1993), 83-88.
  * [7] B. Y. Chen, F. Dillen, L. Verstraelen and L. Vrancken: An exotic totally real minimal immersion of $S^{3}$ in ${CP}^{3}$ and its characterisation. Proc. Roy. Soc. Edinburgh Sect. A 126(1996), 153-165.
  * [8] S. S. Chern: Minimal submanifolds in a Riemannian manifold. University of Kansas, Department of Mathematics Technical Report 19, Univ. of Kansas, Lawrence, Kan., 1968.
  * [9] S. S. Chern, M. Do Carmo and S. Kobayashi: Minimal submanifolds of a sphere with second fundamental form of constant length. Functional Analysis and Related Fields, Springer-Verlag, Berlin, 1970, 59-75.
  * [10] M. Dajczer, Th. Kasioumis, A. Savas-Halilaj and Th. Vlachos: Complete minimal submanifolds with nullity in Euclidean spheres. Comment Math. Helv. 93(2018), 645-660.
  * [11] F. Dillen and L. Vrancken: C-totally real submanifolds of Sasakian space forms. J. Math. Pures Appl. 69(1990), 85-93.
  * [12] Q. Ding and Y. L. Xin: On Chern’s problem for rigidity of minimal hypersurfaces in the spheres. Adv. Math. 227(2011), 131-145.
  * [13] H. Gauchman: Pinching theorems for totally real minimal submanifolds of $CP^{n}(c)$. Tohoku J. Math. 41(1989), 249-257.
  * [14] B. Lawson: Local rigidity theorems for minimal hypersurfaces. Ann. Math. 89 (1969), 187-197.
  * [15] L. Lei, H. W. Xu and Z. Y. Xu: On the generalized Chern conjecture for hypersurfaces with constant mean curvature in a sphere. Sci. China. Math. 64(2021), 1493-1504.
  * [16] A. M. Li and J. M. Li: An intrinsic rigidity theorem for minimal submanifolds in a sphere. Arch. Math. 58(1992), 582-594.
  * [17] H. Z. Li and X. F. Wang: Calabi product Lagrangian immersions in complex projective space and complex hyperbolic space. Results in Math. 59(2011), 453-470.
  * [18] Z. Q. Li and Y. Q. Tao: Equivariant Lagrangian minimal $S^{3}$ in ${CP}^{3}$. Acta Math. Sin. (Eng. Ser.) 22(2006), 1215-1220.
  * [19] Z. Q. Lu: Normal scalar curvature conjecture and its applications. J. Func. Anal. 261(2011), 1284-1308.
  * [20] Y. Luo and L. L. Sun: Rigidity of closed CSL submanifolds in the unit sphere. Ann. Inst. H. Poincaré C Anal. Non Linéaire 40(2023), 531-555.
  * [21] Y. Luo, L. L. Sun and J. B. Yin: An optimal pinching theorem of minimal Legendrian submanifolds in the unit sphere. Calc. Var. PDE 61(2022), 1-18.
  * [22] S. Montiel, A. Ros and F. Urbano: Curvature pinching and eigenvalue rigidity for minimal submanifolds. Math. Z. 191(1986), 537-548.
  * [23] H. Naitoh: Isotropic submanifolds with parallel second fundamental form in $P^{m}(c)$. Osaka J. Math. 18(1981), 427-464.
  * [24] H. Naitoh and M. Takeuchi: Totally real submanifolds and symmetric bounded domains. Osaka J. Math. 19(1982), 717-731.
  * [25] K. Ogiue: Positively curved totally real minimal submanifolds immersed in a complex projective space. Proc. Amer. Math. Soc. 56(1976), 264-266.
  * [26] C. K. Peng and C. L. Terng: Minimal hypersurfaces of sphere with constant scalar curvature. Ann. Math. Stud. 103, Princeton Univ. Press, Princeton, NJ, 1983, 177-198.
  * [27] C. K. Peng and C. L. Terng: The Scalar curvature of minimal hypersurfaces in spheres. Math. Ann. 266(1983), 105-113.
  * [28] J. Simons: Minimal varieties in riemannian manifolds. Ann. Math. 88(1968), 62-105.
  * [29] Y. J. Suh and H. Y. Yang: The scalar curvature of minimal hypersurfaces in a unit sphere. Comm. Cont. Math. 9(2007), 183-200.
  * [30] F. Urbano: Totally real minimal submanifolds of a complex projective space. Proc. Amer. Math. Soc. 93(1985), 332-334.
  * [31] S. M. Wei and H. W. Xu: Scalar curvature of minimal hypersurfaces in a sphere. Math. Res. Lett. 14(2007), 423-432.
  * [32] P. Y. Wu: First eigenvalue characterization of Clifford hypersurfaces and Veronese surfaces. arXiv: 2403.01138.
  * [33] C. Xia: Minimal submanifolds with bounded second fundamental form. Math. Z. 208(1991), 537-543.
  * [34] Y. L. Xin: Minimal submanifolds and related topics. Nankai Tracts in Math. Vol. 8, World Sci. Pub. Co., Inc., River Edge, NJ, 2003.
  * [35] H. W. Xu and Z. Y. Xu: On Chern’s conjecture for minimal hypersurfaces and rigidity of self-shrinkers. J. Func. Anal. 273(2017), 3406-3425.
  * [36] S. Yamaguchi, M. Kon and Y. Miyahara: A Theorem on C-totally real minimal surface. Proc. Amer. Math. Soc. 54(1976), 276-280.
  * [37] H. C. Yang and Q. M. Cheng: A note on the pinching constant of minimal hypersurfaces with constant scalar curvature in the unit sphere. Kexue Tongbao, 35(1990), 167-170; Chin. Sci. Bull. 36(1991), 1-6.
  * [38] H. C. Yang and Q. M. Cheng: An estimate of the pinching constant of minimal hypersurfaces with constant scalar curvature in the unit sphere. Manu. Math. 84(1994), 89-100.
  * [39] H. C. Yang and Q. M. Cheng: Chern’s conjecture on minimal hypersurfaces. Math. Z. 227 (1998), 377-390.
  * [40] S. T. Yau: Problem section, In: Seminar on Differential Geometry, Ann. Math. Stud. 102, Princeton Univ. Press, Princeton, NJ, 1982, 669-706.
  * [41] S. T. Yau: Submanifolds with constant mean curvature I. Amer. J. Math. 96(1974), 346-366.
  * [42] S. T. Yau: Submanifolds with constant mean curvature II. Amer. J. Math. 97(1975), 76-100.
  * [43] Q. Zhang: The pinching constant of minimal hypersurfaces in the unit spheres. Proc. Amer. Math. Soc. 138(2010), 1833-1841.